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

Reply via email to