Bug 2343204 - kernel panic in ixgbe driver
Summary: kernel panic in ixgbe driver
Keywords:
Status: CLOSED COMPLETED
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-31 14:48 UTC by Jan Tluka
Modified: 2025-02-20 08:17 UTC (History)
16 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-20 08:17:22 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jan Tluka 2025-01-31 14:48:30 UTC
1. Please describe the problem:

When running a LNST XDPTxRecipe the host with ixgbe NIC panics with:

[   87.897349] ixgbe 0000:b3:00.0: registered PHC device on ens4f0
[   88.076038] ixgbe 0000:b3:00.0 ens4f0: detected SFP+: 3
[   88.318052] ixgbe 0000:b3:00.0 ens4f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[   93.146980] ixgbe 0000:b3:00.0 ens4f0: detected SFP+: 3
[   93.390011] ixgbe 0000:b3:00.0 ens4f0: NIC Link is Up 10 Gbps, Flow Control: TX
[   95.948969] ixgbe 0000:b3:00.0 ens4f0: detected SFP+: 3
[   96.191001] ixgbe 0000:b3:00.0 ens4f0: NIC Link is Up 10 Gbps, Flow Control: None
[  122.063053] sh (2176): drop_caches: 1
[  122.236253] ixgbe 0000:b3:00.0: removed PHC on ens4f0
[  122.302434] ixgbe 0000:b3:00.0: Multiqueue Enabled: Rx Queue count = 32, Tx Queue count = 32 XDP Queue count = 32
[  122.507214] ixgbe 0000:b3:00.0: registered PHC device on ens4f0
[  122.614887] BUG: kernel NULL pointer dereference, address: 0000000000000030
[  122.621849] #PF: supervisor read access in kernel mode
[  122.626986] #PF: error_code(0x0000) - not-present page
[  122.632127] PGD 0 
[  122.634145] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
[  122.639024] CPU: 31 UID: 0 PID: 0 Comm: swapper/31 Kdump: loaded Not tainted 6.14.0-0.rc0.20250130git72deda0abee6.11.eln145.x86_64 #1
[  122.651012] Hardware name: Dell Inc. PowerEdge R750/0V3GRK, BIOS 1.11.2 08/10/2023
[  122.658576] RIP: 0010:ixgbe_clean_rx_irq+0x335/0x810 [ixgbe]
[  122.664255] Code: 00 4d 8b 46 38 84 c9 0f 84 99 03 00 00 41 80 7d 3a 00 0f 84 c4 fd ff ff e9 d4 03 00 00 48 8b 73 08 49 81 fd 00 f0 ff ff 77 0a <49> 39 75 30 0f 84 7c 01 00 00 49 8b 56 38 49 8b 7e 20 b8 00 10 00
[  122.683002] RSP: 0018:ff6f4bfb06d20d60 EFLAGS: 00010207
[  122.684877] ixgbe 0000:b3:00.0 ens4f0: detected SFP+: 3
[  122.688227] RAX: 000000000000fffe RBX: ff6f4bfb0f12e000 RCX: 0000000000000000
[  122.688228] RDX: ffad4cdc84224600 RSI: 0000000108918000 RDI: 0000000000000036
[  122.693640] ixgbe 0000:b3:00.0 ens4f0: initiating reset to clear Tx work after link loss
[  122.700586] RBP: ff2d79438838c000 R08: 0000000000000001 R09: ff6f4bfb0f22e000
[  122.700587] R10: 0000000000000000 R11: ff2d7943857790c8 R12: 0000000000000000
[  122.700588] R13: 0000000000000000 R14: ff2d7943895728c0 R15: 000000000000003c
[  122.700589] FS:  0000000000000000(0000) GS:ff2d794b5fb80000(0000) knlGS:0000000000000000
[  122.745280] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  122.751026] CR2: 0000000000000030 CR3: 0000000441c22003 CR4: 0000000000773ef0
[  122.758159] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  122.765291] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  122.772425] PKRU: 55555554
[  122.775137] Call Trace:
[  122.777591]  <IRQ>
[  122.779609]  ? show_trace_log_lvl+0x1d3/0x300
[  122.783967]  ? show_trace_log_lvl+0x1d3/0x300
[  122.788327]  ? show_trace_log_lvl+0x1d3/0x300
[  122.792689]  ? ixgbe_poll+0xe7/0x250 [ixgbe]
[  122.796978]  ? __die_body.cold+0x8/0x12
[  122.800818]  ? page_fault_oops+0x148/0x180
[  122.804915]  ? exc_page_fault+0x73/0x160
[  122.808842]  ? asm_exc_page_fault+0x26/0x30
[  122.813029]  ? ixgbe_clean_rx_irq+0x335/0x810 [ixgbe]
[  122.818090]  ixgbe_poll+0xe7/0x250 [ixgbe]
[  122.822199]  __napi_poll+0x31/0x1f0
[  122.825692]  net_rx_action+0x338/0x420
[  122.829443]  ? perf_event_task_tick+0x50/0xc0
[  122.833803]  handle_softirqs+0xde/0x290
[  122.837643]  __irq_exit_rcu+0xcd/0xf0
[  122.841309]  common_interrupt+0x87/0xa0
[  122.845149]  </IRQ>
[  122.847253]  <TASK>
[  122.849358]  asm_common_interrupt+0x26/0x40
[  122.853544] RIP: 0010:poll_idle+0x55/0xa0
[  122.857558] Code: 80 4d 02 20 49 8b 45 00 a8 08 75 33 4c 89 e7 48 89 de e8 3e ff ff ff 49 89 c4 b8 c9 00 00 00 49 8b 55 00 83 e2 08 75 17 f3 90 <83> e8 01 75 f0 e8 01 da ff ff 48 29 e8 49 39 c4 73 de 80 0b 04 fa
[  122.876304] RSP: 0018:ff6f4bfb045c7e38 EFLAGS: 00000246
[  122.881530] RAX: 0000000000000074 RBX: ff2d794b5fbc1500 RCX: 0000000000000000
[  122.888664] RDX: 0000000000000000 RSI: fffffe306f2efb6b RDI: 000000002c3de019
[  122.895796] RBP: 0000001c8c6a42d8 R08: 0000000000000004 R09: ff2d794b5fbb07a0
[  122.902928] R10: 0000000000034dcc R11: 0000000000000309 R12: 000000000000f424
[  122.910061] R13: ff2d79438381a140 R14: 0000000000000000 R15: 0000000000000000
[  122.917194]  ? poll_idle+0x5f/0xa0
[  122.920600]  cpuidle_enter_state+0x74/0x400
[  122.924788]  cpuidle_enter+0x32/0x50
[  122.928365]  cpuidle_idle_call+0xf3/0x160
[  122.932380]  ? sched_clock_cpu+0xf/0x200
[  122.936305]  do_idle+0x73/0xd0
[  122.939365]  cpu_startup_entry+0x30/0x40
[  122.943290]  start_secondary+0x119/0x140
[  122.947216]  common_startup_64+0x13e/0x141
[  122.951316]  </TASK>
[  122.953509] Modules linked in: sunrpc ipmi_ssif vfat fat intel_rapl_msr intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common i10nm_edac skx_edac_common nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp dell_pc kvm_intel platform_profile irdma mlx5_ib kvm i40e dell_wmi dax_hmem sparse_keymap rapl ib_uverbs macsec cxl_acpi intel_cstate rfkill iTCO_wdt cxl_port video dell_smbios iTCO_vendor_support cxl_core dell_wmi_descriptor dcdbas intel_th_gth intel_uncore wmi_bmof einj acpi_power_meter pcspkr ib_core mgag200 mei_me i2c_i801 isst_if_mmio isst_if_mbox_pci intel_th_pci ipmi_si i2c_algo_bit acpi_ipmi mei i2c_smbus isst_if_common intel_th ipmi_devintf intel_vsec intel_pch_thermal ipmi_msghandler fuse xfs sd_mod sg mlx5_core ice ixgbe mlxfw ahci tls libahci mdio psample megaraid_sas gnss libata tg3 ghash_clmulni_intel dca pci_hyperv_intf libie wmi dm_mirror dm_region_hash dm_log dm_mod
[  123.034014] CR2: 0000000000000030


