[PATCH] net/tap: Fixed RSS algorithm to support fragmented packets

Ferruh Yigit ferruh.yigit at amd.com
Thu Jan 19 13:03:59 CET 2023


On 4/20/2022 12:24 PM, madhuker.mythri at oracle.com wrote:
> From: Madhuker Mythri <madhuker.mythri at oracle.com>
> 
> As per analysis on Tap PMD, the existing RSS algorithm considering
> 4-tuple(Src-IP, Dst-IP, Src-port and Dst-port) and identification of
> fragment packets is not done, thus we are seeing all the fragmented
> chunks of single packet differs in RSS hash value and distributed across
> multiple queues.
> The RSS algorithm assumes that, all the incoming IP packets are based on
> L4-protocol(UDP/TCP) and trying to fetch the L4 fields(Src-port and
> Dst-port) for each incoming packet, but for the fragmented chunks these
> L4-header will not be present(except for first packet) and should not
> consider in RSS hash for L4 header fields in-case of fragmented chunks.
> Which is a bug in the RSS algorithm implemented in the BPF functionality
> under TAP PMD.
> 
> So, modified the RSS eBPF C-program and generated the structure of
> C-array in the 'tap_bpf_insns.h' file, which is in eBPF byte-code
> instructions format.
> 
> Bugzilla Id: 870
> 
> Signed-off-by: Madhuker Mythri <madhuker.mythri at oracle.com>
> ---
>  drivers/net/tap/tap_bpf_insns.h   | 3371 +++++++++++++++--------------
>  drivers/net/tap/tap_bpf_program.c |   47 +-
>  2 files changed, 1742 insertions(+), 1676 deletions(-)

Hi Ophir,

Original files from you, can you please help to review this patch?

For reference, this is in patchwork:
https://patches.dpdk.org/project/dpdk/patch/20220420112400.2271-1-madhuker.mythri@oracle.com/

Thanks,
ferruh


More information about the dev mailing list