[ovs-dev] [PATCH] ofproto: Fix detection of in-use VLANs based on the flow table.
Justin Pettit
jpettit at nicira.com
Wed Jan 4 18:47:06 UTC 2012
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