[Bridge] [PATCH 1/2] bridge: Adjust min age inc for HZ > 256
Vitalii Demianets
vitas at nppfactor.kiev.ua
Thu Mar 1 09:36:47 UTC 2012
On Tuesday 28 February 2012 20:37:10 Joakim Tjernlund wrote:
> min age increment needs to round up its min age tick for all
> HZ values to guarantee message age is increasing.
>
> Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> ---
> net/bridge/br_stp.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
> index a04eeb6..9a8aebd 100644
> --- a/net/bridge/br_stp.c
> +++ b/net/bridge/br_stp.c
> @@ -17,9 +17,9 @@
> #include "br_private_stp.h"
>
> /* since time values in bpdu are in jiffies and then scaled (1/256)
> - * before sending, make sure that is at least one.
> + * before sending, make sure that is at least one STP tick.
> */
> -#define MESSAGE_AGE_INCR ((HZ < 256) ? 1 : (HZ/256))
> +#define MESSAGE_AGE_INCR ((HZ / 256) + 1)
>
> static const char *const br_port_state_names[] = {
> [BR_STATE_DISABLED] = "disabled",
In general I can see the problem which is solved by your patches and it seems
to me that solution is adequate.
Just a nitpick: I think the following is a little bit more accurate (take into
account cases when HZ is multiple of 256, which is rare but possible):
-#define MESSAGE_AGE_INCR ((HZ < 256) ? 1 : (HZ/256))
+#define MESSAGE_AGE_INCR ((HZ / 256) + ((HZ % 256) ? 1 : 0))
Also I'd advice to send patches to the netdev list too, people there are much
more responsive than at the bridge list.
NB: don't you want to try 802.1Q-2005 compatible user-space {m/r}stp
implementation instead of rusty in-kernel 802.1D? You can find sources here:
http://sourceforge.net/p/mstpd/code/28/tree/
--
Vitalii Demianets
More information about the Bridge
mailing list