xref: /linux/Documentation/netlink/specs/rt-addr.yaml (revision 308b7dee3e5c767e88bbecceff3883c8b17c55b6)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: rt-addr
4protocol: netlink-raw
5uapi-header: linux/rtnetlink.h
6protonum: 0
7
8doc: >-
9  Address configuration over rtnetlink.
10
11definitions:
12  -
13    name: ifaddrmsg
14    type: struct
15    members:
16      -
17        name: ifa-family
18        type: u8
19      -
20        name: ifa-prefixlen
21        type: u8
22      -
23        name: ifa-flags
24        type: u8
25        enum: ifa-flags
26        enum-as-flags: true
27      -
28        name: ifa-scope
29        type: u8
30      -
31        name: ifa-index
32        type: u32
33  -
34    name: ifa-cacheinfo
35    type: struct
36    members:
37      -
38        name: ifa-prefered
39        type: u32
40      -
41        name: ifa-valid
42        type: u32
43      -
44        name: cstamp
45        type: u32
46      -
47        name: tstamp
48        type: u32
49
50  -
51    name: ifa-flags
52    type: flags
53    name-prefix: ifa-f-
54    enum-name:
55    entries:
56      -
57        name: secondary
58      -
59        name: nodad
60      -
61        name: optimistic
62      -
63        name: dadfailed
64      -
65        name: homeaddress
66      -
67        name: deprecated
68      -
69        name: tentative
70      -
71        name: permanent
72      -
73        name: managetempaddr
74      -
75        name: noprefixroute
76      -
77        name: mcautojoin
78      -
79        name: stable-privacy
80
81attribute-sets:
82  -
83    name: addr-attrs
84    name-prefix: ifa-
85    attributes:
86      -
87        name: address
88        type: binary
89        display-hint: ipv4-or-v6
90      -
91        name: local
92        type: binary
93        display-hint: ipv4-or-v6
94      -
95        name: label
96        type: string
97      -
98        name: broadcast
99        type: u32
100        byte-order: big-endian
101        display-hint: ipv4
102      -
103        name: anycast
104        type: binary
105      -
106        name: cacheinfo
107        type: binary
108        struct: ifa-cacheinfo
109      -
110        name: multicast
111        type: binary
112      -
113        name: flags
114        type: u32
115        enum: ifa-flags
116        enum-as-flags: true
117      -
118        name: rt-priority
119        type: u32
120      -
121        name: target-netnsid
122        type: binary
123      -
124        name: proto
125        type: u8
126
127
128operations:
129  fixed-header: ifaddrmsg
130  enum-model: directional
131  name-prefix: rtm-
132  list:
133    -
134      name: newaddr
135      doc: Add new address
136      attribute-set: addr-attrs
137      do:
138        request:
139          value: 20
140          attributes: &ifaddr-all
141            - address
142            - label
143            - local
144            - cacheinfo
145    -
146      name: deladdr
147      doc: Remove address
148      attribute-set: addr-attrs
149      do:
150        request:
151          value: 21
152          attributes:
153            - address
154            - local
155    -
156      name: getaddr
157      doc: Dump address information.
158      attribute-set: addr-attrs
159      dump:
160        request:
161          value: 22
162          attributes: []
163        reply:
164          value: 20
165          attributes: *ifaddr-all
166    -
167      name: getmulticast
168      doc: Get / dump IPv4/IPv6 multicast addresses.
169      attribute-set: addr-attrs
170      fixed-header: ifaddrmsg
171      do:
172        request:
173          value: 58
174          attributes: []
175        reply:
176          value: 58
177          attributes: &mcaddr-attrs
178            - multicast
179            - cacheinfo
180      dump:
181        request:
182          value: 58
183          attributes: []
184        reply:
185          value: 58
186          attributes: *mcaddr-attrs
187
188mcast-groups:
189  list:
190    -
191      name: rtnlgrp-ipv4-ifaddr
192      value: 5
193    -
194      name: rtnlgrp-ipv6-ifaddr
195      value: 9
196