ofproto-dpif: Fix check for 802.1Q header in commit_odp_actions().
authorBen Pfaff <blp@nicira.com>
Mon, 12 Sep 2011 17:49:55 +0000 (10:49 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 12 Sep 2011 19:16:21 +0000 (12:16 -0700)
The 'vlan_tci' member of struct flow has value 0, not OFP_VLAN_NONE, when
there is no 802.1Q header.

Fixes a problem introduced in commit d9065a90b6b "datapath: VLAN actions
should use push/pop semantics."

Found by sparse.

CC: Pravin Shelar <pshelar@nicira.com>
ofproto/ofproto-dpif.c

index 3074881..c632df6 100644 (file)
@@ -2859,7 +2859,7 @@ commit_odp_actions(struct action_xlate_ctx *ctx)
         if (!(flow->vlan_tci & htons(VLAN_CFI))) {
             nl_msg_put_flag(odp_actions, OVS_ACTION_ATTR_POP_VLAN);
         } else {
-            if (base->vlan_tci != OFP_VLAN_NONE) {
+            if (base->vlan_tci != htons(0)) {
                 nl_msg_put_flag(odp_actions, OVS_ACTION_ATTR_POP_VLAN);
             }
             nl_msg_put_be16(odp_actions, OVS_ACTION_ATTR_PUSH_VLAN,