Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jan 2009 12:39:26 -0500
From:      Mike Tancsa <mike@sentex.net>
To:        freebsd-net@freebsd.org
Subject:   lagg failover mode and vlans
Message-ID:  <200901271739.n0RHdGd3047497@lava.sentex.ca>

next in thread | raw e-mail | index | archive | help
Hi,
         I noticed a small issue with the way VLANs work and the 
lagg0 interface in failover mode.

I have a simple config of

ifconfig lagg0 create up laggproto failover laggport em2 laggport em3 
192.168.44.99/24
ifconfig lagg0.100 create 192.168.100.1/24
ifconfig lagg0.102 create 192.168.102.1/24


with em2 on one cisco 3500 and em3 on another cisco 3500 (primary and 
secondary) on port 32 of each switch


interface FastEthernet0/32
  switchport trunk encapsulation dot1q
  switchport trunk allowed vlan 1-200,1002-1005
  switchport mode trunk
  spanning-tree portfast
!

interface FastEthernet0/32
  switchport trunk encapsulation dot1q
  switchport trunk allowed vlan 1-200,1002-1005
  switchport mode trunk
  spanning-tree portfast
!



and the switches are linked together with

interface GigabitEthernet0/2
  switchport trunk encapsulation dot1q
  switchport mode trunk
!



On the freebsd RELENG_7 box


lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
         ether 00:30:48:90:4c:fe
         inet 192.168.44.99 netmask 0xffffff00 broadcast 192.168.44.255
         media: Ethernet autoselect
         status: active
         laggproto failover
         laggport: em3 flags=0<>
         laggport: em2 flags=5<MASTER,ACTIVE>



For the native vlan of 1, if I pull the cable on the master port 
fa0/32, it works automatically and I barely miss a packet

lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
         ether 00:30:48:90:4c:fe
         inet 192.168.44.99 netmask 0xffffff00 broadcast 192.168.44.255
         media: Ethernet autoselect
         status: active
         laggproto failover
         laggport: em3 flags=4<ACTIVE>
         laggport: em2 flags=1<MASTER>


but if I create some vlan interfaces off lagg0

lagg0.100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=3<RXCSUM,TXCSUM>
         ether 00:30:48:90:4c:fe
         inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255
         media: Ethernet autoselect
         status: active
         vlan: 100 parent interface: lagg0
lagg0.102: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=3<RXCSUM,TXCSUM>
         ether 00:30:48:90:4c:fe
         inet 192.168.102.1 netmask 0xffffff00 broadcast 192.168.102.255
         media: Ethernet autoselect
         status: active
         vlan: 102 parent interface: lagg0

and do the same pulling of the cable, it does not work.  BUT, if I do 
an arp -nda on a machine that is part of vlan102  which is doing the 
pinging (so an arp-who has gets sent out and a reply answered), it 
works.  The other option is if I send a packet out on the vlan's 
broadcast address from the server

Apart from making a script to watch for interface up/down events on 
the machine with the lagg0 interface and vlans to do ping to each of 
the broadcast addresses, is there a way around this ?

There was a discussion sort of around this in

http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2008-05/msg00283.html


         ---Mike





--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Sentex Communications,                            mike@sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901271739.n0RHdGd3047497>