Skip to content

Commit d219fab

Browse files
committed
Merge branch 'netlink-specs-rtnetlink-adjust-specs-for-c-codegen'
Jakub Kicinski says: ==================== netlink: specs: rtnetlink: adjust specs for C codegen The first patch brings a schema extension allowing specifying "header" (as in .h file) properties in attribute sets. This is used for rare cases where we carry attributes from another family in a nest - we need to include the extra headers. If we were to generate kernel code we'd also need to skip it in the uAPI output. The remaining 11 patches are pretty boring schema adjustments. ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 87f43e6 + 620b382 commit d219fab

File tree

7 files changed

+69
-23
lines changed

7 files changed

+69
-23
lines changed

Documentation/netlink/genetlink-c.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ properties:
148148
attr-max-name:
149149
description: The explicit name for last member of attribute enum.
150150
type: string
151+
header:
152+
description: For C-compatible languages, header which already defines this attribute set.
153+
type: string
151154
# End genetlink-c
152155
attributes:
153156
description: List of attributes in the space.

Documentation/netlink/genetlink-legacy.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ properties:
193193
attr-max-name:
194194
description: The explicit name for last member of attribute enum.
195195
type: string
196+
header:
197+
description: For C-compatible languages, header which already defines this attribute set.
198+
type: string
196199
# End genetlink-c
197200
attributes:
198201
description: List of attributes in the space.

Documentation/netlink/netlink-raw.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,9 @@ properties:
207207
attr-max-name:
208208
description: The explicit name for last member of attribute enum.
209209
type: string
210+
header:
211+
description: For C-compatible languages, header which already defines this attribute set.
212+
type: string
210213
# End genetlink-c
211214
attributes:
212215
description: List of attributes in the space.

Documentation/netlink/specs/rt-link.yaml

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
name: rt-link
44
protocol: netlink-raw
5+
uapi-header: linux/rtnetlink.h
56
protonum: 0
67

78
doc:
@@ -11,6 +12,9 @@ definitions:
1112
-
1213
name: ifinfo-flags
1314
type: flags
15+
header: linux/if.h
16+
enum-name: net-device-flags
17+
name-prefix: iff-
1418
entries:
1519
-
1620
name: up
@@ -53,6 +57,7 @@ definitions:
5357
-
5458
name: vlan-protocols
5559
type: enum
60+
enum-name:
5661
entries:
5762
-
5863
name: 8021q
@@ -754,6 +759,7 @@ definitions:
754759
-
755760
name: vlan-flags
756761
type: flags
762+
enum-name:
757763
entries:
758764
- reorder-hdr
759765
- gvrp
@@ -840,6 +846,7 @@ definitions:
840846
-
841847
name: ifla-vf-link-state-enum
842848
type: enum
849+
enum-name:
843850
entries:
844851
- auto
845852
- enable
@@ -906,6 +913,7 @@ definitions:
906913
-
907914
name: rtext-filter
908915
type: flags
916+
enum-name:
909917
entries:
910918
- vf
911919
- brvlan
@@ -918,6 +926,7 @@ definitions:
918926
-
919927
name: netkit-policy
920928
type: enum
929+
enum-name:
921930
entries:
922931
-
923932
name: forward
@@ -928,13 +937,15 @@ definitions:
928937
-
929938
name: netkit-mode
930939
type: enum
940+
enum-name: netkit-mode
931941
entries:
932942
- name: l2
933943
- name: l3
934944

