Date: Wed, 28 May 2008 11:54:56 +0300 From: Nikos Vassiliadis <nvass@teledomenet.gr> To: freebsd-stable@freebsd.org Cc: Boris Samorodov <bsam@ipt.ru>, stable@freebsd.org Subject: Re: 7-STABLE: bridge and em Message-ID: <200805281154.57305.nvass@teledomenet.gr> In-Reply-To: <72197513@bs1.sp34.ru> References: <72197513@bs1.sp34.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 28 May 2008 01:15:18 Boris Samorodov wrote: > Hello list! > > > When em0 has an inet address while bridge0 doesn't, it seems to be OK: > ----- > bs1% uname -a > FreeBSD bs1.sp34.ru 7.0-STABLE FreeBSD 7.0-STABLE #0: Sun May 25 > 20:15:26 MSD 2008 root@bs1.sp34.ru:/usr/obj/usr/src/sys/BSM i386 > bs1% ifconfig em0; ifconfig tap0; ifconfig bridge0 > em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 > mtu 1500 options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > ether 00:0c:f1:6c:37:4c > inet 192.168.16.30 netmask 0xffffff00 broadcast 192.168.16.255 > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric > 0 mtu 1500 ether 00:bd:3e:24:00:00 > bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu > 1500 ether ea:8b:1f:65:2a:5c > 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: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > ifmaxaddr 0 port 7 priority 128 path cost 2000000 > member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > ifmaxaddr 0 port 1 priority 128 path cost 2000000 > bs1% netstat -rn > Routing tables > > Internet: > Destination Gateway Flags Refs Use Netif > Expire default 192.168.16.254 UGS 0 357 > em0 127.0.0.1 127.0.0.1 UH 0 3934 lo0 > 192.168.16.0/24 link#1 UC 0 0 em0 > 192.168.16.1 00:07:e9:80:33:bc UHLW 1 16 em0 > 951 192.168.16.254 00:07:e9:80:33:bc UHLW 2 0 em0 > 1002 > > Internet6: > Destination Gateway Flags > Netif Expire > > ::1 ::1 UHL > :: lo0 > > fe80::%lo0/64 fe80::1%lo0 U > lo0 fe80::1%lo0 link#5 > UHL lo0 ff01:5::/32 fe80::1%lo0 > UC lo0 ff02::%lo0/32 fe80::1%lo0 > UC lo0 bs1% ping -c 3 192.168.16.254 > PING 192.168.16.254 (192.168.16.254): 56 data bytes > 64 bytes from 192.168.16.254: icmp_seq=0 ttl=64 time=0.316 ms > 64 bytes from 192.168.16.254: icmp_seq=1 ttl=64 time=0.263 ms > 64 bytes from 192.168.16.254: icmp_seq=2 ttl=64 time=0.266 ms > > --- 192.168.16.254 ping statistics --- > 3 packets transmitted, 3 packets received, 0.0% packet loss > round-trip min/avg/max/stddev = 0.263/0.282/0.316/0.024 ms > ----- > > But if I move ip address from em0 to bridge0: > ----- > bs1% sudo ifconfig em0 inet 192.168.16.30 netmask 0xffffff00 delete > bs1% sudo ifconfig bridge0 inet 192.168.16.30 netmask 0xffffff00 > bs1% sudo route add default 192.168.16.254 > add net default: gateway 192.168.16.254 > bs1% ifconfig em0; ifconfig tap0; ifconfig bridge0 > em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 > mtu 1500 options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > ether 00:0c:f1:6c:37:4c > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric > 0 mtu 1500 ether 00:bd:3e:24:00:00 > bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu > 1500 ether ea:8b:1f:65:2a:5c > inet 192.168.16.30 netmask 0xffffff00 broadcast 192.168.16.255 > 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: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > ifmaxaddr 0 port 7 priority 128 path cost 2000000 > member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > ifmaxaddr 0 port 1 priority 128 path cost 2000000 > bs1% netstat -rn > Routing tables > > Internet: > Destination Gateway Flags Refs Use Netif > Expire default 192.168.16.254 UGS 0 0 > bridge 127.0.0.1 127.0.0.1 UH 0 3934 > lo0 192.168.16.0/24 link#6 UC 0 0 bridge > 192.168.16.254 link#6 UHLW 2 0 bridge > > Internet6: > Destination Gateway Flags > Netif Expire > > ::1 ::1 UHL > :: lo0 > > fe80::%lo0/64 fe80::1%lo0 U > lo0 fe80::1%lo0 link#5 > UHL lo0 ff01:5::/32 fe80::1%lo0 > UC lo0 ff02::%lo0/32 fe80::1%lo0 > UC lo0 bs1% ping -c 3 192.168.16.254 > PING 192.168.16.254 (192.168.16.254): 56 data bytes > > --- 192.168.16.254 ping statistics --- > 3 packets transmitted, 0 packets received, 100.0% packet loss > ----- > > Did I miss something? Thanks! Yes, if_bridge uses its own MAC address, so the first time that host 192.168.16.30 pinged host 192.168.16.254, it used MAC address 00:0c:f1:6c:37:4c. When you did assign the IP address on the bridge0 interface, it used the bridge0's MAC address. If host 192.168.16.254 is a bit stubborn about 192.168.16.30's MAC address things will not work(for some time). Nevertheless there is no reason(apparent to me) moving around IP addresses, so if you assign your IP to the bridge interface, things will work. HTH, Nikos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805281154.57305.nvass>