diff options
author | joerg <joerg@FreeBSD.org> | 1995-07-08 16:34:55 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1995-07-08 16:34:55 +0000 |
commit | fd179c3a952dff2a6d1d18fc96ca320ba8585ce8 (patch) | |
tree | 1acb18776dfa19a6886c9691c5e301542cafc111 /sys/net | |
parent | edb68238d81d91f89fe994bba7d75d21a6737ab2 (diff) | |
download | FreeBSD-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/net')
-rw-r--r-- | sys/net/if_ppp.c | 11 |
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 |