net/enic: fix VXLAN match
authorHyong Youb Kim <hyonkim@cisco.com>
Sat, 2 Mar 2019 10:42:49 +0000 (02:42 -0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Mar 2019 16:52:22 +0000 (17:52 +0100)
commitd7316eae1a8ab1d8dfb7ac7f2c8804f1a98f2144
tree4463c32f49421244c552e2d40848bac42b51810f
parentaf3a16282aaae67224f0220a29f663b8b1b0fb0a
net/enic: fix VXLAN match

The filter API does not have flags for "match VXLAN". Explicitly set
the UDP destination port and mask in the L4 pattern. Otherwise, UDP
packets with non-VXLAN ports may be falsely reported as VXLAN.

1400 series VIC adapters have hardware VXLAN parsing. The L5 buffer on
the NIC starts with the inner Ethernet header, and the VXLAN header is
now in the L4 buffer following the UDP header. So the VXLAN spec/mask
needs to be in the L4 pattern, not L5. Older models still expect the
VXLAN spec/mask in the L5 pattern. Fix up the L4/L5 patterns
accordingly.

Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled")
Cc: stable@dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
drivers/net/enic/enic_flow.c