PCI PF and VF devlink port can manage the function represented by a devlink port. Enable users to query port function's hardware address. Example of a PCI VF port which supports a port function: $ devlink port show pci/0000:06:00.0/2 pci/0000:06:00.0/2: type eth netdev enp6s0pf0vf1 flavour pcivf pfnum 0 vfnum 1 function: hw_addr 00:11:22:33:44:66 $ devlink port show pci/0000:06:00.0/2 -jp { "port": { "pci/0000:06:00.0/2": { "type": "eth", "netdev": "enp6s0pf0vf1", "flavour": "pcivf", "pfnum": 0, "vfnum": 1, "function": { "hw_addr": "00:11:22:33:44:66" } } } }
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -451,6 +451,8 @@ enum devlink_attr { · 450 unmodified lines | ||
| 451 | 451 | DEVLINK_ATTR_TRAP_POLICER_RATE, /* u64 */ |
| 452 | 452 | DEVLINK_ATTR_TRAP_POLICER_BURST, /* u64 */ |
| 453 | 453 | |
| 454 | + DEVLINK_ATTR_PORT_FUNCTION, /* nested */ | |
| 455 | + | |
| 454 | 456 | /* add new attributes above here, update the policy in devlink.c */ |
| 455 | 457 | |
| 456 | 458 | __DEVLINK_ATTR_MAX, |
| @@ -497,4 +499,12 @@ enum devlink_resource_unit { · 40 unmodified lines | ||
| 497 | 499 | DEVLINK_RESOURCE_UNIT_ENTRY, |
| 498 | 500 | }; |
| 499 | 501 | |
| 502 | +enum devlink_port_function_attr { | |
| 503 | + DEVLINK_PORT_FUNCTION_ATTR_UNSPEC, | |
| 504 | + DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR, /* binary */ | |
| 505 | + | |
| 506 | + __DEVLINK_PORT_FUNCTION_ATTR_MAX, | |
| 507 | + DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1 | |
| 508 | +}; | |
| 509 | + | |
| 500 | 510 | #endif /* _UAPI_LINUX_DEVLINK_H_ */ |