935945
-
936946
name: netkit-scrub
937947
type: enum
948+
enum-name:
938949
entries:
939950
- name: none
940951
- name: default
@@ -1177,24 +1188,27 @@ attribute-sets:
11771188
multi-attr: true
11781189
-
11791190
name: af-spec-attrs
1191+
name-prefix: af-
1192+
attr-max-name: af-max
11801193
attributes:
11811194
-
1182-
name: "inet"
1195+
name: inet
11831196
type: nest
11841197
value: 2
11851198
nested-attributes: ifla-attrs
11861199
-
1187-
name: "inet6"
1200+
name: inet6
11881201
type: nest
11891202
value: 10
11901203
nested-attributes: ifla6-attrs
11911204
-
1192-
name: "mctp"
1205+
name: mctp
11931206
type: nest
11941207
value: 45
11951208
nested-attributes: mctp-attrs
11961209
-
11971210
name: vfinfo-list-attrs
1211+
name-prefix: ifla-vf-
11981212
attributes:
11991213
-
12001214
name: info
@@ -1203,6 +1217,7 @@ attribute-sets:
12031217
multi-attr: true
12041218
-
12051219
name: vfinfo-attrs
1220+
name-prefix: ifla-vf-
12061221
attributes:
12071222
-
12081223
name: mac
@@ -1257,6 +1272,7 @@ attribute-sets:
12571272
type: binary
12581273
-
12591274
name: vf-stats-attrs
1275+
name-prefix: ifla-vf-stats-
12601276
attributes:
12611277
-
12621278
name: rx-packets
@@ -1288,6 +1304,8 @@ attribute-sets:
12881304
type: u64
12891305
-
12901306
name: vf-vlan-attrs
1307+
name-prefix: ifla-vf-vlan-
1308+
attr-max-name: ifla-vf-vlan-info-max
12911309
attributes:
12921310
-
12931311
name: info
@@ -1296,12 +1314,15 @@ attribute-sets:
12961314
multi-attr: true
12971315
-
12981316
name: vf-ports-attrs
1317+
name-prefix: ifla-
12991318
attributes: []
13001319
-
13011320
name: port-self-attrs
1321+
name-prefix: ifla-
13021322
attributes: []
13031323
-
13041324
name: linkinfo-attrs
1325+
name-prefix: ifla-info-
13051326
attributes:
13061327
-
13071328
name: kind
@@ -1426,6 +1447,8 @@ attribute-sets:
14261447
type: indexed-array
14271448
sub-type: binary
14281449
display-hint: ipv6
1450+
checks:
1451+
exact-len: 16
14291452
-
14301453
name: coupled-control
14311454
type: u8
@@ -1855,6 +1878,7 @@ attribute-sets:
18551878
-
18561879
name: linkinfo-vti-attrs
18571880
name-prefix: ifla-vti-
1881+
header: linux/if_tunnel.h
18581882
attributes:
18591883
-
18601884
name: link
@@ -2107,7 +2131,7 @@ attribute-sets:
21072131
byte-order: big-endian
21082132
-
21092133
name: ifla-vlan-qos
2110-
name-prefix: ifla-vlan-qos
2134+
name-prefix: ifla-vlan-qos-
21112135
attributes:
21122136
-
21132137
name: mapping
@@ -2123,6 +2147,7 @@ attribute-sets:
21232147
type: u32
21242148
-
21252149
name: xdp-attrs
2150+
name-prefix: ifla-xdp-
21262151
attributes:
21272152
-
21282153
name: fd
@@ -2150,13 +2175,15 @@ attribute-sets:
21502175
type: s32
21512176
-
21522177
name: ifla-attrs
2178+
name-prefix: ifla-inet-
21532179
attributes:
21542180
-
21552181
name: conf
21562182
type: binary
21572183
struct: ipv4-devconf
21582184
-
21592185
name: ifla6-attrs
2186+
name-prefix: ifla-inet6-
21602187
attributes:
21612188
-
21622189
name: flags
@@ -2222,6 +2249,7 @@ attribute-sets:
22222249
type: binary
22232250
-
22242251
name: link-offload-xstats
2252+
name-prefix: ifla-offload-xstats-
22252253
attributes:
22262254
-
22272255
name: cpu-hit
@@ -2236,6 +2264,7 @@ attribute-sets:
22362264
type: binary
22372265
-
22382266
name: hw-s-info-one
2267+
name-prefix: ifla-offload-xstats-hw-s-info-
22392268
attributes:
22402269
-
22412270
name: request
@@ -2245,6 +2274,8 @@ attribute-sets:
22452274
type: u8
22462275
-
22472276
name: link-dpll-pin-attrs
2277+
name-prefix: dpll-a-
2278+
header: linux/dpll.h
22482279
attributes:
22492280
-
22502281
name: id
@@ -2357,6 +2388,7 @@ sub-messages:
23572388

23582389
operations:
23592390
enum-model: directional
2391+
name-prefix: rtm-
23602392
list:
23612393
-
23622394
name: newlink
@@ -2367,7 +2399,6 @@ operations:
23672399
request:
23682400
value: 16
23692401
attributes: &link-new-attrs
2370-
- ifi-index
23712402
- ifname
23722403
- net-ns-pid
23732404
- net-ns-fd
@@ -2383,13 +2414,18 @@ operations:
23832414
- txqlen
23842415
- operstate
23852416
- linkmode
2386-
- group
23872417
- gso-max-size
23882418
- gso-max-segs
23892419
- gro-max-size
23902420
- gso-ipv4-max-size
23912421
- gro-ipv4-max-size
23922422
- af-spec
2423+
-
2424+
name: newlink-ntf
2425+
doc: Notify that a link has been created
2426+
value: 16
2427+
notify: getlink
2428+
fixed-header: ifinfomsg
23932429
-
23942430
name: dellink
23952431
doc: Delete an existing link.
@@ -2399,7 +2435,6 @@ operations:
23992435
request:
24002436
value: 17
24012437
attributes:
2402-
- ifi-index
24032438
- ifname
24042439
-
24052440
name: getlink
@@ -2410,19 +2445,13 @@ operations:
24102445
request:
24112446
value: 18
24122447
attributes:
2413-
- ifi-index
24142448
- ifname
24152449
- alt-ifname
24162450
- ext-mask
24172451
- target-netnsid
24182452
reply:
24192453
value: 16
24202454
attributes: &link-all-attrs
2421-
- ifi-family
2422-
- ifi-type
2423-
- ifi-index
2424-
- ifi-flags
2425-
- ifi-change
24262455
- address
24272456
- broadcast
24282457
- ifname
@@ -2468,7 +2497,6 @@ operations:
24682497
- xdp
24692498
- event
24702499
- new-netnsid
2471-
- if-netnsid
24722500
- target-netnsid
24732501
- carrier-up-count
24742502
- carrier-down-count
@@ -2515,14 +2543,9 @@ operations:
25152543
do:
25162544
request:
25172545
value: 94
2518-
attributes:
2519-
- ifindex
25202546
reply:
25212547
value: 92
25222548
attributes: &link-stats-attrs
2523-
- family
2524-
- ifindex
2525-
- filter-mask
25262549
- link-64
25272550
- link-xstats
25282551
- link-xstats-slave

0 commit comments

Comments
 (0)