Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Mar 2010 12:57:48 +0100
From:      Mateusz Janik <mate@netblok.pl>
To:        freebsd-ipfw@freebsd.org
Subject:   dummynet problem: dummynet: OUCH! pipe should have been idle!
Message-ID:  <4B9394BC.8070704@netblok.pl>

next in thread | raw e-mail | index | archive | help
Hello,

I installed Release 8.0 from ISO and not upgraded to any newer version 
(I gave up with upgrading system to 8.0 stable or head version because 
of problems with recompiling kernel after upgrade).

I recompiled kernel with additional options:

============================================
options         IPFIREWALL
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=500
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         TCPDEBUG
options         IPFILTER
options         IPFILTER_LOG
options         IPSTEALTH
options         DUMMYNET
options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_PRIQ
============================================

in order to use ipfilter + ipfw/dummynet on router with NAT enabled.
i also recompiled ipfilter with LARGE_NAT option enabled.

My rules for ipfw looks like:

============================================
add 00100 allow ip from any to any via lo0
add 00200 deny ip from any to 127.0.0.0/8
add 00300 deny ip from 127.0.0.0/8 to any

pipe 80 config bw 512Kbit/s queue 40
add 40000 pipe 80 icmp from any to any in

add 50000 allow ip from any to any via em0

pipe 100 config
add 60000 pipe 100 ip from any to me in recv em1
add 60001 pipe 100 ip from me to any out xmit em1

pipe 2 config bw 35000Kbit/s queue 1024Kbytes

queue 22 config pipe 2 weight 6 queue 256Kbytes mask dst-ip 0xffffffff
add 65202 queue 22 udp from any to any out xmit em1

queue 23 config pipe 2 weight 7 queue 512Kbytes mask dst-ip 0xffffffff
add 65203 queue 23 tcp from any 22,25,53,443,80,110,119,5060,3724 to any 
out xmit em1

queue 24 config pipe 2 weight 3 queue 256Kbytes mask dst-ip 0xffffffff
add 65204 queue 24 ip from any to any out xmit em1

pipe 3 config bw 35000Kbit/s queue 1024Kbytes

queue 32 config pipe 3 weight 6 queue 256Kbytes mask src-ip 0xffffffff
add 65302 queue 32 udp from any to any in recv em1

queue 33 config pipe 3 weight 7 queue 512Kbytes mask src-ip 0xffffffff
add 65303 queue 33 tcp from any to any 22,25,53,443,80,110,119,5060,3724 
in recv em1

queue 34 config pipe 3 weight 3 queue 256Kbytes mask src-ip 0xffffffff
add 65304 queue 34 ip from any to any in recv em1

add 65500 allow ip from any to any
============================================

Everything works fine until I plug in em1 interface (LAN) cable.
When LAN traffic starts to flow I get dummynet messages:

Mar  7 12:07:04 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:05 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:05 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:07 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:09 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:16 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:18 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:18 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:18 urke kernel: dummynet: OUCH! pipe should have been idle!
Mar  7 12:07:18 urke kernel: dummynet: OUCH! pipe should have been idle!

I noticed that Oleg Bulyzhin made patch for ip_dummynet.c and i applied 
these changes to sys/netinet/ipfw/ip_dummynet.c. But problem still 
occurs. Next, I downloaded ip_dummynet.c from Freebsd cvs including even 
newer changes to this file - problem still exists.
Does anyone know what causes the problem?

-- 
Thanks,
Mat.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B9394BC.8070704>