On Tue, Sep 01, 2026 at 02:39:32PM +0800, Hangbin Liu wrote:
> On Mon, Aug 31, 2026 at 02:16:46PM +0200, Andrew Lunn wrote:
> > > static void nsim_ethtool_ring_init(struct netdevsim *ns)
> > > @@ -250,12 +276,16 @@ void nsim_ethtool_init(struct netdevsim *ns)
> > > ns->ethtool.fec.active_fec = ETHTOOL_FEC_NONE;
> > >
> > > ns->ethtool.channels = ns->nsim_bus_dev->num_queues;
> > > + ns->ethtool.duplex = DUPLEX_FULL;
> > > + ns->ethtool.speed = SPEED_5000;
> > >
> > > ethtool = debugfs_create_dir("ethtool", ns->nsim_dev_port->ddir);
> > > ns->ethtool_ddir = ethtool;
> > >
> > > debugfs_create_u32("get_err", 0600, ethtool, &ns->ethtool.get_err);
> > > debugfs_create_u32("set_err", 0600, ethtool, &ns->ethtool.set_err);
> > > + debugfs_create_u32("speed", 0600, ethtool, &ns->ethtool.speed);
> > > + debugfs_create_u8("duplex", 0600, ethtool, &ns->ethtool.duplex);
> >
> > debugfs_create_bool() ?
>
> I'm not sure if anyone want to set nsim duplex to unknown for testing.
> Do you think that we should disable this behavior?
Ah, i did not think of DUPLEX_UNKNOWN.
We need to consider Jakubs reply, what are you actually testing here,
do such tests make any sense?
If they do, i think some validation would be good here. We already
have:
static inline int ethtool_validate_duplex(__u8 duplex)
{
switch (duplex) {
case DUPLEX_HALF:
case DUPLEX_FULL:
case DUPLEX_UNKNOWN:
return 1;
}
return 0;
}
We don't expect a driver to set duplex to 42, so why should the user
be allowed to do that?
Also, SPEED_UNKNOWN is -1, so you need debugfs_create_s32().
Andrew