|author||Hyong Youb Kim <firstname.lastname@example.org>||2019-03-02 02:42:51 -0800|
|committer||Ferruh Yigit <email@example.com>||2019-03-08 17:52:22 +0100|
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: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled") Cc: firstname.lastname@example.org Signed-off-by: Hyong Youb Kim <email@example.com>
Diffstat (limited to 'doc')
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
index 834678a..544ebc8 100644
@@ -79,6 +79,8 @@ New Features
* **Updated the enic driver.**
+ * Fixed several flow (director) bugs related to MARK, SCTP, VLAN, VXLAN, and
+ inner packet matching.
* Added limited support for RAW.
* Added limited support for RSS.
* Added limited support for PASSTHRU.