FreeBSD-Net: I have a 7.2-RELEASE-amd64 machine with two onboard igb(4) interfaces and an external Intel card:
igb0@pci0:1:0:0: class=0x020000 card=0x34de8086 chip=0x10a78086 rev=0x02 hdr=0x00 igb1@pci0:1:0:1: class=0x020000 card=0x34de8086 chip=0x10a78086 rev=0x02 hdr=0x00 igb2@pci0:6:0:0: class=0x020000 card=0x12a18086 chip=0x150e8086 rev=0x01 hdr=0x00 igb3@pci0:6:0:1: class=0x020000 card=0x12a18086 chip=0x150e8086 rev=0x01 hdr=0x00 igb4@pci0:6:0:2: class=0x020000 card=0x12a18086 chip=0x150e8086 rev=0x01 hdr=0x00 igb5@pci0:6:0:3: class=0x020000 card=0x12a18086 chip=0x150e8086 rev=0x01 hdr=0x00 I am trying to create a simple bridge out of two of the interfaces on the external igb(4) card like so: /etc/rc.conf: cloned_interfaces="bridge0" ifconfig_bridge0="addm igb2 addm igb3 up" ifconfig_igb2="up media auto" ifconfig_igb3="up media auto" I simply want igb2 and igb3 to pass Ethernet traffic back and forth. The network topology is the following: Cisco switch (no vlan trunking) -> igb2 -> bridge0 -> igb3 -> host (tried on a host with same broadcast domain and on different broadcast domains) Here is ifconfig output of the pertinent interfaces: igb2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4> ether 00:1b:21:93:49:4c media: Ethernet autoselect (1000baseTX <full-duplex>) status: active igb3: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4> ether 00:1b:21:93:49:4d media: Ethernet autoselect (1000baseTX <full-duplex>) status: active bridge0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500 ether 86:5f:e1:e9:64:68 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: igb3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 4 priority 128 path cost 2000000 member: igb2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 3 priority 128 path cost 2000000 I notice that netstat/tcpdump shows that igb2(4) is receiving packets (as does the green LED light) but igb3(4) is not passing them. The only packets that seem to get through the bridge are multicast and broadcast packets (as per the doc). But any unicast packets just get dropped by igb2(4). If I reverse the cables (change direction of the flow above), then packets hit igb3(4) but do not flow through the bridge to igb2(4). Why? Before I go start debugging if_bridge(4) and igb(4) can some one validate that my understanding is correct: The bridge0 above *SHOULD* pass Ethernet frames back and forth between igb2(4) and igb3(4). It should act as a simple 2-port Ethernet switch. Btw this *SAME* configuration works with an external em(4) card on a different machine (it has onboard bge(4) but same exact kernel. The network topology is slightly different as the machine with em(4) is inline with two switches instead of a single host (however, the two switches are on the same network). Are their known bridging issues with igb(4) driver? (the chipset does support promisc mode as per above output). Any initial help debugging this issue would be most appreciated? Thanks! -aps _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"