Re: [PATCH net-next] net: linkwatch: allow vlans to get carrier changesfaster

From: HAYASAKA Mitsuo
Date: Thu Sep 01 2011 - 07:53:56 EST


Hi Eric,

I checked this patch solves the time-lag of IFF_RUNNING flag consistency
between vlan and real devices.

Cheers.

Tested-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@xxxxxxxxxxx>


(2011/08/31 18:31), Eric Dumazet wrote:
> There is a time-lag of IFF_RUNNING flag consistency between vlan and
> real devices when the real devices are in problem such as link or cable
> broken.
>
> This leads to a degradation of Availability such as a delay of failover
> in HA systems using vlan since the detection of the problem at real
> device is delayed.
>
> We can avoid the linkwatch delay (~1 sec) for devices linked to another
> ones, since delay is already done for the realdev.
>
> Based on a previous patch from Mitsuo Hayasaka
>
> Reported-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@xxxxxxxxxxx>
> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: Patrick McHardy <kaber@xxxxxxxxx>
> Cc: "MichaÅ MirosÅaw" <mirq-linux@xxxxxxxxxxxx>
> Cc: Tom Herbert <therbert@xxxxxxxxxx>
> Cc: Stephen Hemminger <shemminger@xxxxxxxxxx>
> Cc: Jesse Gross <jesse@xxxxxxxxxx>
> ---
> net/core/link_watch.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/net/core/link_watch.c b/net/core/link_watch.c
> index 357bd4e..c3519c6 100644
> --- a/net/core/link_watch.c
> +++ b/net/core/link_watch.c
> @@ -78,8 +78,13 @@ static void rfc2863_policy(struct net_device *dev)
>
> static bool linkwatch_urgent_event(struct net_device *dev)
> {
> - return netif_running(dev) && netif_carrier_ok(dev) &&
> - qdisc_tx_changing(dev);
> + if (!netif_running(dev))
> + return false;
> +
> + if (dev->ifindex != dev->iflink)
> + return true;
> +
> + return netif_carrier_ok(dev) && qdisc_tx_changing(dev);
> }
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/