Skip to content

Commit e497c32

Browse files
donaldhkuba-moo
authored andcommitted
netlink/specs: Add VF attributes to rt_link spec
Add support for retrieving VFs as part of link info. For example: ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/rt_link.yaml \ --do getlink --json '{"ifi-index": 38, "ext-mask": ["vf", "skip-stats"]}' {'address': 'b6:75:91:f2:64:65', [snip] 'vfinfo-list': {'info': [{'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00', 'link-state': {'link-state': 'auto', 'vf': 0}, 'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00', 'vf': 0}, 'rate': {'max-tx-rate': 0, 'min-tx-rate': 0, 'vf': 0}, 'rss-query-en': {'setting': 0, 'vf': 0}, 'spoofchk': {'setting': 0, 'vf': 0}, 'trust': {'setting': 0, 'vf': 0}, 'tx-rate': {'rate': 0, 'vf': 0}, 'vlan': {'qos': 0, 'vf': 0, 'vlan': 0}, 'vlan-list': {'info': [{'qos': 0, 'vf': 0, 'vlan': 0, 'vlan-proto': 0}]}}, {'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00', 'link-state': {'link-state': 'auto', 'vf': 1}, 'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\x00\x00', 'vf': 1}, 'rate': {'max-tx-rate': 0, 'min-tx-rate': 0, 'vf': 1}, 'rss-query-en': {'setting': 0, 'vf': 1}, 'spoofchk': {'setting': 0, 'vf': 1}, 'trust': {'setting': 0, 'vf': 1}, 'tx-rate': {'rate': 0, 'vf': 1}, 'vlan': {'qos': 0, 'vf': 1, 'vlan': 0}, 'vlan-list': {'info': [{'qos': 0, 'vf': 1, 'vlan': 0, 'vlan-proto': 0}]}}]}, 'xdp': {'attached': 0}} Signed-off-by: Donald Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 3a2a192 commit e497c32

File tree

1 file changed

+235
-2
lines changed

1 file changed

+235
-2
lines changed

Documentation/netlink/specs/rt_link.yaml

Lines changed: 235 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -770,6 +770,139 @@ definitions:
770770
-
771771
name: to
772772
type: u32
773+
-
774+
name: ifla-vf-mac
775+
type: struct
776+
members:
777+
-
778+
name: vf
779+
type: u32
780+
-
781+
name: mac
782+
type: binary
783+
len: 32
784+
-
785+
name: ifla-vf-vlan
786+
type: struct
787+
members:
788+
-
789+
name: vf
790+
type: u32
791+
-
792+
name: vlan
793+
type: u32
794+
-
795+
name: qos
796+
type: u32
797+
-
798+
name: ifla-vf-tx-rate
799+
type: struct
800+
members:
801+
-
802+
name: vf
803+
type: u32
804+
-
805+
name: rate
806+
type: u32
807+
-
808+
name: ifla-vf-spoofchk
809+
type: struct
810+
members:
811+
-
812+
name: vf
813+
type: u32
814+
-
815+
name: setting
816+
type: u32
817+
-
818+
name: ifla-vf-link-state
819+
type: struct
820+
members:
821+
-
822+
name: vf
823+
type: u32
824+
-
825+
name: link-state
826+
type: u32
827+
enum: ifla-vf-link-state-enum
828+
-
829+
name: ifla-vf-link-state-enum
830+
type: enum
831+
entries:
832+
- auto
833+
- enable
834+
- disable
835+
-
836+
name: ifla-vf-rate
837+
type: struct
838+
members:
839+
-
840+
name: vf
841+
type: u32
842+
-
843+
name: min-tx-rate
844+
type: u32
845+
-
846+
name: max-tx-rate
847+
type: u32
848+
-
849+
name: ifla-vf-rss-query-en
850+
type: struct
851+
members:
852+
-
853+
name: vf
854+
type: u32
855+
-
856+
name: setting
857+
type: u32
858+
-
859+
name: ifla-vf-trust
860+
type: struct
861+
members:
862+
-
863+
name: vf
864+
type: u32
865+
-
866+
name: setting
867+
type: u32
868+
-
869+
name: ifla-vf-guid
870+
type: struct
871+
members:
872+
-
873+
name: vf
874+
type: u32
875+
-
876+
name: guid
877+
type: u64
878+
-
879+
name: ifla-vf-vlan-info
880+
type: struct
881+
members:
882+
-
883+
name: vf
884+
type: u32
885+
-
886+
name: vlan
887+
type: u32
888+
-
889+
name: qos
890+
type: u32
891+
-
892+
name: vlan-proto
893+
type: u32
894+
-
895+
name: rtext-filter
896+
type: flags
897+
entries:
898+
- vf
899+
- brvlan
900+
- brvlan-compressed
901+
- skip-stats
902+
- mrp
903+
- cfm-config
904+
- cfm-status
905+
- mst
773906

