[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOrHB_BhPvf_rM3YR5mRSCQPhvnosBDoBEyFvags98CHtM9Z+g@mail.gmail.com>
Date: Fri, 2 Sep 2016 14:42:41 -0700
From: pravin shelar <pshelar@....org>
To: Eric Garver <e@...g.me>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
ovs dev <dev@...nvswitch.org>,
Thomas F Herbert <thomasfherbert@...il.com>
Subject: Re: [ovs-dev] [PATCH net-next v21 4/4] openvswitch: report error on
VLAN nlattr in ovs_key_from_nlattrs()
On Thu, Sep 1, 2016 at 1:45 PM, Eric Garver <e@...g.me> wrote:
> 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 <e@...g.me>
> ---
> 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?
Powered by blists - more mailing lists