# FreeBSD 8.0 + Dummynet



## blam (Feb 25, 2010)

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:


```
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 (Feb 25, 2010)

ip1 and ip2 is not on router with this rules, right?


----------



## blam (Feb 25, 2010)

Alt: I'm sorry, I'm not sure what you mean by ip1 and ip2 not being on the router with this rule?


----------



## Alt (Feb 25, 2010)

Im asking ip1 or ip2 is an alias on this router?


----------



## blam (Feb 25, 2010)

Ah, I see.  No, those two IPs are not part of this router.  Those two IPs are the client and server.


----------



## Alt (Feb 25, 2010)

Strange... Can you post ifconfig from these machines.. 
I prefer to think its config bug =)


----------



## blam (Feb 25, 2010)

Here's the ifconfig from the client:


```
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:


```
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



```
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
```


----------



## Alt (Feb 26, 2010)

Its happening only when you set bridge ?
Whats the values of sysctls 

```
net.link.bridge.ipfw
net.link.bridge.pfil_member
net.link.bridge.pfil_bridge
```


----------



## blam (Feb 26, 2010)

```
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.


----------



## Alt (Feb 26, 2010)

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.


----------

