summaryrefslogtreecommitdiffstats
path: root/sys/net/if_bridge.c
diff options
context:
space:
mode:
authoroleg <oleg@FreeBSD.org>2007-11-06 23:01:42 +0000
committeroleg <oleg@FreeBSD.org>2007-11-06 23:01:42 +0000
commit7eef73ab3fe01565e1d4d1f9d1a070116ed41e13 (patch)
tree225c425cef7bdeda5b84e8391283c7c145b24798 /sys/net/if_bridge.c
parentdd5717deccd91591695d9f8054e6c7d8dfadf358 (diff)
downloadFreeBSD-src-7eef73ab3fe01565e1d4d1f9d1a070116ed41e13.zip
FreeBSD-src-7eef73ab3fe01565e1d4d1f9d1a070116ed41e13.tar.gz
1) dummynet_io() declaration has changed.
2) Alter packet flow inside dummynet: allow certain packets to bypass dummynet scheduler. Benefits are: - lower latency: if packet flow does not exceed pipe bandwidth, packets will not be (up to tick) delayed (due to dummynet's scheduler granularity). - lower overhead: if packet avoids dummynet scheduler it shouldn't reenter ip stack later. Such packets can be fastforwarded. - recursion (which can lead to kernel stack exhaution) eliminated. This fix long existed panic, which can be triggered this way: kldload dummynet sysctl net.inet.ip.fw.one_pass=0 ipfw pipe 1 config bw 0 for i in `jot 30`; do ipfw add 1 pipe 1 icmp from any to any; done ping -c 1 localhost 3) Three new sysctl nodes are added: net.inet.ip.dummynet.io_pkt - packets passed to dummynet net.inet.ip.dummynet.io_pkt_fast - packets avoided dummynet scheduler net.inet.ip.dummynet.io_pkt_drop - packets dropped by dummynet P.S. Above comments are true only for layer 3 packets. Layer 2 packet flow is not changed yet. MFC after: 3 month
Diffstat (limited to 'sys/net/if_bridge.c')
-rw-r--r--sys/net/if_bridge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index 2f64a04..4825483 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -3038,7 +3038,7 @@ bridge_pfil(struct mbuf **mp, struct ifnet *bifp, struct ifnet *ifp, int dir)
* packet will return to us via bridge_dummynet().
*/
args.oif = ifp;
- ip_dn_io_ptr(*mp, DN_TO_IFB_FWD, &args);
+ ip_dn_io_ptr(mp, DN_TO_IFB_FWD, &args);
return (error);
}
OpenPOWER on IntegriCloud