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.
signature.asc
Description: This is a digitally signed message part
