numam-dpdk/drivers
Hyong Youb Kim 4445a0f4c7 net/enic: fix inner packet matching
Inner packet matching is currently buggy in many cases.

1. Mishandling null spec ("match any").
The copy_item functions do nothing if spec is null. This is incorrect,
as all patterns should be appended to the L5 pattern buffer even for
null spec (treated as all zeros).

2. Accessing null spec causing segfault.

3. Not setting protocol fields.
The NIC filter API currently has no flags for "match inner IPv4, IPv6,
UDP, TCP, and so on". So, the driver needs to explicitly set EtherType
and IP protocol fields in the L5 pattern buffer to avoid false
positives (e.g. reporting IPv6 as IPv4).

Instead of keep adding "if inner, do something differently" cases to
the existing copy_item functions, introduce separate functions for
inner packet patterns and address the above issues in those
functions. The changes to the previous outer-packet copy_item
functions are mechanical, due to reduced indentation.

Fixes: 6ced137607 ("net/enic: flow API for NICs with advanced filters enabled")
Cc: stable@dpdk.org

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-08 17:52:22 +01:00
..
baseband bb/turbo_sw: update for FlexRAN 18.09 2018-12-19 11:19:10 +01:00
bus bus/vdev: fix hotplug twice 2019-03-05 12:32:31 +00:00
common compress/qat: fix dequeue error counter 2018-12-19 11:19:10 +01:00
compress build: improve dependency handling 2019-02-27 12:13:54 +01:00
crypto crypto/virtio: use local log type 2019-03-01 18:17:36 +01:00
event fix global variable issues 2018-10-29 02:34:27 +01:00
mempool mempool/dpaa2: fix continuous print on empty pool 2019-03-01 18:17:35 +01:00
net net/enic: fix inner packet matching 2019-03-08 17:52:22 +01:00
raw raw/ifpga: fix memory leak 2019-01-19 00:07:52 +01:00
Makefile drivers: add common as dependency for bus 2018-10-16 14:54:25 +02:00
meson.build build: improve dependency handling 2019-02-27 12:13:54 +01:00