On 08/09/2021 08.38, Willy Tarreau wrote:
On Tue, Sep 07, 2021 at 06:50:49PM -0700, Jose Fernandez wrote:Nope, no XDP support for WiFi. There was some exploratory discussion about that some years ago, but XDP has Ethernet as a pretty fundamental assumption so it's not an obvious fit to the Linux WiFi stack... -TokeI came to the realization about that a few hours after sending this email. I found this link useful to identity which drivers support XDP: https://elixir.bootlin.com/linux/latest/A/ident/bpf_prog_run_xdp I had my eyes on the latest gen "slim" Linux notebooks (Lenovo XC1, Dell XPS), but these don't have built-in Ethernet anymore. So I'm back to the drawing board. Thanks for the tip on ixgbe and Broadcom.Note that e1000e remains quite popular among notebooks (my last HP one and the two following thinkpads including the T480s I'm typing on have this), and there is common ancestry between e1000e and igb. When I implemented the NDIV framework (which basically does pretty similar things as XDP does in the drivers), I managed to implement e1000, e1000e, igb and ixgbe without too many difficulties. Maybe it could be a good opportunity for you to try to port XDP to e1000e using such a machine, by looking at the work from igb ?
The igb + igc drivers support native XDP, and I assume they must be in some laptops.
You can deduce that hardware support / Intel marketing names via e.g. the igb driver via looking at the pci_device_id table (igb_pci_tbl[1]):
[1] https://elixir.bootlin.com/linux/v5.14/source/drivers/net/ethernet/intel/igb/igb_main.c#L63
I agree that it would be beneficial to add native XDP to e1000e.AFAIK John Fastabend implemented XDP for e1000, but the patch had some bug (report-ably for some old hardware) that we never identified. Thus, the patch was dropped.
--Jesper