summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/net/if_ppp.c4
-rw-r--r--sys/net/if_sl.c4
-rw-r--r--sys/net/if_spppsubr.c4
-rw-r--r--sys/net/if_strip.c4
-rw-r--r--sys/net/if_tun.c4
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);