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 <al...@nicira.com> wrote: > Sorry for the typo. I mean backport to branch2.0. > > > On Wed, Sep 4, 2013 at 11:44 AM, Alex Wang <al...@nicira.com> wrote: > >> Also, this requires a backport to sr87 branch. >> >> >> On Tue, Sep 3, 2013 at 8:32 PM, Alex Wang <al...@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 <al...@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 >>> >>> >> >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev