Hello, I'm trying a "strange" setup with rdomains, bridge and vether. As there is something I don't understand, I'd like to know if the behavior is normal or if it is an issue. This is not a production system, just experimentations.
Here is what I'm trying to do. With 1 NIC connected to a "physical" network, I wish to have several rdomains connected to the same uplink VLAN. As this uplink VLAN provides DHCP, it facilitates the configuration. When everything is up, I can ping the default router from either rdomain but I can't ping rdomain 1 from rdomain 2 or vice versa. Arp is failing to resolve the IP addresses eventhough the arp packet is received on vether interface. With 2 NICs, the communication succeeds. The results are the same with 5.8 and current (snapshot downloaded yesterday) Here is the setup : 1/ configure the interfaces testhost:~ # cat /etc/hostname.em0 dhcp testhost:~ # cat /etc/hostname.em1 rdomain 1 !route -T 1 exec dhclient em1 testhost:~ # testhost:~ # cat /etc/hostname.vether2 rdomain 2 !route -T 2 exec dhclient vether2 up testhost:~ # 2/ Build the bridge : testhost:~ # cat /etc/hostname.bridge0 add em1 add vether2 up testhost:~ # 3/ Verify configuration : testhost:~ # ifconfig bridge0 bridge0: flags=41<UP,RUNNING> groups: bridge priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp designated: id 00:00:00:00:00:00 priority 0 em1 flags=3<LEARNING,DISCOVER> port 2 ifpriority 0 ifcost 0 vether2 flags=3<LEARNING,DISCOVER> port 5 ifpriority 0 ifcost 0 Addresses (max cache: 100, timeout: 240): 08:00:27:2c:87:f2 em1 1 flags=0<> 00:50:b6:67:9c:82 em1 1 flags=0<> [...] testhost:~ # ifconfig em0 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 08:00:27:2c:87:f2 priority: 0 groups: egress media: Ethernet autoselect (1000baseT full-duplex) status: active inet 192.168.79.39 netmask 0xffffff00 broadcast 192.168.79.255 testhost:~ # ifconfig em1 em1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> rdomain 1 mtu 1500 lladdr 08:00:27:36:20:e8 priority: 0 media: Ethernet autoselect (1000baseT full-duplex) status: active inet 192.168.79.159 netmask 0xffffff00 broadcast 192.168.79.255 testhost:~ # ifconfig vether2 vether2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> rdomain 2 mtu 1500 lladdr fe:e1:ba:d0:45:3b priority: 0 groups: vether media: Ethernet autoselect status: active inet 192.168.79.193 netmask 0xffffff00 broadcast 192.168.79.255 testhost:~ # route -n show -inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 192.168.79.254 UGS 0 788 - 8 em0 127/8 127.0.0.1 UGRS 0 0 32768 8 lo0 127.0.0.1 127.0.0.1 UHl 0 0 32768 1 lo0 192.168.79/24 192.168.79.39 UC 4 12990 - 4 em0 192.168.79.39 08:00:27:2c:87:f2 UHLl 0 22 - 1 em0 192.168.79.123 70:5a:b6:af:a0:42 UHLc 1 6503 - 4 em0 192.168.79.159 08:00:27:36:20:e8 UHLc 0 11027 - 4 em0 192.168.79.193 fe:e1:ba:d0:45:3b UHLc 0 11795 - 4 em0 192.168.79.254 2c:76:8a:30:2b:00 UHLc 1 1192 - 4 em0 192.168.79.255 192.168.79.39 UHb 0 5764 - 1 em0 224/4 127.0.0.1 URS 0 195 32768 8 lo0 testhost:~ # route -nT1 show Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 192.168.79.254 UGS 0 1752 - 8 em1 192.168.79/24 192.168.79.159 UC 1 15026 - 4 em1 192.168.79.159 08:00:27:36:20:e8 UHLl 0 0 - 1 em1 192.168.79.254 2c:76:8a:30:2b:00 UHLc 1 1167 - 4 em1 192.168.79.255 192.168.79.159 UHb 0 734 - 1 em1 testhost:~ # route -nT2 show Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 192.168.79.254 UGS 0 2215 - 8 vether2 192.168.79/24 192.168.79.193 UC 1 5334 - 4 vether2 192.168.79.193 fe:e1:ba:d0:45:3b UHLl 0 0 - 1 vether2 192.168.79.254 2c:76:8a:30:2b:00 UHLc 1 399 - 4 vether2 192.168.79.255 192.168.79.193 UHb 0 2317 - 1 vether2 4/ Ping tests testhost:~ # ping -c 2 192.168.79.159 PING 192.168.79.159 (192.168.79.159): 56 data bytes 64 bytes from 192.168.79.159: icmp_seq=0 ttl=255 time=1.297 ms 64 bytes from 192.168.79.159: icmp_seq=1 ttl=255 time=0.639 ms --- 192.168.79.159 ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.639/0.968/1.297/0.329 ms testhost:~ # ping -c 2 192.168.79.193 PING 192.168.79.193 (192.168.79.193): 56 data bytes 64 bytes from 192.168.79.193: icmp_seq=0 ttl=255 time=0.820 ms 64 bytes from 192.168.79.193: icmp_seq=1 ttl=255 time=0.617 ms --- 192.168.79.193 ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.617/0.718/0.820/0.102 ms testhost:~ # ping -c2 -V1 192.168.79.39 PING 192.168.79.39 (192.168.79.39): 56 data bytes 64 bytes from 192.168.79.39: icmp_seq=0 ttl=255 time=0.587 ms 64 bytes from 192.168.79.39: icmp_seq=1 ttl=255 time=0.633 ms --- 192.168.79.39 ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.587/0.610/0.633/0.023 ms testhost:~ # ping -c2 -V1 192.168.79.193 PING 192.168.79.193 (192.168.79.193): 56 data bytes --- 192.168.79.193 ping statistics --- 2 packets transmitted, 0 packets received, 100.0% packet loss 5/ Arp tables testhost:~ # arp -na Host Ethernet Address Netif Expire Flags 192.168.79.39 08:00:27:2c:87:f2 em0 permanent l 192.168.79.123 70:5a:b6:af:a0:42 em0 19m54s 192.168.79.159 08:00:27:36:20:e8 em0 14m47s 192.168.79.193 fe:e1:ba:d0:45:3b em0 16m18s 192.168.79.254 2c:76:8a:30:2b:00 em0 20m0s testhost:~ # arp -nV1 -a Host Ethernet Address Netif Expire Flags 192.168.79.39 08:00:27:2c:87:f2 em1 15m33s 192.168.79.159 08:00:27:36:20:e8 em1 permanent l 192.168.79.193 (incomplete) em1 expired 192.168.79.254 2c:76:8a:30:2b:00 em1 19m59s testhost:~ # arp -nV2 -a Host Ethernet Address Netif Expire Flags 192.168.79.39 08:00:27:2c:87:f2 vether2 14m6s 192.168.79.193 fe:e1:ba:d0:45:3b vether2 permanent l 192.168.79.254 2c:76:8a:30:2b:00 vether2 20m0s 6/ tcpdump on the vether side On one terminal : # ping -V1 192.168.79.193 On another terminal : testhost:~ # tcpdump -neli vether2 arp | grep 192.168.79.193 tcpdump: listening on vether2, link-type EN10MB 12:14:18.050311 08:00:27:36:20:e8 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.79.193 tell 192.168.79.159 12:14:19.054795 08:00:27:36:20:e8 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.79.193 tell 192.168.79.159 12:14:20.054016 08:00:27:36:20:e8 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.79.193 tell 192.168.79.159 Thanks for reading that far :) Claer