2. What is the Version-Release number of the kernel:

kernel-6.14.0-0.rc0.20250130git72deda0abee6.11.eln145 

3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?  Old kernels are available for download at
   https://koji.fedoraproject.org/koji/packageinfo?packageID=8 :

kernel-6.13.0-62.eln145


4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:

Yes, reproducible by running the LNST recipe with following parameters:

LNST_RECIPE_PARAMS="perf_tool_cpu=[1, 3, 5, 7, 9];driver='ixgbe';perf_duration=10;ip_versions=['ipv4'];perf_msg_sizes=[60];perf_tests=['xdp'];rx_pause_frames=False;tx_pause_frames=False;disable_turboboost=True;minimal_idlestates_latency=0;drop_caches=True;offload_combinations=[{'gro': 'on', 'gso': 'on', 'tso': 'on', 'tx': 'on', 'rx': 'on'}];save_sosreport=False;perf_warmup_duration=3;multi_dev_interrupt_config={'host1': {'eth0': {'cpus': [11, 13, 15], 'cpu_policy': 'round-robin'}}, 'host2': {'eth0': {'cpus': [11], 'cpu_policy': 'all'}}};primary_packages=[['host1', 'kernel'], ['host2', 'kernel']];perf_evaluation_strategy='rolling';xdp_load_mode='dpa';lab_comparison_group='lnst-icelake'"

5. Does this problem occur with the latest Rawhide kernel? To install the
   Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by
   ``sudo dnf update --enablerepo=rawhide kernel``:


6. Are you running any modules that not shipped with directly Fedora's kernel?:


7. Please attach the kernel logs. You can get the complete kernel log
   for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the
   issue occurred on a previous boot, use the journalctl ``-b`` flag.

Reproducible: Always

