On 4/20/2022 12:24 PM, madhuker.myt...@oracle.com wrote: > From: Madhuker Mythri <madhuker.myt...@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.myt...@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.myt...@oracle.com/ Thanks, ferruh