lagg+vlan+igb kernel bug

Eugene Grosbein egrosbein at rdtc.ru
Mon Apr 29 09:24:29 UTC 2013


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


More information about the freebsd-net mailing list