summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1995-07-08 16:34:55 +0000
committerjoerg <joerg@FreeBSD.org>1995-07-08 16:34:55 +0000
commitfd179c3a952dff2a6d1d18fc96ca320ba8585ce8 (patch)
tree1acb18776dfa19a6886c9691c5e301542cafc111 /sys
parentedb68238d81d91f89fe994bba7d75d21a6737ab2 (diff)
downloadFreeBSD-src-fd179c3a952dff2a6d1d18fc96ca320ba8585ce8.zip
FreeBSD-src-fd179c3a952dff2a6d1d18fc96ca320ba8585ce8.tar.gz
PR #kern/600: PPP does not pay attention to IPTOS_LOWDELAY
Kernel PPP doesn't pay attention to IPTOS_LOWDELAY, but uses a table of port numbers, which isn't a generic method. The following patch fixes this (the table is still used, but in addition PPP queues the packet in fastq if IPTOS_LOWDELAY is set. Obtained from: Tatu Ylonen <ylo@cs.hut.fi> Submitted by: Heikki Suonsivu <hsu@clinet.fi>
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_ppp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 8cf302d..3b6ca66 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -69,7 +69,7 @@
* Paul Mackerras (paulus@cs.anu.edu.au).
*/
-/* $Id: if_ppp.c,v 1.13.2.1 1995/06/04 16:12:49 davidg Exp $ */
+/* $Id: if_ppp.c,v 1.14 1995/06/11 19:31:41 rgrimes Exp $ */
/* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */
#include "ppp.h"
@@ -680,6 +680,15 @@ pppoutput(ifp, m0, dst, rt)
if (INTERACTIVE(p & 0xffff) || INTERACTIVE(p >> 16))
ifq = &sc->sc_fastq;
}
+
+ /*
+ * Most high-priority services set IPTOS_LOWDELAY. This is a much more
+ * generic mechanism than specific port numbers. This same mechanism
+ * is used by slip.
+ */
+ if (ip->ip_tos & IPTOS_LOWDELAY)
+ ifq = &sc->sc_fastq;
+
break;
#endif
#ifdef NS
OpenPOWER on IntegriCloud