Comment 1 Samuel Dobroň 2025-02-07 14:08:40 UTC
Panic can be reproduced by loading xdp program and sending a packet to interface 
which triggers loaded xdp program and then kernel crashes, so most likely something
wrong with xdp/bpf program machinery in the driver... Load itself doesn't trigger it
(just assuming based on, it won't crash kernel if no packet is received).


Load log, nothing interesting I'd say:
[root@11-r750-u61-u22 ~]# xdp-bench drop -vv ens4f0
Current rlimit 8388608 already >= minimum 1048576
  libbpf: loading object 'xdp_basic' from buffer
  libbpf: elf: section(3) tp_btf/xdp_redirect_err, size 648, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_redirect_err': found program 'tp_xdp_redirect_err' at insn offset 0 (0 bytes), code size 81 insns (648 bytes)
  libbpf: elf: section(4) .reltp_btf/xdp_redirect_err, size 64, link 41, flags 40, type=9
  libbpf: elf: section(5) tp_btf/xdp_redirect_map_err, size 648, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_redirect_map_err': found program 'tp_xdp_redirect_map_err' at insn offset 0 (0 bytes), code size 81 insns (648 bytes)
  libbpf: elf: section(6) .reltp_btf/xdp_redirect_map_err, size 64, link 41, flags 40, type=9
  libbpf: elf: section(7) tp_btf/xdp_redirect, size 648, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_redirect': found program 'tp_xdp_redirect' at insn offset 0 (0 bytes), code size 81 insns (648 bytes)
  libbpf: elf: section(8) .reltp_btf/xdp_redirect, size 64, link 41, flags 40, type=9
  libbpf: elf: section(9) tp_btf/xdp_redirect_map, size 648, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_redirect_map': found program 'tp_xdp_redirect_map' at insn offset 0 (0 bytes), code size 81 insns (648 bytes)
  libbpf: elf: section(10) .reltp_btf/xdp_redirect_map, size 64, link 41, flags 40, type=9
  libbpf: elf: section(11) tp_btf/xdp_cpumap_enqueue, size 320, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_cpumap_enqueue': found program 'tp_xdp_cpumap_enqueue' at insn offset 0 (0 bytes), code size 40 insns (320 bytes)
  libbpf: elf: section(12) .reltp_btf/xdp_cpumap_enqueue, size 48, link 41, flags 40, type=9
  libbpf: elf: section(13) tp_btf/xdp_cpumap_kthread, size 696, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_cpumap_kthread': found program 'tp_xdp_cpumap_kthread' at insn offset 0 (0 bytes), code size 50 insns (400 bytes)
  libbpf: sec 'tp_btf/xdp_cpumap_kthread': found program 'tp_xdp_cpumap_compat' at insn offset 50 (400 bytes), code size 37 insns (296 bytes)
  libbpf: elf: section(14) .reltp_btf/xdp_cpumap_kthread, size 64, link 41, flags 40, type=9
  libbpf: elf: section(15) tp_btf/xdp_exception, size 536, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_exception': found program 'tp_xdp_exception' at insn offset 0 (0 bytes), code size 67 insns (536 bytes)
  libbpf: elf: section(16) .reltp_btf/xdp_exception, size 96, link 41, flags 40, type=9
  libbpf: elf: section(17) tp_btf/xdp_devmap_xmit, size 1480, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_devmap_xmit': found program 'tp_xdp_devmap_xmit' at insn offset 0 (0 bytes), code size 81 insns (648 bytes)
  libbpf: sec 'tp_btf/xdp_devmap_xmit': found program 'tp_xdp_devmap_xmit_multi' at insn offset 81 (648 bytes), code size 104 insns (832 bytes)
  libbpf: elf: section(18) .reltp_btf/xdp_devmap_xmit, size 176, link 41, flags 40, type=9
  libbpf: elf: section(19) xdp, size 4600, link 0, flags 6, type=1
  libbpf: sec 'xdp': found program 'xdp_basic_prog' at insn offset 0 (0 bytes), code size 46 insns (368 bytes)
  libbpf: sec 'xdp': found program 'xdp_read_data_prog' at insn offset 46 (368 bytes), code size 67 insns (536 bytes)
  libbpf: sec 'xdp': found program 'xdp_read_data_load_bytes_prog' at insn offset 113 (904 bytes), code size 77 insns (616 bytes)
  libbpf: sec 'xdp': found program 'xdp_swap_macs_prog' at insn offset 190 (1520 bytes), code size 63 insns (504 bytes)
  libbpf: sec 'xdp': found program 'xdp_swap_macs_load_bytes_prog' at insn offset 253 (2024 bytes), code size 78 insns (624 bytes)
  libbpf: sec 'xdp': found program 'xdp_parse_prog' at insn offset 331 (2648 bytes), code size 156 insns (1248 bytes)
  libbpf: sec 'xdp': found program 'xdp_parse_load_bytes_prog' at insn offset 487 (3896 bytes), code size 88 insns (704 bytes)
  libbpf: elf: section(20) .relxdp, size 672, link 41, flags 40, type=9
  libbpf: elf: section(21) .rodata, size 268, link 0, flags 2, type=1
  libbpf: elf: section(22) .bss, size 4, link 0, flags 3, type=8
  libbpf: elf: section(23) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp_basic is GPL
  libbpf: elf: section(24) .maps, size 256, link 0, flags 3, type=1
  libbpf: elf: section(33) .BTF, size 7353, link 0, flags 0, type=1
  libbpf: elf: section(35) .BTF.ext, size 10028, link 0, flags 0, type=1
  libbpf: elf: section(41) .symtab, size 4344, link 1, flags 0, type=2
  libbpf: looking for externs among 181 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'rx_cnt': at sec_idx 24, offset 0.
  libbpf: map 'rx_cnt': found type = 2.
  libbpf: map 'rx_cnt': found key [8], sz = 4.
  libbpf: map 'rx_cnt': found value [10], sz = 64.
  libbpf: map 'rx_cnt': found map_flags = 0x400.
  libbpf: map 'redir_err_cnt': at sec_idx 24, offset 32.
  libbpf: map 'redir_err_cnt': found type = 2.
  libbpf: map 'redir_err_cnt': found key [8], sz = 4.
  libbpf: map 'redir_err_cnt': found value [10], sz = 64.
  libbpf: map 'redir_err_cnt': found map_flags = 0x400.
  libbpf: map 'cpumap_enqueue_cnt': at sec_idx 24, offset 64.
  libbpf: map 'cpumap_enqueue_cnt': found type = 2.
  libbpf: map 'cpumap_enqueue_cnt': found key [8], sz = 4.
  libbpf: map 'cpumap_enqueue_cnt': found value [10], sz = 64.
  libbpf: map 'cpumap_enqueue_cnt': found map_flags = 0x400.
  libbpf: map 'cpumap_kthread_cnt': at sec_idx 24, offset 96.
  libbpf: map 'cpumap_kthread_cnt': found type = 2.
  libbpf: map 'cpumap_kthread_cnt': found key [8], sz = 4.
  libbpf: map 'cpumap_kthread_cnt': found value [10], sz = 64.
  libbpf: map 'cpumap_kthread_cnt': found map_flags = 0x400.
  libbpf: map 'exception_cnt': at sec_idx 24, offset 128.
  libbpf: map 'exception_cnt': found type = 2.
  libbpf: map 'exception_cnt': found key [8], sz = 4.
  libbpf: map 'exception_cnt': found value [10], sz = 64.
  libbpf: map 'exception_cnt': found map_flags = 0x400.
  libbpf: map 'devmap_xmit_cnt': at sec_idx 24, offset 160.
  libbpf: map 'devmap_xmit_cnt': found type = 2.
  libbpf: map 'devmap_xmit_cnt': found key [8], sz = 4.
  libbpf: map 'devmap_xmit_cnt': found value [10], sz = 64.
  libbpf: map 'devmap_xmit_cnt': found map_flags = 0x400.
  libbpf: map 'rxq_cnt': at sec_idx 24, offset 192.
  libbpf: map 'rxq_cnt': found type = 2.
  libbpf: map 'rxq_cnt': found key [8], sz = 4.
  libbpf: map 'rxq_cnt': found value [10], sz = 64.
  libbpf: map 'rxq_cnt': found map_flags = 0x400.
  libbpf: map 'devmap_xmit_cnt_multi': at sec_idx 24, offset 224.
  libbpf: map 'devmap_xmit_cnt_multi': found type = 5.
  libbpf: map 'devmap_xmit_cnt_multi': found key [26], sz = 8.
  libbpf: map 'devmap_xmit_cnt_multi': found value [10], sz = 64.
  libbpf: map 'devmap_xmit_cnt_multi': found max_entries = 1024.
  libbpf: map 'xdp_basi.rodata' (global data): at sec_idx 21, offset 0, flags 480.
  libbpf: map 8 is "xdp_basi.rodata"
  libbpf: map 'xdp_basi.bss' (global data): at sec_idx 22, offset 0, flags 400.
  libbpf: map 9 is "xdp_basi.bss"
  libbpf: sec '.reltp_btf/xdp_redirect_err': collecting relocation for section(3) 'tp_btf/xdp_redirect_err'
  libbpf: sec '.reltp_btf/xdp_redirect_err': relo #0: insn #4 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 4
  libbpf: sec '.reltp_btf/xdp_redirect_err': relo #1: insn #15 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.reltp_btf/xdp_redirect_err': relo #2: insn #60 against 'nr_cpus'
  libbpf: prog 'tp_xdp_redirect_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 60
  libbpf: sec '.reltp_btf/xdp_redirect_err': relo #3: insn #68 against 'redir_err_cnt'
  libbpf: prog 'tp_xdp_redirect_err': found map 1 (redir_err_cnt, sec 24, off 32) for insn #68
  libbpf: sec '.reltp_btf/xdp_redirect_map_err': collecting relocation for section(5) 'tp_btf/xdp_redirect_map_err'
  libbpf: sec '.reltp_btf/xdp_redirect_map_err': relo #0: insn #4 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_map_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 4
  libbpf: sec '.reltp_btf/xdp_redirect_map_err': relo #1: insn #15 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_map_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.reltp_btf/xdp_redirect_map_err': relo #2: insn #60 against 'nr_cpus'
  libbpf: prog 'tp_xdp_redirect_map_err': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 60
  libbpf: sec '.reltp_btf/xdp_redirect_map_err': relo #3: insn #68 against 'redir_err_cnt'
  libbpf: prog 'tp_xdp_redirect_map_err': found map 1 (redir_err_cnt, sec 24, off 32) for insn #68
  libbpf: sec '.reltp_btf/xdp_redirect': collecting relocation for section(7) 'tp_btf/xdp_redirect'
  libbpf: sec '.reltp_btf/xdp_redirect': relo #0: insn #4 against 'from_match'
  libbpf: prog 'tp_xdp_redirect': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 4
  libbpf: sec '.reltp_btf/xdp_redirect': relo #1: insn #15 against 'from_match'
  libbpf: prog 'tp_xdp_redirect': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.reltp_btf/xdp_redirect': relo #2: insn #60 against 'nr_cpus'
  libbpf: prog 'tp_xdp_redirect': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 60
  libbpf: sec '.reltp_btf/xdp_redirect': relo #3: insn #68 against 'redir_err_cnt'
  libbpf: prog 'tp_xdp_redirect': found map 1 (redir_err_cnt, sec 24, off 32) for insn #68
  libbpf: sec '.reltp_btf/xdp_redirect_map': collecting relocation for section(9) 'tp_btf/xdp_redirect_map'
  libbpf: sec '.reltp_btf/xdp_redirect_map': relo #0: insn #4 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_map': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 4
  libbpf: sec '.reltp_btf/xdp_redirect_map': relo #1: insn #15 against 'from_match'
  libbpf: prog 'tp_xdp_redirect_map': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.reltp_btf/xdp_redirect_map': relo #2: insn #60 against 'nr_cpus'
  libbpf: prog 'tp_xdp_redirect_map': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 60
  libbpf: sec '.reltp_btf/xdp_redirect_map': relo #3: insn #68 against 'redir_err_cnt'
  libbpf: prog 'tp_xdp_redirect_map': found map 1 (redir_err_cnt, sec 24, off 32) for insn #68
  libbpf: sec '.reltp_btf/xdp_cpumap_enqueue': collecting relocation for section(11) 'tp_btf/xdp_cpumap_enqueue'
  libbpf: sec '.reltp_btf/xdp_cpumap_enqueue': relo #0: insn #5 against 'cpumap_map_id'
  libbpf: prog 'tp_xdp_cpumap_enqueue': found data map 9 (xdp_basi.bss, sec 22, off 0) for insn 5
  libbpf: sec '.reltp_btf/xdp_cpumap_enqueue': relo #1: insn #12 against 'nr_cpus'
  libbpf: prog 'tp_xdp_cpumap_enqueue': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 12
  libbpf: sec '.reltp_btf/xdp_cpumap_enqueue': relo #2: insn #20 against 'cpumap_enqueue_cnt'
  libbpf: prog 'tp_xdp_cpumap_enqueue': found map 2 (cpumap_enqueue_cnt, sec 24, off 64) for insn #20
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': collecting relocation for section(13) 'tp_btf/xdp_cpumap_kthread'
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': relo #0: insn #4 against 'cpumap_map_id'
  libbpf: prog 'tp_xdp_cpumap_kthread': found data map 9 (xdp_basi.bss, sec 22, off 0) for insn 4
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': relo #1: insn #16 against 'cpumap_kthread_cnt'
  libbpf: prog 'tp_xdp_cpumap_kthread': found map 3 (cpumap_kthread_cnt, sec 24, off 96) for insn #16
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': relo #2: insn #53 against 'cpumap_map_id'
  libbpf: prog 'tp_xdp_cpumap_compat': found data map 9 (xdp_basi.bss, sec 22, off 0) for insn 3
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': relo #3: insn #65 against 'cpumap_kthread_cnt'
  libbpf: prog 'tp_xdp_cpumap_compat': found map 3 (cpumap_kthread_cnt, sec 24, off 96) for insn #15
  libbpf: sec '.reltp_btf/xdp_exception': collecting relocation for section(15) 'tp_btf/xdp_exception'
  libbpf: sec '.reltp_btf/xdp_exception': relo #0: insn #3 against 'from_match'
  libbpf: prog 'tp_xdp_exception': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 3
  libbpf: sec '.reltp_btf/xdp_exception': relo #1: insn #15 against 'from_match'
  libbpf: prog 'tp_xdp_exception': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.reltp_btf/xdp_exception': relo #2: insn #24 against 'to_match'
  libbpf: prog 'tp_xdp_exception': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 24
  libbpf: sec '.reltp_btf/xdp_exception': relo #3: insn #36 against 'to_match'
  libbpf: prog 'tp_xdp_exception': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 36
  libbpf: sec '.reltp_btf/xdp_exception': relo #4: insn #50 against 'nr_cpus'
  libbpf: prog 'tp_xdp_exception': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 50
  libbpf: sec '.reltp_btf/xdp_exception': relo #5: insn #58 against 'exception_cnt'
  libbpf: prog 'tp_xdp_exception': found map 4 (exception_cnt, sec 24, off 128) for insn #58
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': collecting relocation for section(17) 'tp_btf/xdp_devmap_xmit'
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #0: insn #7 against 'from_match'
  libbpf: prog 'tp_xdp_devmap_xmit': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 7
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #1: insn #18 against 'from_match'
  libbpf: prog 'tp_xdp_devmap_xmit': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 18
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #2: insn #27 against 'to_match'
  libbpf: prog 'tp_xdp_devmap_xmit': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 27
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #3: insn #38 against 'to_match'
  libbpf: prog 'tp_xdp_devmap_xmit': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 38
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #4: insn #51 against 'devmap_xmit_cnt'
  libbpf: prog 'tp_xdp_devmap_xmit': found map 5 (devmap_xmit_cnt, sec 24, off 160) for insn #51
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #5: insn #103 against 'from_match'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 22
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #6: insn #114 against 'from_match'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 33
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #7: insn #123 against 'to_match'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 42
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #8: insn #136 against 'to_match'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 55
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #9: insn #149 against 'devmap_xmit_cnt_multi'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found map 7 (devmap_xmit_cnt_multi, sec 24, off 224) for insn #68
  libbpf: sec '.reltp_btf/xdp_devmap_xmit': relo #10: insn #154 against 'devmap_xmit_cnt_multi'
  libbpf: prog 'tp_xdp_devmap_xmit_multi': found map 7 (devmap_xmit_cnt_multi, sec 24, off 224) for insn #73
  libbpf: sec '.relxdp': collecting relocation for section(19) 'xdp'
  libbpf: sec '.relxdp': relo #0: insn #6 against 'rx_cnt'
  libbpf: prog 'xdp_basic_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #6
  libbpf: sec '.relxdp': relo #1: insn #13 against 'action'
  libbpf: prog 'xdp_basic_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 13
  libbpf: sec '.relxdp': relo #2: insn #20 against 'rxq_stats'
  libbpf: prog 'xdp_basic_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 20
  libbpf: sec '.relxdp': relo #3: insn #26 against 'rxq_cnt'
  libbpf: prog 'xdp_basic_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #26
  libbpf: sec '.relxdp': relo #4: insn #33 against 'action'
  libbpf: prog 'xdp_basic_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 33
  libbpf: sec '.relxdp': relo #5: insn #40 against 'action'
  libbpf: prog 'xdp_basic_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 40
  libbpf: sec '.relxdp': relo #6: insn #49 against 'action'
  libbpf: prog 'xdp_read_data_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 3
  libbpf: sec '.relxdp': relo #7: insn #61 against 'action'
  libbpf: prog 'xdp_read_data_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 15
  libbpf: sec '.relxdp': relo #8: insn #69 against 'rx_cnt'
  libbpf: prog 'xdp_read_data_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #23
  libbpf: sec '.relxdp': relo #9: insn #85 against 'rxq_stats'
  libbpf: prog 'xdp_read_data_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 39
  libbpf: sec '.relxdp': relo #10: insn #91 against 'rxq_cnt'
  libbpf: prog 'xdp_read_data_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #45
  libbpf: sec '.relxdp': relo #11: insn #98 against 'action'
  libbpf: prog 'xdp_read_data_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 52
  libbpf: sec '.relxdp': relo #12: insn #114 against 'action'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 1
  libbpf: sec '.relxdp': relo #13: insn #135 against 'action'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 22
  libbpf: sec '.relxdp': relo #14: insn #143 against 'rx_cnt'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #30
  libbpf: sec '.relxdp': relo #15: insn #161 against 'rxq_stats'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 48
  libbpf: sec '.relxdp': relo #16: insn #167 against 'rxq_cnt'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #54
  libbpf: sec '.relxdp': relo #17: insn #175 against 'action'
  libbpf: prog 'xdp_read_data_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 62
  libbpf: sec '.relxdp': relo #18: insn #214 against 'rx_cnt'
  libbpf: prog 'xdp_swap_macs_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #24
  libbpf: sec '.relxdp': relo #19: insn #221 against 'action'
  libbpf: prog 'xdp_swap_macs_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 31
  libbpf: sec '.relxdp': relo #20: insn #228 against 'rxq_stats'
  libbpf: prog 'xdp_swap_macs_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 38
  libbpf: sec '.relxdp': relo #21: insn #234 against 'rxq_cnt'
  libbpf: prog 'xdp_swap_macs_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #44
  libbpf: sec '.relxdp': relo #22: insn #241 against 'action'
  libbpf: prog 'xdp_swap_macs_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 51
  libbpf: sec '.relxdp': relo #23: insn #248 against 'action'
  libbpf: prog 'xdp_swap_macs_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 58
  libbpf: sec '.relxdp': relo #24: insn #291 against 'rx_cnt'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #38
  libbpf: sec '.relxdp': relo #25: insn #298 against 'action'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 45
  libbpf: sec '.relxdp': relo #26: insn #305 against 'rxq_stats'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 52
  libbpf: sec '.relxdp': relo #27: insn #311 against 'rxq_cnt'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #58
  libbpf: sec '.relxdp': relo #28: insn #318 against 'action'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 65
  libbpf: sec '.relxdp': relo #29: insn #325 against 'action'
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 72
  libbpf: sec '.relxdp': relo #30: insn #334 against 'action'
  libbpf: prog 'xdp_parse_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 3
  libbpf: sec '.relxdp': relo #31: insn #441 against 'action'
  libbpf: prog 'xdp_parse_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 110
  libbpf: sec '.relxdp': relo #32: insn #449 against 'rx_cnt'
  libbpf: prog 'xdp_parse_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #118
  libbpf: sec '.relxdp': relo #33: insn #462 against 'rxq_stats'
  libbpf: prog 'xdp_parse_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 131
  libbpf: sec '.relxdp': relo #34: insn #468 against 'rxq_cnt'
  libbpf: prog 'xdp_parse_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #137
  libbpf: sec '.relxdp': relo #35: insn #475 against 'action'
  libbpf: prog 'xdp_parse_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 144
  libbpf: sec '.relxdp': relo #36: insn #488 against 'action'
  libbpf: prog 'xdp_parse_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 1
  libbpf: sec '.relxdp': relo #37: insn #529 against 'action'
  libbpf: prog 'xdp_parse_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 42
  libbpf: sec '.relxdp': relo #38: insn #537 against 'rx_cnt'
  libbpf: prog 'xdp_parse_load_bytes_prog': found map 0 (rx_cnt, sec 24, off 0) for insn #50
  libbpf: sec '.relxdp': relo #39: insn #550 against 'rxq_stats'
  libbpf: prog 'xdp_parse_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 63
  libbpf: sec '.relxdp': relo #40: insn #556 against 'rxq_cnt'
  libbpf: prog 'xdp_parse_load_bytes_prog': found map 6 (rxq_cnt, sec 24, off 192) for insn #69
  libbpf: sec '.relxdp': relo #41: insn #563 against 'action'
  libbpf: prog 'xdp_parse_load_bytes_prog': found data map 8 (xdp_basi.rodata, sec 21, off 0) for insn 76
  libbpf: loading object 'xdp_sample' from buffer
  libbpf: elf: section(3) tp_btf/xdp_cpumap_kthread, size 224, link 0, flags 6, type=1
  libbpf: sec 'tp_btf/xdp_cpumap_kthread': found program 'tp_xdp_cpumap_kthread' at insn offset 0 (0 bytes), code size 28 insns (224 bytes)
  libbpf: elf: section(4) .reltp_btf/xdp_cpumap_kthread, size 16, link 21, flags 40, type=9
  libbpf: elf: section(5) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp_sample is GPL
  libbpf: elf: section(6) .rodata, size 23, link 0, flags 2, type=1
  libbpf: elf: section(13) .BTF, size 799, link 0, flags 0, type=1
  libbpf: elf: section(15) .BTF.ext, size 316, link 0, flags 0, type=1
  libbpf: elf: section(21) .symtab, size 312, link 1, flags 0, type=2
  libbpf: looking for externs among 13 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'xdp_samp.rodata' (global data): at sec_idx 6, offset 0, flags 80.
  libbpf: map 0 is "xdp_samp.rodata"
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': collecting relocation for section(3) 'tp_btf/xdp_cpumap_kthread'
  libbpf: sec '.reltp_btf/xdp_cpumap_kthread': relo #0: insn #21 against '.rodata'
  libbpf: prog 'tp_xdp_cpumap_kthread': found data map 0 (xdp_samp.rodata, sec 6, off 0) for insn 21
  libbpf: object 'xdp_sample': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: loaded kernel BTF from '/sys/kernel/btf/vmlinux'
  libbpf: sec 'tp_btf/xdp_cpumap_kthread': found 1 CO-RE relocations
  libbpf: CO-RE relocating [6] struct xdp_cpumap_stats: found target candidate [14495] struct xdp_cpumap_stats in [vmlinux]
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: <byte_off> [6] struct xdp_cpumap_stats.pass (0:1 @ offset 4)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: matching candidate #0 <byte_off> [14495] struct xdp_cpumap_stats.pass (0:1 @ offset 4)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: patched insn #17 (LDX/ST/STX) off 4 -> 4
  libbpf: map 'xdp_samp.rodata': created successfully, fd=13
Kernel supports 5-arg xdp_cpumap_kthread tracepoint
Got 32 queues for ifname ens4f0
 libxdp: DATASEC '.xdp_run_config' not found.
 libxdp: Generating multi-prog dispatcher for 1 programs
 libxdp: Checking for kernel frags support
 libxdp: Loading XDP program 'xdp-dispatcher.o' from embedded object file
  libbpf: loading object 'xdp-dispatcher.o' from buffer
  libbpf: elf: section(2) .text, size 528, link 0, flags 6, type=1
  libbpf: sec '.text': found program 'prog0' at insn offset 0 (0 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog1' at insn offset 6 (48 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog2' at insn offset 12 (96 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog3' at insn offset 18 (144 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog4' at insn offset 24 (192 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog5' at insn offset 30 (240 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog6' at insn offset 36 (288 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog7' at insn offset 42 (336 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog8' at insn offset 48 (384 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog9' at insn offset 54 (432 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'compat_test' at insn offset 60 (480 bytes), code size 6 insns (48 bytes)
  libbpf: elf: section(3) xdp, size 1160, link 0, flags 6, type=1
  libbpf: sec 'xdp': found program 'xdp_dispatcher' at insn offset 0 (0 bytes), code size 143 insns (1144 bytes)
  libbpf: sec 'xdp': found program 'xdp_pass' at insn offset 143 (1144 bytes), code size 2 insns (16 bytes)
  libbpf: elf: section(4) .relxdp, size 336, link 24, flags 40, type=9
  libbpf: elf: section(5) .rodata, size 124, link 0, flags 2, type=1
  libbpf: elf: section(6) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp-dispatcher.o is GPL
  libbpf: elf: section(7) xdp_metadata, size 8, link 0, flags 3, type=1
  libbpf: elf: skipping unrecognized data section(7) xdp_metadata
  libbpf: elf: section(16) .BTF, size 3245, link 0, flags 0, type=1
  libbpf: elf: section(18) .BTF.ext, size 2112, link 0, flags 0, type=1
  libbpf: elf: section(24) .symtab, size 936, link 1, flags 0, type=2
  libbpf: looking for externs among 39 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'xdp_disp.rodata' (global data): at sec_idx 5, offset 0, flags 80.
  libbpf: map 0 is "xdp_disp.rodata"
  libbpf: sec '.relxdp': collecting relocation for section(3) 'xdp'
  libbpf: sec '.relxdp': relo #0: insn #1 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 1
  libbpf: sec '.relxdp': relo #1: insn #7 against 'prog0'
  libbpf: sec '.relxdp': relo #2: insn #18 against 'prog1'
  libbpf: sec '.relxdp': relo #3: insn #19 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 19
  libbpf: sec '.relxdp': relo #4: insn #32 against 'prog2'
  libbpf: sec '.relxdp': relo #5: insn #33 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 33
  libbpf: sec '.relxdp': relo #6: insn #45 against 'prog3'
  libbpf: sec '.relxdp': relo #7: insn #46 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 46
  libbpf: sec '.relxdp': relo #8: insn #59 against 'prog4'
  libbpf: sec '.relxdp': relo #9: insn #60 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 60
  libbpf: sec '.relxdp': relo #10: insn #72 against 'prog5'
  libbpf: sec '.relxdp': relo #11: insn #73 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 73
  libbpf: sec '.relxdp': relo #12: insn #86 against 'prog6'
  libbpf: sec '.relxdp': relo #13: insn #87 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 87
  libbpf: sec '.relxdp': relo #14: insn #99 against 'prog7'
  libbpf: sec '.relxdp': relo #15: insn #100 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 100
  libbpf: sec '.relxdp': relo #16: insn #113 against 'prog8'
  libbpf: sec '.relxdp': relo #17: insn #114 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 114
  libbpf: sec '.relxdp': relo #18: insn #126 against 'prog9'
  libbpf: sec '.relxdp': relo #19: insn #127 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 127
  libbpf: sec '.relxdp': relo #20: insn #140 against 'compat_test'
 libxdp: DATASEC '.xdp_run_config' not found.
  libbpf: object 'xdp-dispatcher.': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog0'
  libbpf: prog 'xdp_dispatcher': insn #7 relocated, imm 135 points to subprog 'prog0' (now at 143 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog1'
  libbpf: prog 'xdp_dispatcher': insn #18 relocated, imm 130 points to subprog 'prog1' (now at 149 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog2'
  libbpf: prog 'xdp_dispatcher': insn #32 relocated, imm 122 points to subprog 'prog2' (now at 155 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog3'
  libbpf: prog 'xdp_dispatcher': insn #45 relocated, imm 115 points to subprog 'prog3' (now at 161 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog4'
  libbpf: prog 'xdp_dispatcher': insn #59 relocated, imm 107 points to subprog 'prog4' (now at 167 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog5'
  libbpf: prog 'xdp_dispatcher': insn #72 relocated, imm 100 points to subprog 'prog5' (now at 173 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog6'
  libbpf: prog 'xdp_dispatcher': insn #86 relocated, imm 92 points to subprog 'prog6' (now at 179 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog7'
  libbpf: prog 'xdp_dispatcher': insn #99 relocated, imm 85 points to subprog 'prog7' (now at 185 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog8'
  libbpf: prog 'xdp_dispatcher': insn #113 relocated, imm 77 points to subprog 'prog8' (now at 191 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog9'
  libbpf: prog 'xdp_dispatcher': insn #126 relocated, imm 70 points to subprog 'prog9' (now at 197 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'compat_test'
  libbpf: prog 'xdp_dispatcher': insn #140 relocated, imm 62 points to subprog 'compat_test' (now at 203 offset)
  libbpf: map 'xdp_disp.rodata': created successfully, fd=13
 libxdp: Loaded XDP program xdp_pass, got fd 16
 libxdp: Duplicated fd 16 to 17 for prog xdp_pass
 libxdp: Kernel supports XDP programs with frags
 libxdp: Loading XDP program 'xdp-dispatcher.o' from embedded object file
  libbpf: loading object 'xdp-dispatcher.o' from buffer
  libbpf: elf: section(2) .text, size 528, link 0, flags 6, type=1
  libbpf: sec '.text': found program 'prog0' at insn offset 0 (0 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog1' at insn offset 6 (48 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog2' at insn offset 12 (96 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog3' at insn offset 18 (144 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog4' at insn offset 24 (192 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog5' at insn offset 30 (240 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog6' at insn offset 36 (288 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog7' at insn offset 42 (336 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog8' at insn offset 48 (384 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog9' at insn offset 54 (432 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'compat_test' at insn offset 60 (480 bytes), code size 6 insns (48 bytes)
  libbpf: elf: section(3) xdp, size 1160, link 0, flags 6, type=1
  libbpf: sec 'xdp': found program 'xdp_dispatcher' at insn offset 0 (0 bytes), code size 143 insns (1144 bytes)
  libbpf: sec 'xdp': found program 'xdp_pass' at insn offset 143 (1144 bytes), code size 2 insns (16 bytes)
  libbpf: elf: section(4) .relxdp, size 336, link 24, flags 40, type=9
  libbpf: elf: section(5) .rodata, size 124, link 0, flags 2, type=1
  libbpf: elf: section(6) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp-dispatcher.o is GPL
  libbpf: elf: section(7) xdp_metadata, size 8, link 0, flags 3, type=1
  libbpf: elf: skipping unrecognized data section(7) xdp_metadata
  libbpf: elf: section(16) .BTF, size 3245, link 0, flags 0, type=1
  libbpf: elf: section(18) .BTF.ext, size 2112, link 0, flags 0, type=1
  libbpf: elf: section(24) .symtab, size 936, link 1, flags 0, type=2
  libbpf: looking for externs among 39 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'xdp_disp.rodata' (global data): at sec_idx 5, offset 0, flags 80.
  libbpf: map 0 is "xdp_disp.rodata"
  libbpf: sec '.relxdp': collecting relocation for section(3) 'xdp'
  libbpf: sec '.relxdp': relo #0: insn #1 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 1
  libbpf: sec '.relxdp': relo #1: insn #7 against 'prog0'
  libbpf: sec '.relxdp': relo #2: insn #18 against 'prog1'
  libbpf: sec '.relxdp': relo #3: insn #19 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 19
  libbpf: sec '.relxdp': relo #4: insn #32 against 'prog2'
  libbpf: sec '.relxdp': relo #5: insn #33 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 33
  libbpf: sec '.relxdp': relo #6: insn #45 against 'prog3'
  libbpf: sec '.relxdp': relo #7: insn #46 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 46
  libbpf: sec '.relxdp': relo #8: insn #59 against 'prog4'
  libbpf: sec '.relxdp': relo #9: insn #60 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 60
  libbpf: sec '.relxdp': relo #10: insn #72 against 'prog5'
  libbpf: sec '.relxdp': relo #11: insn #73 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 73
  libbpf: sec '.relxdp': relo #12: insn #86 against 'prog6'
  libbpf: sec '.relxdp': relo #13: insn #87 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 87
  libbpf: sec '.relxdp': relo #14: insn #99 against 'prog7'
  libbpf: sec '.relxdp': relo #15: insn #100 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 100
  libbpf: sec '.relxdp': relo #16: insn #113 against 'prog8'
  libbpf: sec '.relxdp': relo #17: insn #114 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 114
  libbpf: sec '.relxdp': relo #18: insn #126 against 'prog9'
  libbpf: sec '.relxdp': relo #19: insn #127 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 127
  libbpf: sec '.relxdp': relo #20: insn #140 against 'compat_test'
 libxdp: DATASEC '.xdp_run_config' not found.
 libxdp: All attached programs support frags, enabling it for the dispatcher
 libxdp: Loading multiprog dispatcher for 1 programs with frags support
  libbpf: object 'xdp-dispatcher.': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog0'
  libbpf: prog 'xdp_dispatcher': insn #7 relocated, imm 135 points to subprog 'prog0' (now at 143 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog1'
  libbpf: prog 'xdp_dispatcher': insn #18 relocated, imm 130 points to subprog 'prog1' (now at 149 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog2'
  libbpf: prog 'xdp_dispatcher': insn #32 relocated, imm 122 points to subprog 'prog2' (now at 155 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog3'
  libbpf: prog 'xdp_dispatcher': insn #45 relocated, imm 115 points to subprog 'prog3' (now at 161 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog4'
  libbpf: prog 'xdp_dispatcher': insn #59 relocated, imm 107 points to subprog 'prog4' (now at 167 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog5'
  libbpf: prog 'xdp_dispatcher': insn #72 relocated, imm 100 points to subprog 'prog5' (now at 173 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog6'
  libbpf: prog 'xdp_dispatcher': insn #86 relocated, imm 92 points to subprog 'prog6' (now at 179 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog7'
  libbpf: prog 'xdp_dispatcher': insn #99 relocated, imm 85 points to subprog 'prog7' (now at 185 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog8'
  libbpf: prog 'xdp_dispatcher': insn #113 relocated, imm 77 points to subprog 'prog8' (now at 191 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog9'
  libbpf: prog 'xdp_dispatcher': insn #126 relocated, imm 70 points to subprog 'prog9' (now at 197 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'compat_test'
  libbpf: prog 'xdp_dispatcher': insn #140 relocated, imm 62 points to subprog 'compat_test' (now at 203 offset)
  libbpf: map 'xdp_disp.rodata': created successfully, fd=13
 libxdp: Loaded XDP program xdp_dispatcher, got fd 15
 libxdp: Duplicated fd 15 to 17 for prog xdp_dispatcher
 libxdp: Checking dispatcher compatibility
 libxdp: Loading XDP program 'xdp-dispatcher.o' from embedded object file
  libbpf: loading object 'xdp-dispatcher.o' from buffer
  libbpf: elf: section(2) .text, size 528, link 0, flags 6, type=1
  libbpf: sec '.text': found program 'prog0' at insn offset 0 (0 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog1' at insn offset 6 (48 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog2' at insn offset 12 (96 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog3' at insn offset 18 (144 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog4' at insn offset 24 (192 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog5' at insn offset 30 (240 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog6' at insn offset 36 (288 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog7' at insn offset 42 (336 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog8' at insn offset 48 (384 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog9' at insn offset 54 (432 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'compat_test' at insn offset 60 (480 bytes), code size 6 insns (48 bytes)
  libbpf: elf: section(3) xdp, size 1160, link 0, flags 6, type=1
  libbpf: sec 'xdp': found program 'xdp_dispatcher' at insn offset 0 (0 bytes), code size 143 insns (1144 bytes)
  libbpf: sec 'xdp': found program 'xdp_pass' at insn offset 143 (1144 bytes), code size 2 insns (16 bytes)
  libbpf: elf: section(4) .relxdp, size 336, link 24, flags 40, type=9
  libbpf: elf: section(5) .rodata, size 124, link 0, flags 2, type=1
  libbpf: elf: section(6) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp-dispatcher.o is GPL
  libbpf: elf: section(7) xdp_metadata, size 8, link 0, flags 3, type=1
  libbpf: elf: skipping unrecognized data section(7) xdp_metadata
  libbpf: elf: section(16) .BTF, size 3245, link 0, flags 0, type=1
  libbpf: elf: section(18) .BTF.ext, size 2112, link 0, flags 0, type=1
  libbpf: elf: section(24) .symtab, size 936, link 1, flags 0, type=2
  libbpf: looking for externs among 39 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'xdp_disp.rodata' (global data): at sec_idx 5, offset 0, flags 80.
  libbpf: map 0 is "xdp_disp.rodata"
  libbpf: sec '.relxdp': collecting relocation for section(3) 'xdp'
  libbpf: sec '.relxdp': relo #0: insn #1 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 1
  libbpf: sec '.relxdp': relo #1: insn #7 against 'prog0'
  libbpf: sec '.relxdp': relo #2: insn #18 against 'prog1'
  libbpf: sec '.relxdp': relo #3: insn #19 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 19
  libbpf: sec '.relxdp': relo #4: insn #32 against 'prog2'
  libbpf: sec '.relxdp': relo #5: insn #33 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 33
  libbpf: sec '.relxdp': relo #6: insn #45 against 'prog3'
  libbpf: sec '.relxdp': relo #7: insn #46 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 46
  libbpf: sec '.relxdp': relo #8: insn #59 against 'prog4'
  libbpf: sec '.relxdp': relo #9: insn #60 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 60
  libbpf: sec '.relxdp': relo #10: insn #72 against 'prog5'
  libbpf: sec '.relxdp': relo #11: insn #73 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 73
  libbpf: sec '.relxdp': relo #12: insn #86 against 'prog6'
  libbpf: sec '.relxdp': relo #13: insn #87 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 87
  libbpf: sec '.relxdp': relo #14: insn #99 against 'prog7'
  libbpf: sec '.relxdp': relo #15: insn #100 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 100
  libbpf: sec '.relxdp': relo #16: insn #113 against 'prog8'
  libbpf: sec '.relxdp': relo #17: insn #114 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 114
  libbpf: sec '.relxdp': relo #18: insn #126 against 'prog9'
  libbpf: sec '.relxdp': relo #19: insn #127 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 127
  libbpf: sec '.relxdp': relo #20: insn #140 against 'compat_test'
 libxdp: DATASEC '.xdp_run_config' not found.
 libxdp: Loading XDP program 'xdp-dispatcher.o' from embedded object file
  libbpf: loading object 'xdp-dispatcher.o' from buffer
  libbpf: elf: section(2) .text, size 528, link 0, flags 6, type=1
  libbpf: sec '.text': found program 'prog0' at insn offset 0 (0 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog1' at insn offset 6 (48 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog2' at insn offset 12 (96 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog3' at insn offset 18 (144 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog4' at insn offset 24 (192 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog5' at insn offset 30 (240 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog6' at insn offset 36 (288 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog7' at insn offset 42 (336 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog8' at insn offset 48 (384 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'prog9' at insn offset 54 (432 bytes), code size 6 insns (48 bytes)
  libbpf: sec '.text': found program 'compat_test' at insn offset 60 (480 bytes), code size 6 insns (48 bytes)
  libbpf: elf: section(3) xdp, size 1160, link 0, flags 6, type=1
  libbpf: sec 'xdp': found program 'xdp_dispatcher' at insn offset 0 (0 bytes), code size 143 insns (1144 bytes)
  libbpf: sec 'xdp': found program 'xdp_pass' at insn offset 143 (1144 bytes), code size 2 insns (16 bytes)
  libbpf: elf: section(4) .relxdp, size 336, link 24, flags 40, type=9
  libbpf: elf: section(5) .rodata, size 124, link 0, flags 2, type=1
  libbpf: elf: section(6) license, size 4, link 0, flags 3, type=1
  libbpf: license of xdp-dispatcher.o is GPL
  libbpf: elf: section(7) xdp_metadata, size 8, link 0, flags 3, type=1
  libbpf: elf: skipping unrecognized data section(7) xdp_metadata
  libbpf: elf: section(16) .BTF, size 3245, link 0, flags 0, type=1
  libbpf: elf: section(18) .BTF.ext, size 2112, link 0, flags 0, type=1
  libbpf: elf: section(24) .symtab, size 936, link 1, flags 0, type=2
  libbpf: looking for externs among 39 symbols...
  libbpf: collected 0 externs total
  libbpf: map 'xdp_disp.rodata' (global data): at sec_idx 5, offset 0, flags 80.
  libbpf: map 0 is "xdp_disp.rodata"
  libbpf: sec '.relxdp': collecting relocation for section(3) 'xdp'
  libbpf: sec '.relxdp': relo #0: insn #1 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 1
  libbpf: sec '.relxdp': relo #1: insn #7 against 'prog0'
  libbpf: sec '.relxdp': relo #2: insn #18 against 'prog1'
  libbpf: sec '.relxdp': relo #3: insn #19 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 19
  libbpf: sec '.relxdp': relo #4: insn #32 against 'prog2'
  libbpf: sec '.relxdp': relo #5: insn #33 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 33
  libbpf: sec '.relxdp': relo #6: insn #45 against 'prog3'
  libbpf: sec '.relxdp': relo #7: insn #46 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 46
  libbpf: sec '.relxdp': relo #8: insn #59 against 'prog4'
  libbpf: sec '.relxdp': relo #9: insn #60 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 60
  libbpf: sec '.relxdp': relo #10: insn #72 against 'prog5'
  libbpf: sec '.relxdp': relo #11: insn #73 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 73
  libbpf: sec '.relxdp': relo #12: insn #86 against 'prog6'
  libbpf: sec '.relxdp': relo #13: insn #87 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 87
  libbpf: sec '.relxdp': relo #14: insn #99 against 'prog7'
  libbpf: sec '.relxdp': relo #15: insn #100 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 100
  libbpf: sec '.relxdp': relo #16: insn #113 against 'prog8'
  libbpf: sec '.relxdp': relo #17: insn #114 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 114
  libbpf: sec '.relxdp': relo #18: insn #126 against 'prog9'
  libbpf: sec '.relxdp': relo #19: insn #127 against '.rodata'
  libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata, sec 5, off 0) for insn 127
  libbpf: sec '.relxdp': relo #20: insn #140 against 'compat_test'
 libxdp: DATASEC '.xdp_run_config' not found.
  libbpf: object 'xdp-dispatcher.': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog0'
  libbpf: prog 'xdp_dispatcher': insn #7 relocated, imm 135 points to subprog 'prog0' (now at 143 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog1'
  libbpf: prog 'xdp_dispatcher': insn #18 relocated, imm 130 points to subprog 'prog1' (now at 149 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog2'
  libbpf: prog 'xdp_dispatcher': insn #32 relocated, imm 122 points to subprog 'prog2' (now at 155 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog3'
  libbpf: prog 'xdp_dispatcher': insn #45 relocated, imm 115 points to subprog 'prog3' (now at 161 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog4'
  libbpf: prog 'xdp_dispatcher': insn #59 relocated, imm 107 points to subprog 'prog4' (now at 167 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog5'
  libbpf: prog 'xdp_dispatcher': insn #72 relocated, imm 100 points to subprog 'prog5' (now at 173 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog6'
  libbpf: prog 'xdp_dispatcher': insn #86 relocated, imm 92 points to subprog 'prog6' (now at 179 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog7'
  libbpf: prog 'xdp_dispatcher': insn #99 relocated, imm 85 points to subprog 'prog7' (now at 185 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog8'
  libbpf: prog 'xdp_dispatcher': insn #113 relocated, imm 77 points to subprog 'prog8' (now at 191 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog9'
  libbpf: prog 'xdp_dispatcher': insn #126 relocated, imm 70 points to subprog 'prog9' (now at 197 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'compat_test'
  libbpf: prog 'xdp_dispatcher': insn #140 relocated, imm 62 points to subprog 'compat_test' (now at 203 offset)
  libbpf: map 'xdp_disp.rodata': created successfully, fd=18
 libxdp: Loaded XDP program xdp_pass, got fd 22
 libxdp: Duplicated fd 22 to 23 for prog xdp_pass
  libbpf: object 'xdp-dispatcher.': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog0'
  libbpf: prog 'xdp_dispatcher': insn #7 relocated, imm 135 points to subprog 'prog0' (now at 143 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog1'
  libbpf: prog 'xdp_dispatcher': insn #18 relocated, imm 130 points to subprog 'prog1' (now at 149 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog2'
  libbpf: prog 'xdp_dispatcher': insn #32 relocated, imm 122 points to subprog 'prog2' (now at 155 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog3'
  libbpf: prog 'xdp_dispatcher': insn #45 relocated, imm 115 points to subprog 'prog3' (now at 161 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog4'
  libbpf: prog 'xdp_dispatcher': insn #59 relocated, imm 107 points to subprog 'prog4' (now at 167 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog5'
  libbpf: prog 'xdp_dispatcher': insn #72 relocated, imm 100 points to subprog 'prog5' (now at 173 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog6'
  libbpf: prog 'xdp_dispatcher': insn #86 relocated, imm 92 points to subprog 'prog6' (now at 179 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog7'
  libbpf: prog 'xdp_dispatcher': insn #99 relocated, imm 85 points to subprog 'prog7' (now at 185 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog8'
  libbpf: prog 'xdp_dispatcher': insn #113 relocated, imm 77 points to subprog 'prog8' (now at 191 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'prog9'
  libbpf: prog 'xdp_dispatcher': insn #126 relocated, imm 70 points to subprog 'prog9' (now at 197 offset)
  libbpf: prog 'xdp_dispatcher': added 6 insns from sub-prog 'compat_test'
  libbpf: prog 'xdp_dispatcher': insn #140 relocated, imm 62 points to subprog 'compat_test' (now at 203 offset)
  libbpf: map 'xdp_disp.rodata': created successfully, fd=19
 libxdp: Loaded XDP program xdp_pass, got fd 26
 libxdp: Duplicated fd 26 to 27 for prog xdp_pass
 libxdp: Acquired lock from /sys/fs/bpf/xdp with fd 29
 libxdp: Released lock fd 29
 libxdp: Linking prog xdp_basic_prog as multiprog entry 0
  libbpf: object 'xdp_basic': failed (-95) to create BPF token from '/sys/fs/bpf', skipping optional step...
  libbpf: loaded kernel BTF from '/sys/kernel/btf/vmlinux'
  libbpf: sec 'tp_btf/xdp_redirect_err': found 1 CO-RE relocations
  libbpf: CO-RE relocating [33] struct net_device: found target candidate [3123] struct net_device in [vmlinux]
  libbpf: prog 'tp_xdp_redirect_err': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_redirect_err': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_redirect_err': relo #0: patched insn #2 (LDX/ST/STX) off 0 -> 224
  libbpf: sec 'tp_btf/xdp_redirect_map_err': found 1 CO-RE relocations
  libbpf: prog 'tp_xdp_redirect_map_err': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_redirect_map_err': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_redirect_map_err': relo #0: patched insn #2 (LDX/ST/STX) off 0 -> 224
  libbpf: sec 'tp_btf/xdp_redirect': found 1 CO-RE relocations
  libbpf: prog 'tp_xdp_redirect': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_redirect': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_redirect': relo #0: patched insn #2 (LDX/ST/STX) off 0 -> 224
  libbpf: sec 'tp_btf/xdp_redirect_map': found 1 CO-RE relocations
  libbpf: prog 'tp_xdp_redirect_map': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_redirect_map': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_redirect_map': relo #0: patched insn #2 (LDX/ST/STX) off 0 -> 224
  libbpf: sec 'tp_btf/xdp_cpumap_kthread': found 3 CO-RE relocations
  libbpf: CO-RE relocating [44] struct xdp_cpumap_stats: found target candidate [14495] struct xdp_cpumap_stats in [vmlinux]
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: <byte_off> [44] struct xdp_cpumap_stats.pass (0:1 @ offset 4)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: matching candidate #0 <byte_off> [14495] struct xdp_cpumap_stats.pass (0:1 @ offset 4)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #0: patched insn #33 (LDX/ST/STX) off 4 -> 4
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #1: <byte_off> [44] struct xdp_cpumap_stats.drop (0:2 @ offset 8)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #1: matching candidate #0 <byte_off> [14495] struct xdp_cpumap_stats.drop (0:2 @ offset 8)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #1: patched insn #37 (LDX/ST/STX) off 8 -> 8
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #2: <byte_off> [44] struct xdp_cpumap_stats.redirect (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #2: matching candidate #0 <byte_off> [14495] struct xdp_cpumap_stats.redirect (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_cpumap_kthread': relo #2: patched insn #41 (LDX/ST/STX) off 0 -> 0
  libbpf: sec 'tp_btf/xdp_exception': found 2 CO-RE relocations
  libbpf: prog 'tp_xdp_exception': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_exception': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_exception': relo #0: patched insn #9 (LDX/ST/STX) off 0 -> 224
  libbpf: prog 'tp_xdp_exception': relo #1: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_exception': relo #1: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_exception': relo #1: patched insn #30 (LDX/ST/STX) off 0 -> 224
  libbpf: sec 'tp_btf/xdp_devmap_xmit': found 4 CO-RE relocations
  libbpf: prog 'tp_xdp_devmap_xmit': relo #0: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_devmap_xmit': relo #0: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_devmap_xmit': relo #0: patched insn #5 (LDX/ST/STX) off 0 -> 224
  libbpf: prog 'tp_xdp_devmap_xmit': relo #1: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_devmap_xmit': relo #1: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_devmap_xmit': relo #1: patched insn #6 (LDX/ST/STX) off 0 -> 224
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #2: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #2: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #2: patched insn #14 (LDX/ST/STX) off 0 -> 224
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #3: <byte_off> [33] struct net_device.ifindex (0:0 @ offset 0)
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #3: matching candidate #0 <byte_off> [3123] struct net_device.ifindex (0:29 @ offset 224)
  libbpf: prog 'tp_xdp_devmap_xmit_multi': relo #3: patched insn #17 (LDX/ST/STX) off 0 -> 224
  libbpf: map 'rx_cnt': created successfully, fd=3
  libbpf: map 'redir_err_cnt': created successfully, fd=4
  libbpf: map 'cpumap_enqueue_cnt': created successfully, fd=5
  libbpf: map 'cpumap_kthread_cnt': created successfully, fd=6
  libbpf: map 'exception_cnt': created successfully, fd=7
  libbpf: map 'devmap_xmit_cnt': created successfully, fd=8
  libbpf: map 'rxq_cnt': created successfully, fd=9
  libbpf: map 'devmap_xmit_cnt_multi': created successfully, fd=10
  libbpf: map 'xdp_basi.rodata': created successfully, fd=11
  libbpf: map 'xdp_basi.bss': created successfully, fd=12
  libbpf: prog 'tp_xdp_cpumap_compat': skipped loading
  libbpf: prog 'xdp_read_data_prog': skipped loading
  libbpf: prog 'xdp_read_data_load_bytes_prog': skipped loading
  libbpf: prog 'xdp_swap_macs_prog': skipped loading
  libbpf: prog 'xdp_swap_macs_load_bytes_prog': skipped loading
  libbpf: prog 'xdp_parse_prog': skipped loading
  libbpf: prog 'xdp_parse_load_bytes_prog': skipped loading
 libxdp: Loaded XDP program xdp_basic_prog, got fd 28
 libxdp: Duplicated fd 28 to 29 for prog xdp_basic_prog
 libxdp: Duplicated fd 29 to 30 for prog xdp_basic_prog
 libxdp: DATASEC '.xdp_run_config' not found.
 libxdp: Attached prog 'xdp_basic_prog' with priority 50 in dispatcher entry 'prog0' with fd 31
 libxdp: Acquired lock from /sys/fs/bpf/xdp with fd 32
 libxdp: Pinning multiprog fd 17 beneath /sys/fs/bpf/xdp/dispatch-4-48
 libxdp: Pinned link for prog xdp_basic_prog at /sys/fs/bpf/xdp/dispatch-4-48/prog0-link
 libxdp: Pinned prog xdp_basic_prog at /sys/fs/bpf/xdp/dispatch-4-48/prog0-prog
 libxdp: Released lock fd 32
 libxdp: Replacing XDP fd -1 with 17 on ifindex 4
 libxdp: Loaded 1 programs on ifindex 4
Dropping packets on ens4f0 (ifindex 4; driver ixgbe)
Summary                         0 rx/s                  0 err/s
Summary                         0 rx/s                  0 err/s
Summary                         0 rx/s                  0 err/s
Summary                         0 rx/s                  0 err/s
Summary                         0 rx/s                  0 err/s
<packet received, kernel panic>

Comment 2 Toke Høiland-Jørgensen 2025-02-12 13:04:27 UTC
Possible fix posted here: https://lore.kernel.org/netdev/20250211214343.4092496-5-anthony.l.nguyen@intel.com/

Comment 3 Samuel Dobroň 2025-02-20 08:17:22 UTC
The issue seems to be fixed in
kernel-6.14.0-0.rc3.29.eln146.


Note You need to log in before you can comment on or make changes to this bug.