dummynet dropping too many packets

Oleg Bulyzhin oleg at FreeBSD.org
Mon Oct 19 11:09:36 UTC 2009


On Fri, Oct 09, 2009 at 07:35:01PM +0500, rihad wrote:
> Oleg Bulyzhin wrote:
> > On Wed, Oct 07, 2009 at 03:52:56PM +0500, rihad wrote:
> > 
> >> You probably have some special sources of documentation ;-) According to 
> >> man ipfw, both "netgraph/ngtee" and "pipe" decide the fate of the packet 
> >> unless one_pass=0. Or do you mean sprinkling smart skiptos here and 
> >> there? ;-)
> > 
> > you can
> > 1) use ng_ether & ng_netflow. (so no need in 'ngtee' rule).
> > 2) use 'tee' rule with ng_ksocket & ng_netflow
> > 
> >>> Could you show your 'ipfw show' output? (hide ip addresses if you wish but
> >>> keep counters please).
> >>>
> > 
> >> Here it is, in its whole glory:
> >>
> >> 00100   10434423   1484891105 allow ip from any to any via lo0
> >> 00200          2           14 deny ip from any to 127.0.0.0/8
> >> 00300          1            4 deny ip from 127.0.0.0/8 to any
> >> 01000 3300039938 327603104711 allow ip from any to any in
> >> 01010   26214900    421138433 allow ip from me to any out
> >> 01020    5453857     46806278 allow icmp from any to any out
> >> 01030 3268289053 327224694165 ngtee 1 ip from any to any out
> >> 01040   18681181   1089636054 skipto 1100 ip from table(127) to any out 
> >> recv bce0 xmit bce1
> >> 01060  777488848  76743392754 pipe tablearg ip from any to table(0) out 
> >> recv bce0 xmit bce1
> >> 01070  776831109  76682499457 allow ip from any to table(0) out recv 
> >> bce0 xmit bce1
> >> 01100   13102697    808411842 pipe tablearg ip from any to table(2) out
> >> 65535  662648946  66711487830 allow ip from any to any
> > 
> > I guess this one would be better(faster):
> > 
> > 00050 allow ip from any to any in
> > 00100 allow ip from any to any via lo0
> > 01010 allow ip from me to any
> > 01020 allow icmp from any to any
> > 01030 ngtee 1 ip from any to any
> > 01035 skipto 1040 ip from any to any recv bce0 xmit bce1
> > 01036 allow ip from any to any
> > 01040 skipto 1100 ip from table(127) to any
> > 01060 pipe tablearg ip from any to table(0)
> > 01070 allow ip from any to any
> > 01100 pipe tablearg ip from any to table(2)
> > 65535 allow ip from any to any
> > 
> Tried it just now - no visible effect.
> 400-700 packet drops per second which is around 5-7 mbps dropped on 
> output. So I don't think getting rid of one_pass=0 would help at all.

One more idea to check:

What happens if you rearrange your rules to shape 'in' packets?
i.e. use 'in recv bce0' instead of 'out recv bce0 xmit bce1'.

-- 
Oleg.

================================================================
=== Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- oleg at rinet.ru ===
================================================================



More information about the freebsd-net mailing list