Re: [PATCH net-next v21 4/4] openvswitch: report error on VLAN nlattr in ovs_key_from_nlattrs()
From: Eric Garver <hidden>
Date: 2016-09-03 15:59:37
On Fri, Sep 02, 2016 at 02:42:41PM -0700, pravin shelar wrote:
On Thu, Sep 1, 2016 at 1:45 PM, Eric Garver [off-list ref] wrote:quoted
With 802.1ad support these are parsed and set upfront by parse_vlan_from_nlattrs() before ovs_key_from_nlattrs() is ever called. As such we should never see a VLAN attribute in ovs_key_from_nlattrs(). Signed-off-by: Eric Garver <redacted> --- net/openvswitch/flow_netlink.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-)diff --git a/net/openvswitch/flow_netlink.c b/net/openvswitch/flow_netlink.c index fbe9e0e4792d..0f36aead744b 100644 --- a/net/openvswitch/flow_netlink.c +++ b/net/openvswitch/flow_netlink.c@@ -923,20 +923,11 @@ static int ovs_key_from_nlattrs(struct net *net, struct sw_flow_match *match, } if (attrs & (1 << OVS_KEY_ATTR_VLAN)) { - __be16 tci; - - tci = nla_get_be16(a[OVS_KEY_ATTR_VLAN]); - if (!(tci & htons(VLAN_TAG_PRESENT))) { - if (is_mask) - OVS_NLERR(log, "VLAN TCI mask does not have exact match for VLAN_TAG_PRESENT bit."); - else - OVS_NLERR(log, "VLAN TCI does not have VLAN_TAG_PRESENT bit set."); - - return -EINVAL; - } - - SW_FLOW_KEY_PUT(match, eth.vlan.tci, tci, is_mask); - attrs &= ~(1 << OVS_KEY_ATTR_VLAN); + /* VLAN attribute is always parsed before getting here since it may + * occur multiple times. + */ + OVS_NLERR(log, "VLAN attribute unexpected."); + return -EINVAL; }Is there reason for not merging this patch with earlier patch?
Not a particularly good one. I'll merge it into patch 3. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev