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