FreeBSD 8.0 + Dummynet

Hi,

Is anybody else having issues with FreeBSD 8.0 and Dummynet? What I'm seeing is that when whatever latency I specified, Dummynet ends up emulating only 50% of that. With FreeBSD 7.2, it worked perfectly fine.

Herewith my configs:

Code:
ipfw add 100 pipe 1 ip from <ip1> to <ip2> 
ipfw add 200 pipe 2 ip from <ip2> to <ip1> 
ipfw pipe 1 config bw 512Kbit/s delay 100ms
ipfw pipe 2 config bw 512Kbit/s delay 100ms

I expect the RTT to be 200ms when I do a ping, but I'm only seeing 100ms.

The output of "ipfw -a list" shows that I'm matching both rules 100 and 200.

Thanks
 
Alt: I'm sorry, I'm not sure what you mean by ip1 and ip2 not being on the router with this rule?
 
Ah, I see. No, those two IPs are not part of this router. Those two IPs are the client and server.
 
Strange... Can you post ifconfig from these machines..
I prefer to think its config bug =)
 
Here's the ifconfig from the client:

Code:
client# ifconfig -a
net0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:0c:29:fc:cf:76
        inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect
        status: active


Here's the ifconfig from the server:

Code:
server# ifconfig -a
net0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:0c:29:56:a5:ea
        inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect
        status: active

Here's the ifconfig from the FreeBSD 8.0 Dummynet box


Code:
net0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:0c:29:c8:13:f8
        media: Ethernet autoselect
        status: active
net1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:0c:29:c8:13:02
        media: Ethernet autoselect
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 36:f5:dd:16:18:de
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: net1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 3 priority 128 path cost 2000000
        member: net0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 2000000
 
Its happening only when you set bridge ?
Whats the values of sysctls
Code:
net.link.bridge.ipfw
net.link.bridge.pfil_member
net.link.bridge.pfil_bridge
 
Code:
net.link.bridge.ipfw = 1
net.link.bridge.pfil_member = 0
net.link.bridge.pfil_bridge = 0
I tried changing changing the values of pfil_member and pfil_bridge to 0/1;1/0;1/1 but it just stopped bridging traffic.
 
These last 2 values controls firewalling for bridge: one for netX interface, other for bridge0 interface. Try allow traffic with allow command after pipes, or set sysctl net.inet.ip.fw.one_pass=1, so you can firewall net0 and net1 separately with them.
 
Back
Top