[ovs-dev] [PATCH] stp: Fix a bug.
Alex Wang
alexw at nicira.com
Wed Sep 4 18:56:25 UTC 2013
Sorry for the typo. I mean backport to branch2.0.
On Wed, Sep 4, 2013 at 11:44 AM, Alex Wang <alexw at nicira.com> wrote:
> Also, this requires a backport to sr87 branch.
>
>
> On Tue, Sep 3, 2013 at 8:32 PM, Alex Wang <alexw at nicira.com> wrote:
>
>> Commit 9d189a50e (ofproto-dpif-xlate: Pull STP xlation into
>> ofproto-dpif-xlate.) introduced the bug that sets the port's
>> stp port number even if stp is not in use. This commit
>> fixes this bug.
>>
>> Signed-off-by: Alex Wang <alexw at nicira.com>
>> ---
>> ofproto/ofproto-dpif-xlate.c | 4 ++--
>> ofproto/ofproto-dpif.c | 4 +++-
>> 2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
>> index ef254d9..b276ecd 100644
>> --- a/ofproto/ofproto-dpif-xlate.c
>> +++ b/ofproto/ofproto-dpif-xlate.c
>> @@ -121,7 +121,7 @@ struct xport {
>> struct xport *peer; /* Patch port peer or null. */
>>
>> enum ofputil_port_config config; /* OpenFlow port configuration. */
>> - int stp_port_no; /* STP port number or 0 if not in
>> use. */
>> + int stp_port_no; /* STP port number or -1 if not in
>> use. */
>>
>> struct hmap skb_priorities; /* Map of 'skb_priority_to_dscp's.
>> */
>>
>> @@ -621,7 +621,7 @@ xport_lookup(const struct ofport_dpif *ofport)
>> static struct stp_port *
>> xport_get_stp_port(const struct xport *xport)
>> {
>> - return xport->xbridge->stp && xport->stp_port_no
>> + return xport->xbridge->stp && xport->stp_port_no != -1
>> ? stp_get_port(xport->xbridge->stp, xport->stp_port_no)
>> : NULL;
>> }
>> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
>> index 70a226c..7ba5076 100644
>> --- a/ofproto/ofproto-dpif.c
>> +++ b/ofproto/ofproto-dpif.c
>> @@ -820,9 +820,11 @@ type_run(const char *type)
>> }
>>
>> HMAP_FOR_EACH (ofport, up.hmap_node, &ofproto->up.ports) {
>> + /* Sets stp_port to -1 if stp is not in use, since the
>> return value of
>> + * stp_port_no() is between 0 and STP_MAX_PORTS. */
>> int stp_port = ofport->stp_port
>> ? stp_port_no(ofport->stp_port)
>> - : 0;
>> + : -1;
>> xlate_ofport_set(ofproto, ofport->bundle, ofport,
>> ofport->up.ofp_port, ofport->odp_port,
>> ofport->up.netdev, ofport->cfm,
>> --
>> 1.7.9.5
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130904/4277c076/attachment-0003.html>
More information about the dev
mailing list