[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220405124103.1f25e5b5@kernel.org>
Date: Tue, 5 Apr 2022 12:41:03 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Ian Wienand <iwienand@...hat.com>
Cc: netdev@...r.kernel.org, "David S . Miller" <davem@...emloft.net>,
Andrew Lunn <andrew@...n.ch>, Tom Gundersen <teg@...m.no>,
David Herrmann <dh.herrmann@...il.com>
Subject: Re: [PATCH v2] net/ethernet : set default assignment identifier to
NET_NAME_ENUM
On Tue, 5 Apr 2022 10:15:00 +1000 Ian Wienand wrote:
> As noted in the original commit 685343fc3ba6 ("net: add
> name_assign_type netdev attribute")
>
> ... when the kernel has given the interface a name using global
> device enumeration based on order of discovery (ethX, wlanY, etc)
> ... are labelled NET_NAME_ENUM.
>
> That describes this case, so set the default for the devices here to
> NET_NAME_ENUM to better help userspace tools to know if they might
> like to rename them.
Adding Tom and David to CC, please make sure you CC people whose
commits you're mentioning. They may know something.
> This is inspired by inconsistent interface renaming between both
> distributions and within different releases of distributions;
This worries me. Why is UNKNOWN and ENUM treated differently?
Can you point me to the code which pays attention to the assign type?
> particularly with Xen's xen-netfront driver which gets it's device
> from here and is not renamed under CentOS 8, but is under CentOS 9.
> Of course it is ultimately up to userspace (systemd/udev) what happens
> to interfaces marked with with this flag, but providing the naming
> info brings it inline with other common interfaces such as virtio, and
> should ensure better general consistency of renaming behaviour into
> the future.
Can you spell out how netfront gets a different type to virtio?
I see alloc_etherdev_mq() in both cases.
> diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
> index ebcc812735a4..62b89d6f54fd 100644
> --- a/net/ethernet/eth.c
> +++ b/net/ethernet/eth.c
> @@ -391,7 +391,7 @@ EXPORT_SYMBOL(ether_setup);
> struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs,
> unsigned int rxqs)
> {
> - return alloc_netdev_mqs(sizeof_priv, "eth%d", NET_NAME_UNKNOWN,
> + return alloc_netdev_mqs(sizeof_priv, "eth%d", NET_NAME_ENUM,
> ether_setup, txqs, rxqs);
> }
> EXPORT_SYMBOL(alloc_etherdev_mqs);
Powered by blists - more mailing lists