DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [RFC] net/mlx5: support new naming scheme for representors
@ 2019-02-28 10:04 Dekel Peled
  2019-02-28 16:44 ` Rami Rosen
  0 siblings, 1 reply; 2+ messages in thread
From: Dekel Peled @ 2019-02-28 10:04 UTC (permalink / raw)
  To: Shahaf Shuler, Yongseok Koh; +Cc: dev, Ori Kam, Matan Azrad

In current kernel implementation, the physical port name for representors is a numeric string (i.e. '0', '1', etc.).

Kernel patch [1] implements an updated scheme for naming of representors ports.
The new scheme gives a unique name for each port using the PF ID and the VF ID.
Uplink representors are named 'p0', 'p1', etc.
VF representors are named 'pf0vf0', 'pf0vf1', 'pf1vf0', 'pf1vf1', etc.

This RFC describes the suggested changes to MLX5 PMD, in order to support the new naming scheme, while maintaining support of the existing naming scheme.

During PCI probing, MLX5 PMD uses Netlink to query the kernel for switch information.
The response is processed by mlx5_nl_switch_info_cb().
If this query fails, MLX5 PMD attempts to use sysfs to query for switch information.
This query is implemented in mlx5_sysfs_switch_info();

The following section describes the suggested changes by pseudocode:
mlx5_nl_switch_info_cb()
{
	Parse the netlink response message.
	If found type IFLA_PHYS_PORT_NAME {
		Convert payload string to number, store as port-name.
		/* START NEW CODE */
		If convert failed {
			If found substring "vf" in payload string {
				Convert the remainder of payload string to number
				Store as port-name.
			}
		}
		/* END OF NEW CODE */
	}			
}

mlx5_sysfs_switch_info()
{
	Convert ifindex to ifname.
	Open file /sys/class/net/<ifname>/phys_port_name
	Try to convert file contents to number, if succeeded store as port-name.
	/* START NEW CODE */
	If convert failed {
		Try to convert file contents to 'pf'/number/'vf'/number.
		If succeeded, store last number as port-name.
	}
	/* END OF NEW CODE */
}

[1] http://l-gerrit.mtl.labs.mlnx:8080/#/c/upstream/linux/+/160883/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [RFC] net/mlx5: support new naming scheme for representors
  2019-02-28 10:04 [dpdk-dev] [RFC] net/mlx5: support new naming scheme for representors Dekel Peled
@ 2019-02-28 16:44 ` Rami Rosen
  0 siblings, 0 replies; 2+ messages in thread
From: Rami Rosen @ 2019-02-28 16:44 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, Yongseok Koh, dev, Ori Kam, Matan Azrad

Hi, Dekel,
It seems that the link to the patch in your post is broken.

Regards,
Rami Rosen


בתאריך יום ה׳, 28 בפבר׳ 2019, 12:04, מאת Dekel Peled ‏<dekelp@mellanox.com>:

> In current kernel implementation, the physical port name for representors
> is a numeric string (i.e. '0', '1', etc.).
>
> Kernel patch [1] implements an updated scheme for naming of representors
> ports.
> The new scheme gives a unique name for each port using the PF ID and the
> VF ID.
> Uplink representors are named 'p0', 'p1', etc.
> VF representors are named 'pf0vf0', 'pf0vf1', 'pf1vf0', 'pf1vf1', etc.
>
> This RFC describes the suggested changes to MLX5 PMD, in order to support
> the new naming scheme, while maintaining support of the existing naming
> scheme.
>
> During PCI probing, MLX5 PMD uses Netlink to query the kernel for switch
> information.
> The response is processed by mlx5_nl_switch_info_cb().
> If this query fails, MLX5 PMD attempts to use sysfs to query for switch
> information.
> This query is implemented in mlx5_sysfs_switch_info();
>
> The following section describes the suggested changes by pseudocode:
> mlx5_nl_switch_info_cb()
> {
>         Parse the netlink response message.
>         If found type IFLA_PHYS_PORT_NAME {
>                 Convert payload string to number, store as port-name.
>                 /* START NEW CODE */
>                 If convert failed {
>                         If found substring "vf" in payload string {
>                                 Convert the remainder of payload string to
> number
>                                 Store as port-name.
>                         }
>                 }
>                 /* END OF NEW CODE */
>         }
> }
>
> mlx5_sysfs_switch_info()
> {
>         Convert ifindex to ifname.
>         Open file /sys/class/net/<ifname>/phys_port_name
>         Try to convert file contents to number, if succeeded store as
> port-name.
>         /* START NEW CODE */
>         If convert failed {
>                 Try to convert file contents to 'pf'/number/'vf'/number.
>                 If succeeded, store last number as port-name.
>         }
>         /* END OF NEW CODE */
> }
>
> [1] http://l-gerrit.mtl.labs.mlnx:8080/#/c/upstream/linux/+/160883/
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-28 16:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-28 10:04 [dpdk-dev] [RFC] net/mlx5: support new naming scheme for representors Dekel Peled
2019-02-28 16:44 ` Rami Rosen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).