Date: Tue, 6 Nov 2007 23:01:42 +0000 (UTC) From: Oleg Bulyzhin <oleg@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/netinet ip_dummynet.c ip_dummynet.h ip_fw_pfil.c src/sys/net if_bridge.c if_ethersubr.c Message-ID: <200711062301.lA6N1gRA034663@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
oleg 2007-11-06 23:01:42 UTC FreeBSD src repository Modified files: sys/netinet ip_dummynet.c ip_dummynet.h ip_fw_pfil.c sys/net if_bridge.c if_ethersubr.c Log: 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 Revision Changes Path 1.107 +1 -1 src/sys/net/if_bridge.c 1.240 +1 -1 src/sys/net/if_ethersubr.c 1.112 +37 -7 src/sys/netinet/ip_dummynet.c 1.41 +1 -1 src/sys/netinet/ip_dummynet.h 1.26 +28 -26 src/sys/netinet/ip_fw_pfil.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711062301.lA6N1gRA034663>