[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160518022419.GB27411@vergenet.net>
Date: Wed, 18 May 2016 11:24:21 +0900
From: Simon Horman <simon.horman@...ronome.com>
To: Jiri Benc <jbenc@...hat.com>
Cc: netdev@...r.kernel.org, dev@...nvswitch.org,
Lorand Jakab <lojakab@...co.com>
Subject: Re: [PATCH v9 net-next 5/7] openvswitch: add layer 3 support to
ovs_packet_cmd_execute()
On Tue, May 17, 2016 at 04:51:08PM +0200, Jiri Benc wrote:
> On Wed, 4 May 2016 16:36:31 +0900, Simon Horman wrote:
> > + /* Packets from user space for execution only have metadata key
> > + * attributes. OVS_KEY_ATTR_PACKET_ETHERTYPE is then used to specify
> > + * the starting layer of the packet. Packets with Ethernet headers
> > + * have this attribute set to 0
> > + */
> > + if (*attrs & (1ULL << OVS_KEY_ATTR_PACKET_ETHERTYPE)) {
> > + __be16 eth_type;
> > +
> > + if (is_mask) {
> > + /* Always exact match packet EtherType */
> > + eth_type = htons(0xffff);
> > + } else {
> > + eth_type = nla_get_be16(a[OVS_KEY_ATTR_PACKET_ETHERTYPE]);
> > + is_layer3 = ((eth_type == htons(ETH_P_IP)) ||
> > + (eth_type == htons(ETH_P_IPV6)));
>
> Unknown types need to be rejected, not treated as layer2, otherwise we
> may run into problems later (with combination of this kernel + newer
> user space) when we add more types, such as ETH_P_NSH.
I believe this is fixed by the following patch.
Possibly it makes sense to squash that patch into and earlier patches.
Powered by blists - more mailing lists