[ovs-dev] [PATCH] ofproto: Fix detection of in-use VLANs based on the flow table.

Ben Pfaff blp at nicira.com
Wed Jan 4 22:41:49 UTC 2012


Thanks, I pushed this to master and branch-1.4.

On Wed, Jan 04, 2012 at 10:47:06AM -0800, Justin Pettit wrote:
> Looks good.  Thanks.
> 
> --Justin
> 
> 
> On Jan 4, 2012, at 10:18 AM, Ben Pfaff wrote:
> 
> > I swear I tested this, but the code was obviously wrong.
> > 
> > I haven't tested the new version yet, but I will before I commit it.
> > 
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> > Reported-by: Brendan Kelley <bkelley at nicira.com>
> > Bug #8729.
> > ---
> > AUTHORS           |    1 +
> > ofproto/ofproto.c |    8 +++++---
> > 2 files changed, 6 insertions(+), 3 deletions(-)
> > 
> > diff --git a/AUTHORS b/AUTHORS
> > index ac34b20..821f780 100644
> > --- a/AUTHORS
> > +++ b/AUTHORS
> > @@ -64,6 +64,7 @@ Alexey I. Froloff       raorn at altlinux.org
> > Bob Ball                bob.ball at citrix.com
> > Brad Hall               brad at nicira.com
> > Brandon Heller          brandonh at stanford.edu
> > +Brendan Kelley          bkelley at nicira.com
> > Bryan Fulton            bryan at nicira.com
> > Bryan Osoro             bosoro at nicira.com
> > Cedric Hobbs            cedric at nicira.com
> > diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
> > index b6f9207..0027a8e 100644
> > --- a/ofproto/ofproto.c
> > +++ b/ofproto/ofproto.c
> > @@ -1,5 +1,5 @@
> > /*
> > - * Copyright (c) 2009, 2010, 2011 Nicira Networks.
> > + * Copyright (c) 2009, 2010, 2011, 2012 Nicira Networks.
> >  * Copyright (c) 2010 Jean Tourrilhes - HP-Labs.
> >  *
> >  * Licensed under the Apache License, Version 2.0 (the "License");
> > @@ -3191,7 +3191,8 @@ ofoperation_complete(struct ofoperation *op, int error)
> >             if (op->victim) {
> >                 ofproto_rule_destroy__(op->victim);
> >             }
> > -            if (!(rule->cr.wc.vlan_tci_mask & htons(VLAN_VID_MASK))
> > +            if ((rule->cr.wc.vlan_tci_mask & htons(VLAN_VID_MASK))
> > +                == htons(VLAN_VID_MASK)
> >                 && ofproto->vlan_bitmap) {
> >                 uint16_t vid = vlan_tci_to_vid(rule->cr.flow.vlan_tci);
> > 
> > @@ -3336,7 +3337,8 @@ ofproto_get_vlan_usage(struct ofproto *ofproto, unsigned long int *vlan_bitmap)
> >         const struct cls_table *table;
> > 
> >         HMAP_FOR_EACH (table, hmap_node, &cls->tables) {
> > -            if (!(table->wc.vlan_tci_mask & htons(VLAN_VID_MASK))) {
> > +            if ((table->wc.vlan_tci_mask & htons(VLAN_VID_MASK))
> > +                == htons(VLAN_VID_MASK)) {
> >                 const struct cls_rule *rule;
> > 
> >                 HMAP_FOR_EACH (rule, hmap_node, &table->rules) {
> > -- 
> > 1.7.2.5
> > 
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> 



More information about the dev mailing list