diff options
-rw-r--r-- | sys/net/if_ppp.c | 4 | ||||
-rw-r--r-- | sys/net/if_sl.c | 4 | ||||
-rw-r--r-- | sys/net/if_spppsubr.c | 4 | ||||
-rw-r--r-- | sys/net/if_strip.c | 4 | ||||
-rw-r--r-- | sys/net/if_tun.c | 4 |
5 files changed, 15 insertions, 5 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c index 3136933c161..e6a45a02671 100644 --- a/sys/net/if_ppp.c +++ b/sys/net/if_ppp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ppp.c,v 1.40 2003/12/16 20:33:25 markus Exp $ */ +/* $OpenBSD: if_ppp.c,v 1.41 2004/04/25 18:50:01 henning Exp $ */ /* $NetBSD: if_ppp.c,v 1.39 1997/05/17 21:11:59 christos Exp $ */ /* @@ -1533,6 +1533,8 @@ ppp_inproc(sc, m) if (sc->sc_flags & SC_DEBUG) printf("%s: input queue full\n", ifp->if_xname); ifp->if_iqdrops++; + if (!inq->ifq_congestion) + if_congestion(inq); goto bad; } IF_ENQUEUE(inq, m); diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c index ade74e7a9a7..9d3f6425b93 100644 --- a/sys/net/if_sl.c +++ b/sys/net/if_sl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_sl.c,v 1.26 2003/12/16 20:33:25 markus Exp $ */ +/* $OpenBSD: if_sl.c,v 1.27 2004/04/25 18:50:01 henning Exp $ */ /* $NetBSD: if_sl.c,v 1.39.4.1 1996/06/02 16:26:31 thorpej Exp $ */ /* @@ -883,6 +883,8 @@ slinput(c, tp) sc->sc_if.if_ierrors++; sc->sc_if.if_iqdrops++; m_freem(m); + if (!ipintrq.ifq_congestion) + if_congestion(&ipintrq); } else { IF_ENQUEUE(&ipintrq, m); schednetisr(NETISR_IP); diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index c793012301a..8eca76c7b0a 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_spppsubr.c,v 1.19 2004/01/03 14:08:53 espie Exp $ */ +/* $OpenBSD: if_spppsubr.c,v 1.20 2004/04/25 18:50:01 henning Exp $ */ /* * Synchronous PPP/Cisco link level subroutines. * Keepalive protocol implemented in both Cisco and PPP modes. @@ -636,6 +636,8 @@ sppp_input(struct ifnet *ifp, struct mbuf *m) if (debug) log(LOG_DEBUG, SPP_FMT "protocol queue overflow\n", SPP_ARGS(ifp)); + if (!inq->ifq_congestion) + if_congestion(inq); goto drop; } IF_ENQUEUE(inq, m); diff --git a/sys/net/if_strip.c b/sys/net/if_strip.c index e0f0d350e8b..34984c4a50a 100644 --- a/sys/net/if_strip.c +++ b/sys/net/if_strip.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_strip.c,v 1.27 2003/12/10 07:22:42 itojun Exp $ */ +/* $OpenBSD: if_strip.c,v 1.28 2004/04/25 18:50:01 henning Exp $ */ /* $NetBSD: if_strip.c,v 1.2.4.3 1996/08/03 00:58:32 jtc Exp $ */ /* from: NetBSD: if_sl.c,v 1.38 1996/02/13 22:00:23 christos Exp $ */ @@ -1266,6 +1266,8 @@ stripinput(c, tp) IF_DROP(&ipintrq); sc->sc_if.if_ierrors++; sc->sc_if.if_iqdrops++; + if (!ipintrq.ifq_congestion) + if_congestion(&ipintrq); m_freem(m); } else { IF_ENQUEUE(&ipintrq, m); diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index c5e40909ca1..3be0d6ae64b 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_tun.c,v 1.58 2004/03/02 23:09:29 markus Exp $ */ +/* $OpenBSD: if_tun.c,v 1.59 2004/04/25 18:50:01 henning Exp $ */ /* $NetBSD: if_tun.c,v 1.24 1996/05/07 02:40:48 thorpej Exp $ */ /* @@ -807,6 +807,8 @@ tunwrite(dev, uio, ioflag) splx(s); ifp->if_collisions++; m_freem(top); + if (!ifq->ifq_congestion) + if_congestion(ifq); return ENOBUFS; } IF_ENQUEUE(ifq, top); |