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



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));

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to