From: Nikolay Aleksandrov <[email protected]>
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.