diff options
author | brooks <brooks@FreeBSD.org> | 2001-12-03 17:28:27 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2001-12-03 17:28:27 +0000 |
commit | 8b6f6e9487a28169a664f628114a3cf9a1de1819 (patch) | |
tree | 3ec2b2e029e880f02c5d9088938736698a408ac5 /sys | |
parent | b5de44291122e0fc2bf68540749f66b3992d3ea2 (diff) | |
download | FreeBSD-src-8b6f6e9487a28169a664f628114a3cf9a1de1819.zip FreeBSD-src-8b6f6e9487a28169a664f628114a3cf9a1de1819.tar.gz |
Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the
mbuf instead.
Suggested by: fenner
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/bge/if_bge.c | 2 | ||||
-rw-r--r-- | sys/dev/gx/if_gx.c | 2 | ||||
-rw-r--r-- | sys/dev/nge/if_nge.c | 2 | ||||
-rw-r--r-- | sys/dev/ti/if_ti.c | 2 | ||||
-rw-r--r-- | sys/dev/txp/if_txp.c | 2 | ||||
-rw-r--r-- | sys/net/ethernet.h | 20 | ||||
-rw-r--r-- | sys/net/if_ethersubr.c | 2 | ||||
-rw-r--r-- | sys/pci/if_ti.c | 2 |
8 files changed, 17 insertions, 17 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 0d05f64..d9c87f2 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -1906,7 +1906,7 @@ bge_rxeof(sc) * to vlan_input() instead of ether_input(). */ if (have_tag) { - VLAN_INPUT_TAG(ifp, eh, m, vlan_tag); + VLAN_INPUT_TAG(eh, m, vlan_tag); have_tag = vlan_tag = 0; continue; } diff --git a/sys/dev/gx/if_gx.c b/sys/dev/gx/if_gx.c index a8fd776..0e44a73 100644 --- a/sys/dev/gx/if_gx.c +++ b/sys/dev/gx/if_gx.c @@ -1318,7 +1318,7 @@ gx_rxeof(struct gx_softc *gx) * to vlan_input() instead of ether_input(). */ if (staterr & GX_RXSTAT_VLAN_PKT) { - VLAN_INPUT_TAG(ifp, eh, m, rx->rx_special); + VLAN_INPUT_TAG(eh, m, rx->rx_special); continue; } ether_input(ifp, eh, m); diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index 658df7f..429bc32 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -1337,7 +1337,7 @@ static void nge_rxeof(sc) * to vlan_input() instead of ether_input(). */ if (extsts & NGE_RXEXTSTS_VLANPKT) { - VLAN_INPUT_TAG(ifp, eh, m, extsts & NGE_RXEXTSTS_VTCI); + VLAN_INPUT_TAG(eh, m, extsts & NGE_RXEXTSTS_VTCI); continue; } diff --git a/sys/dev/ti/if_ti.c b/sys/dev/ti/if_ti.c index eda9eec..98b9b64 100644 --- a/sys/dev/ti/if_ti.c +++ b/sys/dev/ti/if_ti.c @@ -1808,7 +1808,7 @@ static void ti_rxeof(sc) * to vlan_input() instead of ether_input(). */ if (have_tag) { - VLAN_INPUT_TAG(ifp, eh, m, vlan_tag); + VLAN_INPUT_TAG(eh, m, vlan_tag); have_tag = vlan_tag = 0; continue; } diff --git a/sys/dev/txp/if_txp.c b/sys/dev/txp/if_txp.c index 68f2421..7491cba 100644 --- a/sys/dev/txp/if_txp.c +++ b/sys/dev/txp/if_txp.c @@ -805,7 +805,7 @@ txp_rx_reclaim(sc, r) m_adj(m, sizeof(struct ether_header)); if (rxd->rx_stat & RX_STAT_VLAN) { - VLAN_INPUT_TAG(ifp, eh, m, htons(rxd->rx_vlan >> 16)); + VLAN_INPUT_TAG(eh, m, htons(rxd->rx_vlan >> 16)); goto next; } diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index b5a0fae..7380e31 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -102,35 +102,35 @@ extern void (*ng_ether_detach_p)(struct ifnet *ifp); extern int (*vlan_input_p)(struct ether_header *eh, struct mbuf *m); extern int (*vlan_input_tag_p)(struct ether_header *eh, struct mbuf *m, u_int16_t t); -#define _VLAN_INPUT(ifp, eh, m) do { \ +#define _VLAN_INPUT(eh, m) do { \ if (vlan_input_p != NULL) { \ if ((*vlan_input_p)(eh, m) == -1) \ - (ifp)->if_noproto++; \ + (m)->m_pkthdr.rcvif->if_noproto++; \ } else { \ m_free(m); \ - (ifp)->if_noproto++; \ + (m)->m_pkthdr.rcvif->if_noproto++; \ } \ } while (0) -#define VLAN_INPUT(ifp, eh, m) do { \ +#define VLAN_INPUT(eh, m) do { \ /* XXX: lock */ \ - _VLAN_INPUT(ifp, eh, m); \ + _VLAN_INPUT(eh, m); \ /* XXX: unlock */ \ } while (0) -#define _VLAN_INPUT_TAG(ifp, eh, m, t) do { \ +#define _VLAN_INPUT_TAG(eh, m, t) do { \ if (vlan_input_tag_p != NULL) { \ if ((*vlan_input_tag_p)(eh, m, t) == -1) \ - (ifp)->if_noproto++; \ + (m)->m_pkthdr.rcvif->if_noproto++; \ } else { \ m_free(m); \ - (ifp)->if_noproto++; \ + (m)->m_pkthdr.rcvif->if_noproto++; \ } \ } while (0) -#define VLAN_INPUT_TAG(ifp, eh, m, t) do { \ +#define VLAN_INPUT_TAG(eh, m, t) do { \ /* XXX: lock */ \ - _VLAN_INPUT_TAG(ifp, eh, m, t); \ + _VLAN_INPUT_TAG(eh, m, t); \ /* XXX: unlock */ \ } while (0) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 4f445d2..3351c22 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -570,7 +570,7 @@ ether_demux(ifp, eh, m) return; #endif /* NETATALK */ case ETHERTYPE_VLAN: - VLAN_INPUT(ifp, eh, m); + VLAN_INPUT(eh, m); return; default: #ifdef IPX diff --git a/sys/pci/if_ti.c b/sys/pci/if_ti.c index eda9eec..98b9b64 100644 --- a/sys/pci/if_ti.c +++ b/sys/pci/if_ti.c @@ -1808,7 +1808,7 @@ static void ti_rxeof(sc) * to vlan_input() instead of ether_input(). */ if (have_tag) { - VLAN_INPUT_TAG(ifp, eh, m, vlan_tag); + VLAN_INPUT_TAG(eh, m, vlan_tag); have_tag = vlan_tag = 0; continue; } |