Re: [PATCH 00/23] Subject: [PATCH net-next 00/23] net/hpe: add HPE Slingshot NIC drivers

From: Andrew Lunn

Date: Wed Nov 04 2026 - 09:53:04 EST


> My first request was an answer to the question: Should this driver go
> through the netdev community or should it go through the rdma community?

Does it actually make a difference? You need a driver which is
reviewable. Either the netdev community or the RDMA community needs to
review it. Being more of an embedded person, i don't follow RDMA, so
don't know its policies. Maybe they will accept much bigger patchsets
for review than netdev?

But you need to be careful. If you go the RDMA route, you cannot use
any netdev UAPI APIs except in your thin layer on top. Is that
possible?

A bit of an aside. Do you have the complete history of the driver?
What did the first 10 patches do? When bringing up new hardware, you
start small and get a little piece working. In a traditional Ethernet
driver, you get a base driver just probing and printing Hello
World. You then might write an MDIO bus driver, you can see the MDIO
and MDC signals wiggle on an oscilloscope, and then find the PHY.

I'm assuming you did something similar, small bits of code you could
somehow test. Those small bits of code, step by step development, are
generally easy to review.

> The second request, assuming the netdev community decided that this
> driver could/should go through here, was guidance on the sysfs usage.

Generally, none. We just want a plain, boring netdev, which looks the
same as every other plain boring netdev in the kernel. OS 101, the OS
is there to abstract over the hardware so all hardware looks the same.

Now, if your sysfs is controlling something described in 802.3,
something which other vendors are likely to implement, them you should
submit patches which make it an official UAPI, which all vendors can
use. Extend ethtool etc.

You can use fwctl. But you need to be careful. The netdev policy is
that it cannot be used in a netdev. You cannot use it for anything
which is networking, defined in 802.1/802.3 etc. But you can use it in
your base driver, for anything which is not 802.1/802.3 etc.

Andrew