[dpdk-dev] [PATCH v2 13/13] net/enic: fix several issues with inner packet matching

Ferruh Yigit ferruh.yigit at intel.com
Mon Mar 4 17:58:28 CET 2019


On 3/2/2019 10:42 AM, Hyong Youb Kim wrote:
> 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")
> 
> Signed-off-by: Hyong Youb Kim <hyonkim at cisco.com>

<...>

I have added "Cc: stable at dpdk.org" tag while merging. If the tag explicitly left
out to prevent backport please let me know to remove the tag back.



More information about the dev mailing list