From owner-freebsd-net@FreeBSD.ORG Mon Apr 29 09:24:29 2013 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2B51DEE7 for ; Mon, 29 Apr 2013 09:24:29 +0000 (UTC) (envelope-from egrosbein@rdtc.ru) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13::5]) by mx1.freebsd.org (Postfix) with ESMTP id D02A91310 for ; Mon, 29 Apr 2013 09:24:28 +0000 (UTC) Received: from eg.sd.rdtc.ru (localhost [127.0.0.1]) by eg.sd.rdtc.ru (8.14.6/8.14.6) with ESMTP id r3T9OOEM055115 for ; Mon, 29 Apr 2013 16:24:24 +0700 (NOVT) (envelope-from egrosbein@rdtc.ru) Message-ID: <517E3C43.905@rdtc.ru> Date: Mon, 29 Apr 2013 16:24:19 +0700 From: Eugene Grosbein User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130415 Thunderbird/17.0.5 MIME-Version: 1.0 To: "net@freebsd.org" Subject: lagg+vlan+igb kernel bug Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Apr 2013 09:24:29 -0000 Hi! Today I discovered really subtle bug in connection of lagg(4), vlan(4) and igb(4) drivers. Here is what I have in /etc/rc.conf: cloned_interfaces="lagg0 lagg1" ifconfig_lagg1="laggproto lacp laggport igb0 laggport igb1" #ifconfig_lagg1_alias0="link 00:1b:21:63:5b:d1" ifconfig_igb0="-wol" ifconfig_igb1="-wol" My lagg1 has no IP addresses but lots of vlans created on it. These vlans carry PPPoE frames only. This configuration works just fine. But, it I uncomment the line changing MAC-address of lagg1 (ifconfig_lagg1_alias0), I still have igb0 working just fine (input/output/broadcast/unicast - all OK) but igp1 stops accepting unicasts. More precisely: if I bring igb0 link down, lagg1 excludes it from aggregation group, then tcpdump -ni igb1 shows that no unicasts come in, broadcasts only. I use switch port mirroring feature to make sure that switch directs unicasts to igb1. However, if I manually recreate lagg1 and assign MAC to lagg1 first and assign igb0/igb1 later, both ports run just fine and this issue does not rise. It seems, lagg(4) fails to reprogramm igb1 with new MAC in first case? In both cases, ifconfig shows single MAC address for lagg1 and both its ports. Eugene Grosbein