Hi, Dekel, It seems that the link to the patch in your post is broken. Regards, Rami Rosen
בתאריך יום ה׳, 28 בפבר׳ 2019, 12:04, מאת Dekel Peled <dek...@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/ >