From owner-freebsd-net@FreeBSD.ORG Sat Dec 24 14:18:52 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCB42106566B for ; Sat, 24 Dec 2011 14:18:52 +0000 (UTC) (envelope-from pisymbol@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 5E9C28FC12 for ; Sat, 24 Dec 2011 14:18:52 +0000 (UTC) Received: by wgbdr11 with SMTP id dr11so18694364wgb.31 for ; Sat, 24 Dec 2011 06:18:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=qaxFJMODOB/kwm6VVzsKnUCUabcsD1y8uFeDuGVUFpM=; b=EVHBN85iUCqNfiox+iCoBEqMLuoGwgt74HB+RnBj06ScRF6B8n7SiaLXvQw7WDJH18 MWUErmUS9ncTO+E8KM6HK0qWMIxDEOwwhESA39jytqxTMspbV2vzaE7sYE8b+r6yZzgB c6pzf9IbwEew02atKSSjUvZIKMWvAHpbjuoRc= MIME-Version: 1.0 Received: by 10.227.199.14 with SMTP id eq14mr22354272wbb.14.1324734710956; Sat, 24 Dec 2011 05:51:50 -0800 (PST) Received: by 10.227.197.12 with HTTP; Sat, 24 Dec 2011 05:51:50 -0800 (PST) Date: Sat, 24 Dec 2011 08:51:50 -0500 Message-ID: From: Alexander Sack To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: igb(4) bridging does not seem to work X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Dec 2011 14:18:53 -0000 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 metric 0 mtu 1500 options=1bb ether 00:1b:21:93:49:4c media: Ethernet autoselect (1000baseTX ) status: active igb3: flags=8943 metric 0 mtu 1500 options=1bb ether 00:1b:21:93:49:4d media: Ethernet autoselect (1000baseTX ) status: active bridge0: flags=28943 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 ifmaxaddr 0 port 4 priority 128 path cost 2000000 member: igb2 flags=143 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