From: Stefan Sperling Subject: Re: now with DSCP_VA (was Re: update ieee80211_classify() for more responsive SSH) To: Peter Hessler Cc: tech@openbsd.org Date: Thu, 4 Dec 2025 13:00:06 +0100 On Wed, Dec 03, 2025 at 08:21:01PM +0100, Peter Hessler wrote: > On 2025 Dec 03 (Wed) at 16:54:33 +0100 (+0100), Stefan Sperling wrote: > :The RFC mentions DSCP_VA, 0x2c, which we do not define yet. > :For now, I have added this value in a comment only. > > Here's an implementation of DSCP_VA, very lightly tested. I verified the > value with the IANA assignment. For sort-order I did alpha sort in the > DSCP groups. > > I left the wifi part alone to not conflict with your patch. > > For testing, remember to "make includes" after patching. > > OK? Looks ok to me. I cannot find any other references to IPTOS_DSCP than these. > Index: sys/netinet/ip.h > =================================================================== > RCS file: /cvs/openbsd/src/sys/netinet/ip.h,v > diff -u -p -u -p -r1.20 ip.h > --- sys/netinet/ip.h 14 Dec 2021 23:47:36 -0000 1.20 > +++ sys/netinet/ip.h 3 Dec 2025 16:43:53 -0000 > @@ -103,6 +103,7 @@ struct ip { > #define IPTOS_DSCP_LE 0x04 > #define IPTOS_DSCP_CS1 0x20 > #define IPTOS_DSCP_AF11 0x28 > +#define IPTOS_DSCP_VA 0x2c > #define IPTOS_DSCP_AF12 0x30 > #define IPTOS_DSCP_AF13 0x38 > #define IPTOS_DSCP_CS2 0x40 > > > Index: sbin/pfctl/parse.y > =================================================================== > RCS file: /cvs/openbsd/src/sbin/pfctl/parse.y,v > diff -u -p -u -p -r1.720 parse.y > --- sbin/pfctl/parse.y 11 Nov 2025 04:06:20 -0000 1.720 > +++ sbin/pfctl/parse.y 3 Dec 2025 19:05:09 -0000 > @@ -6347,6 +6347,7 @@ map_tos(char *s, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > Index: sbin/ping/ping.c > =================================================================== > RCS file: /cvs/openbsd/src/sbin/ping/ping.c,v > diff -u -p -u -p -r1.249 ping.c > --- sbin/ping/ping.c 23 Apr 2024 13:34:50 -0000 1.249 > +++ sbin/ping/ping.c 3 Dec 2025 19:14:55 -0000 > @@ -1822,6 +1822,7 @@ map_tos(char *key, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > Index: usr.bin/nc/netcat.c > =================================================================== > RCS file: /cvs/openbsd/src/usr.bin/nc/netcat.c,v > diff -u -p -u -p -r1.235 netcat.c > --- usr.bin/nc/netcat.c 11 Oct 2025 15:46:06 -0000 1.235 > +++ usr.bin/nc/netcat.c 3 Dec 2025 19:13:27 -0000 > @@ -1650,6 +1650,7 @@ process_tos_opt(char *s, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > Index: usr.bin/ssh/misc.c > =================================================================== > RCS file: /cvs/openbsd/src/usr.bin/ssh/misc.c,v > diff -u -p -u -p -r1.209 misc.c > --- usr.bin/ssh/misc.c 6 Nov 2025 01:31:11 -0000 1.209 > +++ usr.bin/ssh/misc.c 3 Dec 2025 19:03:38 -0000 > @@ -1853,6 +1853,7 @@ static const struct { > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > { "le", IPTOS_DSCP_LE }, > + { "va", IPTOS_DSCP_VA }, > { "lowdelay", INT_MIN }, /* deprecated */ > { "throughput", INT_MIN }, /* deprecated */ > { "reliability", INT_MIN }, /* deprecated */ > Index: usr.bin/tcpbench/tcpbench.c > =================================================================== > RCS file: /cvs/openbsd/src/usr.bin/tcpbench/tcpbench.c,v > diff -u -p -u -p -r1.74 tcpbench.c > --- usr.bin/tcpbench/tcpbench.c 26 Nov 2025 07:27:13 -0000 1.74 > +++ usr.bin/tcpbench/tcpbench.c 3 Dec 2025 19:13:17 -0000 > @@ -1023,6 +1023,7 @@ map_tos(char *s, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > Index: usr.sbin/bgpd/parse.y > =================================================================== > RCS file: /cvs/openbsd/src/usr.sbin/bgpd/parse.y,v > diff -u -p -u -p -r1.485 parse.y > --- usr.sbin/bgpd/parse.y 4 Nov 2025 10:47:25 -0000 1.485 > +++ usr.sbin/bgpd/parse.y 3 Dec 2025 19:05:27 -0000 > @@ -5593,6 +5593,7 @@ map_tos(char *s, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > Index: usr.sbin/traceroute/worker.c > =================================================================== > RCS file: /cvs/openbsd/src/usr.sbin/traceroute/worker.c,v > diff -u -p -u -p -r1.8 worker.c > --- usr.sbin/traceroute/worker.c 3 Sep 2021 09:13:00 -0000 1.8 > +++ usr.sbin/traceroute/worker.c 3 Dec 2025 19:13:08 -0000 > @@ -993,6 +993,7 @@ map_tos(char *s, int *val) > { "cs6", IPTOS_DSCP_CS6 }, > { "cs7", IPTOS_DSCP_CS7 }, > { "ef", IPTOS_DSCP_EF }, > + { "va", IPTOS_DSCP_VA }, > { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, > { "lowdelay", IPTOS_LOWDELAY }, > { "netcontrol", IPTOS_PREC_NETCONTROL }, > > > > -- > Law of Probable Dispersal: > Whatever it is that hits the fan will not be evenly distributed. > >