On Fri, 2012-06-22 at 12:14 +0200, Thomas Voegtle wrote:
> Hello,
> 
> I think following commit, should be in 3.0.y and 3.2.y.
> It fixes a fix, which came in with 3.0.1 and 3.1-rc1 as 0c03150e7

Greg and I generally let David Miller (cc'd) decide which networking
changes should go into stable updates.

Ben.

> commit 709e1b5cd9e1915ad4f6c470ebf6b55d4a911d8c
> Author: Joakim Tjernlund <[email protected]>
> Date:   Thu Mar 1 08:12:19 2012 +0000
> 
>      bridge: message age needs to increase, not decrease.
> 
>      commit bridge: send proper message_age in config BPDU
>      added this gem:
>        bpdu.message_age = (jiffies - root->designated_age)
>        p->designated_age = jiffies + bpdu->message_age;
>      Notice how bpdu->message_age is negated when reassigned to
>      bpdu.message_age. This causes message age to decrease breaking the
>      STP protocol.
> 
>      Signed-off-by: Joakim Tjernlund <[email protected]>
>      Signed-off-by: David S. Miller <[email protected]>
> 
> diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
> index c9ef3db..6751ed4 100644
> --- a/net/bridge/br_stp.c
> +++ b/net/bridge/br_stp.c
> @@ -186,7 +186,7 @@ static void br_record_config_information(struct
> net_bridge_port *p,
>          p->designated_cost = bpdu->root_path_cost;
>          p->designated_bridge = bpdu->bridge_id;
>          p->designated_port = bpdu->port_id;
> -       p->designated_age = jiffies + bpdu->message_age;
> +       p->designated_age = jiffies - bpdu->message_age;
> 
>          mod_timer(&p->message_age_timer, jiffies
>                    + (p->br->max_age - bpdu->message_age));


-- 
Ben Hutchings
Lowery's Law:
             If it jams, force it. If it breaks, it needed replacing anyway.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to