lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3f6fbb95-2ee1-4571-913b-6dc6c3197032@intel.com>
Date: Fri, 1 Aug 2025 16:28:24 -0700
From: Jacob Keller <jacob.e.keller@...el.com>
To: Jedrzej Jagielski <jedrzej.jagielski@...el.com>,
	<intel-wired-lan@...ts.osuosl.org>
CC: <anthony.l.nguyen@...el.com>, <netdev@...r.kernel.org>,
	<dhowells@...hat.com>, <David.Kaplan@....com>, <jiri@...nulli.us>,
	<przemyslaw.kitszel@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net v2 1/2] devlink: allow driver to
 freely name interfaces



On 7/7/2025 1:58 AM, Jedrzej Jagielski wrote:
> Currently when adding devlink port it is prohibited to let
> a driver name an interface on its own. In some scenarios
> it would not be preferable to provide such limitation,
> eg some compatibility purposes.
> 
> Add flag skip_phys_port_name_get to devlink_port_attrs struct
> which indicates if devlink should not alter name of interface.
> 

I feel like this somewhat lacks context in the commit message. The
renaming is really the result of a policy provided by most distributions
which uses the physical port name to determine its interface name, right?

The fact that without the devlink support, this would be skipped, and
adding devlink support made it change is not *exactly* the kernel's
fault, but.. I think it does make sense to have the option for older
drivers so they can add devlink support without triggering this
behavioral change.

While I might prefer more detail in the commit message, with or without
that:
Reviewed-by: Jacob Keller <jacob.e.keller@...el.com>


> Suggested-by: Jiri Pirko <jiri@...nulli.us>
> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@...el.com>
> ---
> v2: add skip_phys_port_name_get flag to skip changing if name
> ---
>  include/net/devlink.h | 7 ++++++-
>  net/devlink/port.c    | 3 +++
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/include/net/devlink.h b/include/net/devlink.h
> index 0091f23a40f7..414ae25de897 100644
> --- a/include/net/devlink.h
> +++ b/include/net/devlink.h
> @@ -78,6 +78,7 @@ struct devlink_port_pci_sf_attrs {
>   * @flavour: flavour of the port
>   * @split: indicates if this is split port
>   * @splittable: indicates if the port can be split.
> + * @skip_phys_port_name_get: if set devlink doesn't alter interface name
>   * @lanes: maximum number of lanes the port supports. 0 value is not passed to netlink.
>   * @switch_id: if the port is part of switch, this is buffer with ID, otherwise this is NULL
>   * @phys: physical port attributes
> @@ -87,7 +88,11 @@ struct devlink_port_pci_sf_attrs {
>   */
>  struct devlink_port_attrs {
>  	u8 split:1,
> -	   splittable:1;
> +	   splittable:1,
> +	   skip_phys_port_name_get:1; /* This is for compatibility only,
> +				       * newly added driver/port instance
> +				       * should never set this.
> +				       */
>  	u32 lanes;
>  	enum devlink_port_flavour flavour;
>  	struct netdev_phys_item_id switch_id;
> diff --git a/net/devlink/port.c b/net/devlink/port.c
> index 939081a0e615..bf52c8a57992 100644
> --- a/net/devlink/port.c
> +++ b/net/devlink/port.c
> @@ -1522,6 +1522,9 @@ static int __devlink_port_phys_port_name_get(struct devlink_port *devlink_port,
>  	if (!devlink_port->attrs_set)
>  		return -EOPNOTSUPP;
>  
> +	if (devlink_port->attrs.skip_phys_port_name_get)
> +		return 0;
> +
>  	switch (attrs->flavour) {
>  	case DEVLINK_PORT_FLAVOUR_PHYSICAL:
>  		if (devlink_port->linecard)



Download attachment "OpenPGP_signature.asc" of type "application/pgp-signature" (237 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