summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-02-25 19:55:29 +0000
committermlaier <mlaier@FreeBSD.org>2004-02-25 19:55:29 +0000
commit1504165dce30978b55fb5992d94ebc8914ced705 (patch)
treeef732081c31aa5924d309022a0341c52a90908c0 /sys/net
parent333bc770a3745a8206d3afcea031c505caddf9d4 (diff)
downloadFreeBSD-src-1504165dce30978b55fb5992d94ebc8914ced705.zip
FreeBSD-src-1504165dce30978b55fb5992d94ebc8914ced705.tar.gz
Re-remove MT_TAGs. The problems with dummynet have been fixed now.
Tested by: -current, bms(mentor), me Approved by: bms(mentor), sam
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/bridge.c13
-rw-r--r--sys/net/if_ethersubr.c18
2 files changed, 8 insertions, 23 deletions
diff --git a/sys/net/bridge.c b/sys/net/bridge.c
index a444f1c..74f6f00 100644
--- a/sys/net/bridge.c
+++ b/sys/net/bridge.c
@@ -920,14 +920,10 @@ bdg_forward(struct mbuf *m0, struct ifnet *dst)
DDB(quad_t ticks; ticks = rdtsc();)
- args.rule = NULL; /* did we match a firewall rule ? */
- /* Fetch state from dummynet tag, ignore others */
- for (;m0->m_type == MT_TAG; m0 = m0->m_next)
- if (m0->_m_tag_id == PACKET_TAG_DUMMYNET) {
- args.rule = ((struct dn_pkt *)m0)->rule;
- shared = 0; /* For sure this is our own mbuf. */
- }
- if (args.rule == NULL)
+ args.rule = ip_dn_claim_rule(m0);
+ if (args.rule)
+ shared = 0; /* For sure this is our own mbuf. */
+ else
bdg_thru++; /* count 1st time through bdg_forward */
/*
@@ -1046,7 +1042,6 @@ bdg_forward(struct mbuf *m0, struct ifnet *dst)
args.m = m0; /* the packet we are looking at */
args.oif = NULL; /* this is an input packet */
- args.divert_rule = 0; /* we do not support divert yet */
args.next_hop = NULL; /* we do not support forward yet */
args.eh = &save_eh; /* MAC header for bridged/MAC packets */
i = ip_fw_chk_ptr(&args);
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 567b0b7..8df0cc4 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -322,12 +322,7 @@ bad: if (m != NULL)
int
ether_output_frame(struct ifnet *ifp, struct mbuf *m)
{
- struct ip_fw *rule = NULL;
-
- /* Extract info from dummynet tag, ignore others */
- for (; m->m_type == MT_TAG; m = m->m_next)
- if (m->m_flags == PACKET_TAG_DUMMYNET)
- rule = ((struct dn_pkt *)m)->rule;
+ struct ip_fw *rule = ip_dn_claim_rule(m);
if (rule == NULL && BDG_ACTIVE(ifp)) {
/*
@@ -397,7 +392,6 @@ ether_ipfw_chk(struct mbuf **m0, struct ifnet *dst,
args.m = m; /* the packet we are looking at */
args.oif = dst; /* destination, if any */
- args.divert_rule = 0; /* we do not support divert yet */
args.rule = *rule; /* matching rule to restart */
args.next_hop = NULL; /* we do not support forward yet */
args.eh = &save_eh; /* MAC header for bridged/MAC packets */
@@ -611,14 +605,10 @@ ether_demux(struct ifnet *ifp, struct mbuf *m)
#if defined(NETATALK)
struct llc *l;
#endif
- struct ip_fw *rule = NULL;
+ struct ip_fw *rule = ip_dn_claim_rule(m);
- /* Extract info from dummynet tag, ignore others */
- for (;m->m_type == MT_TAG; m = m->m_next)
- if (m->m_flags == PACKET_TAG_DUMMYNET) {
- rule = ((struct dn_pkt *)m)->rule;
- ifp = m->m_next->m_pkthdr.rcvif;
- }
+ if (rule != NULL)
+ ifp = m->m_pkthdr.rcvif;
KASSERT(ifp != NULL, ("ether_demux: NULL interface pointer"));
OpenPOWER on IntegriCloud