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
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -173,6 +173,10 @@ enum devlink_port_flavour { · 172 unmodified lines | ||
| 173 | 173 | * the PCI PF. It is an internal |
| 174 | 174 | * port that faces the PCI PF. |
| 175 | 175 | */ |
| 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 | + */ | |
| 176 | 180 | }; |
| 177 | 181 | |
| 178 | 182 | enum devlink_param_cmode { |
| @@ -342,6 +346,8 @@ enum devlink_attr { · 163 unmodified lines | ||
| 342 | 346 | DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, /* u64 */ |
| 343 | 347 | |
| 344 | 348 | DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */ |
| 349 | + DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */ | |
| 350 | + | |
| 345 | 351 | /* add new attributes above here, update the policy in devlink.c */ |
| 346 | 352 | |
| 347 | 353 | __DEVLINK_ATTR_MAX, |