[ovs-dev] [PATCH 5/5] Use VLAN_VID_SHIFT, even though it is 0, for consistency.
Ben Pfaff
blp at nicira.com
Fri Feb 12 14:17:26 PST 2010
Unfortunately it uglifies the code a bit. I am not sure that it is
worth it.
Reported-by: Jesse Gross <jesse at nicira.com>
---
datapath/datapath.c | 3 ++-
lib/dpif-netdev.c | 8 +++++---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/datapath/datapath.c b/datapath/datapath.c
index 9f415ac..ca0a482 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -775,7 +775,8 @@ static int validate_actions(const struct sw_flow_actions *actions)
break;
case ODPAT_SET_VLAN_VID:
- if (a->vlan_vid.vlan_vid & htons(~VLAN_VID_MASK))
+ if (a->vlan_vid.vlan_vid
+ & htons(~(VLAN_VID_MASK >> VLAN_VID_SHIFT)))
return -EINVAL;
break;
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 1bd8112..7675d4b 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -745,7 +745,8 @@ dpif_netdev_validate_actions(const union odp_action *actions, int n_actions,
case ODPAT_SET_VLAN_VID:
*mutates = true;
- if (a->vlan_vid.vlan_vid & htons(~VLAN_VID_MASK)) {
+ if (a->vlan_vid.vlan_vid
+ & htons(~(VLAN_VID_MASK >> VLAN_VID_SHIFT))) {
return EINVAL;
}
break;
@@ -1268,8 +1269,9 @@ dp_netdev_execute_actions(struct dp_netdev *dp,
break;
case ODPAT_SET_VLAN_VID:
- dp_netdev_modify_vlan_tci(packet, key, ntohs(a->vlan_vid.vlan_vid),
- VLAN_VID_MASK);
+ dp_netdev_modify_vlan_tci(
+ packet, key, ntohs(a->vlan_vid.vlan_vid) << VLAN_VID_SHIFT,
+ VLAN_VID_MASK);
break;
case ODPAT_SET_VLAN_PCP:
--
1.6.6.1
More information about the dev
mailing list