774907
attribute-sets:
775908
-
@@ -847,7 +980,7 @@ attribute-sets:
847980
-
848981
name: vfinfo-list
849982
type: nest
850-
nested-attributes: vfinfo-attrs
983+
nested-attributes: vfinfo-list-attrs
851984
-
852985
name: stats64
853986
type: binary
@@ -873,6 +1006,8 @@ attribute-sets:
8731006
-
8741007
name: ext-mask
8751008
type: u32
1009+
enum: rtext-filter
1010+
enum-as-flags: true
8761011
-
8771012
name: promiscuity
8781013
type: u32
@@ -1004,9 +1139,107 @@ attribute-sets:
10041139
type: nest
10051140
value: 45
10061141
nested-attributes: mctp-attrs
1142+
-
1143+
name: vfinfo-list-attrs
1144+
attributes:
1145+
-
1146+
name: info
1147+
type: nest
1148+
nested-attributes: vfinfo-attrs
1149+
multi-attr: true
10071150
-
10081151
name: vfinfo-attrs
1009-
attributes: []
1152+
attributes:
1153+
-
1154+
name: mac
1155+
type: binary
1156+
struct: ifla-vf-mac
1157+
-
1158+
name: vlan
1159+
type: binary
1160+
struct: ifla-vf-vlan
1161+
-
1162+
name: tx-rate
1163+
type: binary
1164+
struct: ifla-vf-tx-rate
1165+
-
1166+
name: spoofchk
1167+
type: binary
1168+
struct: ifla-vf-spoofchk
1169+
-
1170+
name: link-state
1171+
type: binary
1172+
struct: ifla-vf-link-state
1173+
-
1174+
name: rate
1175+
type: binary
1176+
struct: ifla-vf-rate
1177+
-
1178+
name: rss-query-en
1179+
type: binary
1180+
struct: ifla-vf-rss-query-en
1181+
-
1182+
name: stats
1183+
type: nest
1184+
nested-attributes: vf-stats-attrs
1185+
-
1186+
name: trust
1187+
type: binary
1188+
struct: ifla-vf-trust
1189+
-
1190+
name: ib-node-guid
1191+
type: binary
1192+
struct: ifla-vf-guid
1193+
-
1194+
name: ib-port-guid
1195+
type: binary
1196+
struct: ifla-vf-guid
1197+
-
1198+
name: vlan-list
1199+
type: nest
1200+
nested-attributes: vf-vlan-attrs
1201+
-
1202+
name: broadcast
1203+
type: binary
1204+
-
1205+
name: vf-stats-attrs
1206+
attributes:
1207+
-
1208+
name: rx-packets
1209+
type: u64
1210+
value: 0
1211+
-
1212+
name: tx-packets
1213+
type: u64
1214+
-
1215+
name: rx-bytes
1216+
type: u64
1217+
-
1218+
name: tx-bytes
1219+
type: u64
1220+
-
1221+
name: broadcast
1222+
type: u64
1223+
-
1224+
name: multicast
1225+
type: u64
1226+
-
1227+
name: pad
1228+
type: pad
1229+
-
1230+
name: rx-dropped
1231+
type: u64
1232+
-
1233+
name: tx-dropped
1234+
type: u64
1235+
-
1236+
name: vf-vlan-attrs
1237+
attributes:
1238+
-
1239+
name: info
1240+
type: binary
1241+
struct: ifla-vf-vlan-info
1242+
multi-attr: true
10101243
-
10111244
name: vf-ports-attrs
10121245
attributes: []

0 commit comments

Comments
 (0)