[ovs-dev] [PATCH] stp: Fix a bug.

Alex Wang alexw at nicira.com
Wed Sep 4 21:17:27 UTC 2013


Sorry, I found error in the log message. I'll send a V2 later.


On Wed, Sep 4, 2013 at 11:56 AM, Alex Wang <alexw at nicira.com> wrote:

> 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/5d9c24c0/attachment-0003.html>


More information about the dev mailing list