[dpdk-dev] [RFC] net/mlx5: support new naming scheme for representors

Rami Rosen ramirose at gmail.com
Thu Feb 28 17:44:32 CET 2019


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 at 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/
>


More information about the dev mailing list