Marek Majtyka <alardam@xxxxxxxxx> writes: > On Fri, Feb 12, 2021 at 3:05 AM Alexei Starovoitov > <alexei.starovoitov@xxxxxxxxx> wrote: >> >> On Thu, Feb 11, 2021 at 5:26 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: >> > >> > Perhaps I had seen one too many vendor incompatibility to trust that >> > adding a driver API without a validation suite will result in something >> > usable in production settings. >> >> I agree with Jakub. I don't see how extra ethtool reporting will help. >> Anyone who wants to know whether eth0 supports XDP_REDIRECT can already do so: >> ethtool -S eth0 | grep xdp_redirect > > Doing things right can never be treated as an addition. It is the > other way around. Option -S is for statistics and additionally it can > show something (AFAIR there wasn't such counter xdp_redirect, it must > be something new, thanks for the info). But nevertheless it cannot > cover all needs IMO. > > Some questions worth to consider: > Is this extra reporting function of statistics clearly documented in > ethtool? Is this going to be clearly documented? Would it be easier > for users/admins to find it? > What about zero copy? Can it be available via statistics, too? > What about drivers XDP transmit locking flag (latest request from Jesper)? There is no way the statistics is enough. And saying "just grep for xdp_redirect in ethtool -S" is bordering on active hostility towards users. We need drivers to export explicit features so we can do things like: - Explicitly reject attaching a program that tries to do xdp_redirect on an interface that doesn't support it. - Prevent devices that don't implement ndo_xdp_xmit() from being inserted into a devmap (oh, and this is on thing you can't know at all from the statistics, BTW). - Expose the features in a machine-readable format (like the ethtool flags in your patch) so applications can discover in a reliable way what is available and do proper fallback if features are missing. I can accept that we need some kind of conformance test to define what each flag means (which would be kinda like a selftest for the feature flags), but we definitely need the feature flags themselves! -Toke