xdp-newbies.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux laptop with native XDP support
@ 2021-09-05 23:28 Jose Fernandez
  2021-09-07 18:50 ` Zvi Effron
  0 siblings, 1 reply; 6+ messages in thread
From: Jose Fernandez @ 2021-09-05 23:28 UTC (permalink / raw)
  To: xdp-newbies

Hi folks,

I'm looking to purchase a laptop for Linux development and was hoping
to find one with native XDP support. I believe the i40e driver
supports XDP, but I'm having a hard time identifying which laptops can
use that driver (I was first looking at Lenovo). Any advice or
suggestions would be appreciated!

- Jose

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Linux laptop with native XDP support
  2021-09-05 23:28 Linux laptop with native XDP support Jose Fernandez
@ 2021-09-07 18:50 ` Zvi Effron
  2021-09-07 19:03   ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 6+ messages in thread
From: Zvi Effron @ 2021-09-07 18:50 UTC (permalink / raw)
  To: Jose Fernandez; +Cc: Xdp

On Sun, Sep 5, 2021 at 4:29 PM Jose Fernandez <me@jrfernandez.com> wrote:
>
> Hi folks,
>
> I'm looking to purchase a laptop for Linux development and was hoping
> to find one with native XDP support. I believe the i40e driver

The i40e driver is for high throughput (10+Gbps) Intel interfaces. I don't
think you're going to find a simple laptop that has a NIC that uses it. That
would normally be a very custom option for a laptop,

> supports XDP, but I'm having a hard time identifying which laptops can
> use that driver (I was first looking at Lenovo). Any advice or
> suggestions would be appreciated!

The ixgbe driver also has support for XDP, I believe. (At the very least is has
support for XDP sockets, which usually implies support for basic XDP.) I don't
know if the XDP implementation is as complete with the latest features as i40e,
but it might be a good place to start, and I believe any Intel Gigabit NIC in a
new laptop should use it.

Also, Broadcom has support for XDP (again, I'm not sure how much of the more
recent XDP functionality, though), and there are a lot of laptops that come
with Broadcom NICs.

I think the biggest thing might be to make sure the laptop has a wired ethernet
port. Wireless uses different drivers, and I don't know if any of them have XDP
support, currently. (Maybe they do, but wired is a bit more obvious, and likely
more relevant to your use cases, anyway.)

>
> - Jose

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Linux laptop with native XDP support
  2021-09-07 18:50 ` Zvi Effron
@ 2021-09-07 19:03   ` Toke Høiland-Jørgensen
  2021-09-08  1:50     ` Jose Fernandez
  0 siblings, 1 reply; 6+ messages in thread
From: Toke Høiland-Jørgensen @ 2021-09-07 19:03 UTC (permalink / raw)
  To: Zvi Effron, Jose Fernandez; +Cc: Xdp

Zvi Effron <zeffron@riotgames.com> writes:

> I think the biggest thing might be to make sure the laptop has a wired ethernet
> port. Wireless uses different drivers, and I don't know if any of them have XDP
> support, currently. (Maybe they do, but wired is a bit more obvious, and likely
> more relevant to your use cases, anyway.)

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...

-Toke


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Linux laptop with native XDP support
  2021-09-07 19:03   ` Toke Høiland-Jørgensen
@ 2021-09-08  1:50     ` Jose Fernandez
  2021-09-08  6:38       ` Willy Tarreau
  0 siblings, 1 reply; 6+ messages in thread
From: Jose Fernandez @ 2021-09-08  1:50 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen; +Cc: Zvi Effron, Xdp

> 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...
>
> -Toke
>

I 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.

- Jose

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Linux laptop with native XDP support
  2021-09-08  1:50     ` Jose Fernandez
@ 2021-09-08  6:38       ` Willy Tarreau
  2021-09-08  9:38         ` Jesper Dangaard Brouer
  0 siblings, 1 reply; 6+ messages in thread
From: Willy Tarreau @ 2021-09-08  6:38 UTC (permalink / raw)
  To: Jose Fernandez; +Cc: Toke Høiland-Jørgensen, Zvi Effron, Xdp

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...
> >
> > -Toke
> >
> 
> I 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 ?

Willy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Linux laptop with native XDP support
  2021-09-08  6:38       ` Willy Tarreau
@ 2021-09-08  9:38         ` Jesper Dangaard Brouer
  0 siblings, 0 replies; 6+ messages in thread
From: Jesper Dangaard Brouer @ 2021-09-08  9:38 UTC (permalink / raw)
  To: Willy Tarreau, Jose Fernandez
  Cc: brouer, Toke Høiland-Jørgensen, Zvi Effron, Xdp



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...
>>>
>>> -Toke
>>>
>>
>> I 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-09-08  9:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-05 23:28 Linux laptop with native XDP support Jose Fernandez
2021-09-07 18:50 ` Zvi Effron
2021-09-07 19:03   ` Toke Høiland-Jørgensen
2021-09-08  1:50     ` Jose Fernandez
2021-09-08  6:38       ` Willy Tarreau
2021-09-08  9:38         ` Jesper Dangaard Brouer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).