History

devlink: Introduce PCI VF port flavour and port attribute

In an eswitch, PCI VF may have port which is normally represented using a representor netdevice. To have better visibility of eswitch port, its association with VF, and its representor netdevice, introduce a PCI VF port flavour. When devlink port flavour is PCI VF, fill up PCI VF attributes of the port. Extend port name creation using PCI PF and VF number scheme on best effort basis, so that vendor drivers can skip defining their own scheme. $ devlink port show pci/0000:05:00.0/0: type eth netdev eth0 flavour pcipf pfnum 0 pci/0000:05:00.0/1: type eth netdev eth1 flavour pcivf pfnum 0 vfnum 0 pci/0000:05:00.0/2: type eth netdev eth2 flavour pcivf pfnum 0 vfnum 1

Parav Pandit committed 7 years ago

Commit e41b6bf1 parent 98fd2d63 files · +54 −0Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/devlink.h+6−0
@@ -173,6 +173,10 @@ enum devlink_port_flavour { · 172 unmodified lines
173173 * the PCI PF. It is an internal
174174 * port that faces the PCI PF.
175175 */
176+ DEVLINK_PORT_FLAVOUR_PCI_VF, /* Represents eswitch port
177+ * for the PCI VF. It is an internal
178+ * port that faces the PCI VF.
179+ */
176180 };
177181
178182 enum devlink_param_cmode {
@@ -342,6 +346,8 @@ enum devlink_attr { · 163 unmodified lines
342346 DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, /* u64 */
343347
344348 DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */
349+ DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */
350+
345351 /* add new attributes above here, update the policy in devlink.c */
346352
347353 __DEVLINK_ATTR_MAX,