From: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
Date: Tue, 31 Jan 2017 16:31:58 +0100

> @@ -197,7 +197,8 @@ int br_handle_frame_finish(struct net *net, struct sock 
> *sk, struct sk_buff *skb
>               if (dst->is_local)
>                       return br_pass_frame_up(skb);
>  
> -             dst->used = jiffies;
> +             if (br->used_enabled)
> +                     dst->used = jiffies;

Have you tried:

        if (dst->used != jiffies)
                dst->used = jiffies;

If that isn't effective, you can tweak the test to decrease the
granularity of the value.  Basically, if dst->used is within
1 HZ of jiffies, don't do the write.

I suspect this might help a lot, and not require a new bridging
option.

Reply via email to