In an eswitch, PCI PF may have port which is normally represented using a representor netdevice. To have better visibility of eswitch port, its association with PF and a representor netdevice, introduce a PCI PF port flavour and port attriute. When devlink port flavour is PCI PF, fill up PCI PF attributes of the port. Extend port name creation using PCI PF number 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
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -169,6 +169,10 @@ enum devlink_port_flavour { · 168 unmodified lines | |||
| 169 | DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture | 169 | DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture |
| 170 | * interconnect port. | 170 | * interconnect port. |
| 171 | */ | 171 | */ |
| 172 | DEVLINK_PORT_FLAVOUR_PCI_PF, /* Represents eswitch port for | ||
| 173 | * the PCI PF. It is an internal | ||
| 174 | * port that faces the PCI PF. | ||
| 175 | */ | ||
| 172 | }; | 176 | }; |
| 173 | 177 | ||
| 174 | enum devlink_param_cmode { | 178 | enum devlink_param_cmode { |
| @@ -337,6 +341,7 @@ enum devlink_attr { · 162 unmodified lines | |||
| 337 | DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE, /* u64 */ | 341 | DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE, /* u64 */ |
| 338 | DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, /* u64 */ | 342 | DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, /* u64 */ |
| 339 | 343 | ||
| 344 | DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */ | ||
| 340 | /* add new attributes above here, update the policy in devlink.c */ | 345 | /* add new attributes above here, update the policy in devlink.c */ |
| 341 | 346 | ||
| 342 | __DEVLINK_ATTR_MAX, | 347 | __DEVLINK_ATTR_MAX, |