Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

XDP Tx ring disable timeout when loader is stopped #324

Open
QuiiBz opened this issue May 1, 2022 · 3 comments
Open

XDP Tx ring disable timeout when loader is stopped #324

QuiiBz opened this issue May 1, 2022 · 3 comments

Comments

@QuiiBz
Copy link
Contributor

QuiiBz commented May 1, 2022

Hello, I've discovered in /var/log/syslog that when the loader program is stopped, there is a disable timeout, and then the i40e driver enters allmulti mode:

Apr 26 15:26:55 SRV-PVE-2 kernel: [895028.655165] i40e 0000:01:00.0: VSI seid 404 XDP Tx ring 33 disable timeout
Apr 26 15:26:57 SRV-PVE-2 kernel: [895030.595925] i40e 0000:01:00.0: entering allmulti mode.

I'm using the same loader code as in this example. I have a few maps in my BPF program:

  • 3x PerfMap with 1024 max_entries
  • 2x HashMap with 1 max_entries
  • 1x PerCpuHashMap with 1_000_000 max_entries

I suspect the last one caused the issue - it's used as a rate limit for each saddr as a key, and a counter as the value.

@nbaksalyar
Copy link
Contributor

Hi @QuiiBz, do you have suggestions for reproducing this issue?
As I understand it, i40e is a driver for Intel's NIC, right? I don't have a hands-on access to this kind of hardware but it'd be very helpful if it can be emulated somehow.

@QuiiBz
Copy link
Contributor Author

QuiiBz commented May 5, 2022

Yes, i40e is a driver for the following controllers:

  • Intel® Ethernet Controller X710
  • Intel® Ethernet Controller XL710
  • Intel® Ethernet Network Connection X722
  • Intel® Ethernet Controller XXV710
  • Intel® Ethernet Controller V710

Sadly, I didn't found a way to emulate it.

@rsdy
Copy link
Collaborator

rsdy commented May 5, 2022

I think allmulti mode is quite universal. If you can provide us with a complete, minimal example, I could try this on a KVM box and see if it gets triggered, then we can go from there.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants