Module Name: src
Committed By: msaitoh
Date: Thu May 15 09:23:03 UTC 2014
Modified Files:
src/sys/net: if_ppp.c if_spppsubr.c if_tokensubr.c
Log Message:
Save a NETISR_* value in a variable and call schednetisr() after enqueue
a packet for readability and future modification.
To generate a diff of this commit:
cvs rdiff -u -r1.141 -r1.142 src/sys/net/if_ppp.c
cvs rdiff -u -r1.127 -r1.128 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.62 -r1.63 src/sys/net/if_tokensubr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/if_ppp.c
diff -u src/sys/net/if_ppp.c:1.141 src/sys/net/if_ppp.c:1.142
--- src/sys/net/if_ppp.c:1.141 Wed Sep 18 23:34:55 2013
+++ src/sys/net/if_ppp.c Thu May 15 09:23:03 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ppp.c,v 1.141 2013/09/18 23:34:55 rmind Exp $ */
+/* $NetBSD: if_ppp.c,v 1.142 2014/05/15 09:23:03 msaitoh Exp $ */
/* Id: if_ppp.c,v 1.6 1997/03/04 03:33:00 paulus Exp */
/*
@@ -102,7 +102,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ppp.c,v 1.141 2013/09/18 23:34:55 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ppp.c,v 1.142 2014/05/15 09:23:03 msaitoh Exp $");
#include "ppp.h"
@@ -1395,6 +1395,7 @@ ppp_inproc(struct ppp_softc *sc, struct
int s, ilen, proto, rv;
u_char *cp, adrs, ctrl;
struct mbuf *mp, *dmp = NULL;
+ int isr = 0;
#ifdef VJC
int xlen;
u_char *iphdr;
@@ -1625,7 +1626,7 @@ ppp_inproc(struct ppp_softc *sc, struct
if (ipflow_fastforward(m))
return;
#endif
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
inq = &ipintrq;
break;
#endif
@@ -1648,7 +1649,7 @@ ppp_inproc(struct ppp_softc *sc, struct
if (ip6flow_fastforward(&m))
return;
#endif
- schednetisr(NETISR_IPV6);
+ isr = NETISR_IPV6;
inq = &ip6intrq;
break;
#endif
@@ -1675,6 +1676,7 @@ ppp_inproc(struct ppp_softc *sc, struct
goto bad;
}
IF_ENQUEUE(inq, m);
+ schednetisr(isr);
splx(s);
ifp->if_ipackets++;
ifp->if_ibytes += ilen;
Index: src/sys/net/if_spppsubr.c
diff -u src/sys/net/if_spppsubr.c:1.127 src/sys/net/if_spppsubr.c:1.128
--- src/sys/net/if_spppsubr.c:1.127 Sat Jun 29 21:06:58 2013
+++ src/sys/net/if_spppsubr.c Thu May 15 09:23:03 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_spppsubr.c,v 1.127 2013/06/29 21:06:58 rmind Exp $ */
+/* $NetBSD: if_spppsubr.c,v 1.128 2014/05/15 09:23:03 msaitoh Exp $ */
/*
* Synchronous PPP/Cisco link level subroutines.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.127 2013/06/29 21:06:58 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.128 2014/05/15 09:23:03 msaitoh Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -471,6 +471,7 @@ sppp_input(struct ifnet *ifp, struct mbu
int s;
struct sppp *sp = (struct sppp *)ifp;
int debug = ifp->if_flags & IFF_DEBUG;
+ int isr = 0;
if (ifp->if_flags & IFF_UP) {
/* Count received bytes, add hardware framing */
@@ -538,19 +539,19 @@ sppp_input(struct ifnet *ifp, struct mbu
return;
#ifdef INET
case ETHERTYPE_IP:
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
inq = &ipintrq;
break;
#endif
#ifdef INET6
case ETHERTYPE_IPV6:
- schednetisr(NETISR_IPV6);
+ isr = NETISR_IPV6;
inq = &ip6intrq;
break;
#endif
#ifdef IPX
case ETHERTYPE_IPX:
- schednetisr(NETISR_IPX);
+ isr = NETISR_IPX;
inq = &ipxintrq;
break;
#endif
@@ -605,7 +606,7 @@ sppp_input(struct ifnet *ifp, struct mbu
return;
case PPP_IP:
if (sp->state[IDX_IPCP] == STATE_OPENED) {
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
inq = &ipintrq;
sp->pp_last_activity = time_uptime;
}
@@ -620,7 +621,7 @@ sppp_input(struct ifnet *ifp, struct mbu
case PPP_IPV6:
if (sp->state[IDX_IPV6CP] == STATE_OPENED) {
- schednetisr(NETISR_IPV6);
+ isr = NETISR_IPV6;
inq = &ip6intrq;
sp->pp_last_activity = time_uptime;
}
@@ -630,7 +631,7 @@ sppp_input(struct ifnet *ifp, struct mbu
case PPP_IPX:
/* IPX IPXCP not implemented yet */
if (sp->pp_phase == SPPP_PHASE_NETWORK) {
- schednetisr(NETISR_IPX);
+ isr = NETISR_IPX;
inq = &ipxintrq;
}
break;
@@ -653,6 +654,7 @@ queue_pkt:
goto drop;
}
IF_ENQUEUE(inq, m);
+ schednetisr(isr);
splx(s);
}
Index: src/sys/net/if_tokensubr.c
diff -u src/sys/net/if_tokensubr.c:1.62 src/sys/net/if_tokensubr.c:1.63
--- src/sys/net/if_tokensubr.c:1.62 Fri Mar 1 18:25:57 2013
+++ src/sys/net/if_tokensubr.c Thu May 15 09:23:03 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_tokensubr.c,v 1.62 2013/03/01 18:25:57 joerg Exp $ */
+/* $NetBSD: if_tokensubr.c,v 1.63 2014/05/15 09:23:03 msaitoh Exp $ */
/*
* Copyright (c) 1982, 1989, 1993
@@ -92,7 +92,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_tokensubr.c,v 1.62 2013/03/01 18:25:57 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_tokensubr.c,v 1.63 2014/05/15 09:23:03 msaitoh Exp $");
#include "opt_inet.h"
#include "opt_atalk.h"
@@ -421,6 +421,7 @@ token_input(struct ifnet *ifp, struct mb
struct llc *l;
struct token_header *trh;
int s, lan_hdr_len;
+ int isr = 0;
if ((ifp->if_flags & IFF_UP) == 0) {
m_freem(m);
@@ -472,18 +473,18 @@ token_input(struct ifnet *ifp, struct mb
switch (etype) {
#ifdef INET
case ETHERTYPE_IP:
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
inq = &ipintrq;
break;
case ETHERTYPE_ARP:
- schednetisr(NETISR_ARP);
+ isr = NETISR_ARP;
inq = &arpintrq;
break;
#endif
#ifdef DECNET
case ETHERTYPE_DECNET:
- schednetisr(NETISR_DECNET);
+ isr = NETISR_DECNET;
inq = &decnetintrq;
break;
#endif
@@ -512,9 +513,10 @@ token_input(struct ifnet *ifp, struct mb
if (IF_QFULL(inq)) {
IF_DROP(inq);
m_freem(m);
- }
- else
+ } else {
IF_ENQUEUE(inq, m);
+ schednetisr(isr);
+ }
splx(s);
}