Subject: Re: Routing tables associated with VLANs dissappear when parent ethX down/up

From: Patrick McHardy <[email-masked]>
Date: Wed, 21 Nov 2007 22:12:55 +0100

Ben Greear wrote:
> Patrick McHardy wrote:
>> Stephen Hemminger wrote:
>>>
>>> But then if you are doing bonding or bridging of vlan's and you 
>>> bring down the root network device, the upper layer is not
>>> notified (for failover).
>>>   
>>
>> operstate should be enough for this I guess. Ben, what does iproute show
>> for the vlan device when the lower device is down?
>
> It looks like it knows, assuming M-DOWN is useful information.
> Eth2 is un-plugged, by the way.
>
> [root@lanforge-33-46 ~]# ifconfig eth2 up
> [root@lanforge-33-46 ~]# ip link show eth2.2
> 125: eth2.2@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc 
> noqueue
>     link/ether 00:03:2d:08:33:47 brd ff:ff:ff:ff:ff:ff
> [root@lanforge-33-46 ~]# ifconfig eth2 down
> [root@lanforge-33-46 ~]# ip link show eth2.2
> 125: eth2.2@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP,M-DOWN> mtu 1500 
> qdisc noqueue
>     link/ether 00:03:2d:08:33:47 brd ff:ff:ff:ff:ff:ff
> [root@lanforge-33-46 ~]# 

That comes from iproute itself, but the missing LOWER-UP flag
indicates it and that should be enough for bridging and bonding.
I'm unsure about this though since its still a big difference in
userspace visible behaviour, people might just as well manually
configure failover once routing disappears or the device goes down,
or just have routing fall through to different routes. All this
wouldn't work anymore.

Maybe we can make this optional somehow without too much uglyness?