From: Andy Zhou Date: Wed, 26 Jun 2013 15:54:45 +0000 (-0700) Subject: datapath: Bug fix: Kernel rejects flow with valid vlan field X-Git-Tag: sliver-openvswitch-1.10.90-3~6^2~23 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=9bbd9da08efacb9e12376d0905c7776281d268e4 datapath: Bug fix: Kernel rejects flow with valid vlan field Bug #18233 Signed-off-by: Andy Zhou Signed-off-by: Jesse Gross --- diff --git a/datapath/flow.c b/datapath/flow.c index 778771f2a..2ac36b6fb 100644 --- a/datapath/flow.c +++ b/datapath/flow.c @@ -1329,8 +1329,9 @@ static int ovs_key_from_nlattrs(struct sw_flow_match *match, u64 attrs, __be16 tci; tci = nla_get_be16(a[OVS_KEY_ATTR_VLAN]); - if (!is_mask && (tci & htons(VLAN_TAG_PRESENT))) - return -EINVAL; + if (!is_mask) + if (!(tci & htons(VLAN_TAG_PRESENT))) + return -EINVAL; SW_FLOW_KEY_PUT(match, eth.tci, tci, is_mask); attrs &= ~(1ULL << OVS_KEY_ATTR_VLAN);