# HG changeset patch # User Matt Johnston # Date 1643104625 -28800 # Node ID ed3326f218883822090560aebca9a22573eb1297 # Parent 6022df86294264accd92aa458c7c8d3d2f19cee3 Test for IP_TOS and hardcode DSCP values This allows it to work on macos too diff -r 6022df862942 -r ed3326f21888 netio.c --- a/netio.c Tue Jan 25 17:32:20 2022 +0800 +++ b/netio.c Tue Jan 25 17:57:05 2022 +0800 @@ -374,7 +374,7 @@ /* Don't log ENOTSOCK errors so that this can harmlessly be called * on a client '-J' proxy pipe */ -#ifdef IPTOS_DSCP_AF21 +#ifdef IP_TOS /* Set the DSCP field for outbound IP packet priority. rfc4594 has some guidance to meanings. @@ -388,11 +388,14 @@ Old Dropbear/OpenSSH and Debian/Ubuntu OpenSSH (at Jan 2022) use IPTOS_LOWDELAY/IPTOS_THROUGHPUT + + DSCP constants are from Linux headers, applicable to other platforms + such as macos. */ if (prio == DROPBEAR_PRIO_LOWDELAY) { - val = IPTOS_DSCP_AF21; + val = 0x48; /* IPTOS_DSCP_AF21 */ } else if (prio == DROPBEAR_PRIO_BULK) { - val = IPTOS_DSCP_AF11; + val = 0x28; /* IPTOS_DSCP_AF11; */ } else { val = 0; /* default */ } @@ -406,7 +409,7 @@ if (rc < 0 && errno != ENOTSOCK) { TRACE(("Couldn't set IP_TOS (%s)", strerror(errno))); } -#endif +#endif /* IP_TOS */ #ifdef HAVE_LINUX_PKT_SCHED_H /* Set scheduling priority within the local Linux network stack */