Thanks, I've backported this to 1.3 1.4 and 1.5 Ethan
On Wed, Feb 22, 2012 at 18:55, Justin Pettit <jpet...@nicira.com> wrote: > Looks good. > > --Justin > > > On Feb 19, 2012, at 12:43 AM, Ethan Jackson wrote: > >> When STP is enabled on a bridge, the STP module puts its ports in >> an STP_LISTENING state until STP converges. This causes all >> traffic destined for these ports to be dropped. If STP is disabled >> on the bridge, but not explicitly disabled on its ports, the bridge >> fails to remove the STP state from these ports. Therefore, if a >> port is in an STP_LISTENING state, it will remain in that state and >> continue to drop all traffic indefinitely. This patch fixes the >> issue. >> >> Signed-off-by: Ethan Jackson <et...@nicira.com> >> >> Bug #9157. >> --- >> ofproto/ofproto-dpif.c | 8 ++++++++ >> 1 files changed, 8 insertions(+), 0 deletions(-) >> >> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c >> index 1fe5da6..b5e316b 100644 >> --- a/ofproto/ofproto-dpif.c >> +++ b/ofproto/ofproto-dpif.c >> @@ -190,6 +190,8 @@ static struct ofbundle ofpp_none_bundle = { >> >> static void stp_run(struct ofproto_dpif *ofproto); >> static void stp_wait(struct ofproto_dpif *ofproto); >> +static int set_stp_port(struct ofport *, >> + const struct ofproto_port_stp_settings *); >> >> static bool ofbundle_includes_vlan(const struct ofbundle *, uint16_t vlan); >> >> @@ -1155,6 +1157,12 @@ set_stp(struct ofproto *ofproto_, const struct >> ofproto_stp_settings *s) >> stp_set_max_age(ofproto->stp, s->max_age); >> stp_set_forward_delay(ofproto->stp, s->fwd_delay); >> } else { >> + struct ofport *ofport; >> + >> + HMAP_FOR_EACH (ofport, hmap_node, &ofproto->up.ports) { >> + set_stp_port(ofport, NULL); >> + } >> + >> stp_destroy(ofproto->stp); >> ofproto->stp = NULL; >> } >> -- >> 1.7.9.1 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev