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