On Wed, 15 Nov 2023 15:38:55 +0530 madhukar mythri <madhukar.myt...@gmail.com> wrote:
> Hi all, > > On the RHEL9.2 with DPDK 22.11.1 version, DPDK primary application failed > to add RSS flow on TAP sub-device, when loading the TAP BPF byte-code > instructions. > > This "struct bpf_insn l3_l4_hash_insns[]" array(from file: > drivers/net/tap/tap_bpf_insns.h) is in eBPF bytecode instructions format, > this eBPF failed to load on TAP PMD with the following error: > > ===================== > rss_add_actions(): Failed to load BPF section 'l3_l4' (7): Argument list > too long. > net_failsafe: Failed to create a flow on sub_device 1." > ===================== > On Kernel-version: 5.15.0 #9 SMP PREEMPT > Arch: x86_64 GNU/Linux > > When added some debug logs on Kernel BPF verifier code, we could see that > instruction processed were reached to 1 Million. > But, the Byte code has only 1698 instructions only. Why the Kernel BPF > verifier is processing beyond 1,698 instructions ? > > The same byte-code(with DPDK-22.11.1) worked well with RHEL8.x and not > working in RHEL-9.x version. > > Does anybody faced such issues ? > Please let me know how to debug such issues on Byte-code. > > Thanks, > Madhukar. Is there anything in the kernel log?