Devlink ports can have specific flavour according to the purpose of use. This patch extend attrs_set so the driver can say which flavour port has. Initial flavours are: physical, cpu, dsa User can query this to see right away what is the purpose of each port.
Showing the changes to include/uapi/linux (1 of 5 files). Show all
Unified · Split
| @@ -132,6 +132,16 @@ enum devlink_eswitch_encap_mode { · 131 unmodified lines | |||
| 132 | DEVLINK_ESWITCH_ENCAP_MODE_BASIC, | 132 | DEVLINK_ESWITCH_ENCAP_MODE_BASIC, |
| 133 | }; | 133 | }; |
| 134 | 134 | ||
| 135 | enum devlink_port_flavour { | ||
| 136 | DEVLINK_PORT_FLAVOUR_PHYSICAL, /* Any kind of a port physically | ||
| 137 | * facing the user. | ||
| 138 | */ | ||
| 139 | DEVLINK_PORT_FLAVOUR_CPU, /* CPU port */ | ||
| 140 | DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture | ||
| 141 | * interconnect port. | ||
| 142 | */ | ||
| 143 | }; | ||
| 144 | |||
| 135 | enum devlink_attr { | 145 | enum devlink_attr { |
| 136 | /* don't change the order or add anything between, this is ABI! */ | 146 | /* don't change the order or add anything between, this is ABI! */ |
| 137 | DEVLINK_ATTR_UNSPEC, | 147 | DEVLINK_ATTR_UNSPEC, |
| @@ -224,6 +234,7 @@ enum devlink_attr { · 86 unmodified lines | |||
| 224 | DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID, /* u64 */ | 234 | DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID, /* u64 */ |
| 225 | DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,/* u64 */ | 235 | DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,/* u64 */ |
| 226 | 236 | ||
| 237 | DEVLINK_ATTR_PORT_FLAVOUR, /* u16 */ | ||
| 227 | DEVLINK_ATTR_PORT_NUMBER, /* u32 */ | 238 | DEVLINK_ATTR_PORT_NUMBER, /* u32 */ |
| 228 | DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */ | 239 | DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */ |
| 229 | 240 | ||