~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/netlink/specs/mptcp_pm.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2 
  3 name: mptcp_pm
  4 protocol: genetlink-legacy
  5 doc: Multipath TCP.
  6 
  7 c-family-name: mptcp-pm-name
  8 c-version-name: mptcp-pm-ver
  9 max-by-define: true
 10 kernel-policy: per-op
 11 cmd-cnt-name: --mptcp-pm-cmd-after-last
 12 
 13 definitions:
 14   -
 15     type: enum
 16     name: event-type
 17     enum-name: mptcp-event-type
 18     name-prefix: mptcp-event-
 19     entries:
 20      -
 21       name: unspec
 22       doc: unused event
 23      -
 24       name: created
 25       doc:
 26         token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
 27         A new MPTCP connection has been created. It is the good time to
 28         allocate memory and send ADD_ADDR if needed. Depending on the
 29         traffic-patterns it can take a long time until the
 30         MPTCP_EVENT_ESTABLISHED is sent.
 31      -
 32       name: established
 33       doc:
 34         token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
 35         A MPTCP connection is established (can start new subflows).
 36      -
 37       name: closed
 38       doc:
 39         token
 40         A MPTCP connection has stopped.
 41      -
 42       name: announced
 43       value: 6
 44       doc:
 45         token, rem_id, family, daddr4 | daddr6 [, dport]
 46         A new address has been announced by the peer.
 47      -
 48       name: removed
 49       doc:
 50         token, rem_id
 51         An address has been lost by the peer.
 52      -
 53       name: sub-established
 54       value: 10
 55       doc:
 56         token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
 57         dport, backup, if_idx [, error]
 58         A new subflow has been established. 'error' should not be set.
 59      -
 60       name: sub-closed
 61       doc:
 62         token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
 63         dport, backup, if_idx [, error]
 64         A subflow has been closed. An error (copy of sk_err) could be set if an
 65         error has been detected for this subflow.
 66      -
 67       name: sub-priority
 68       value: 13
 69       doc:
 70         token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
 71         dport, backup, if_idx [, error]
 72         The priority of a subflow has changed. 'error' should not be set.
 73      -
 74       name: listener-created
 75       value: 15
 76       doc:
 77         family, sport, saddr4 | saddr6
 78         A new PM listener is created.
 79      -
 80       name: listener-closed
 81       doc:
 82         family, sport, saddr4 | saddr6
 83         A PM listener is closed.
 84 
 85 attribute-sets:
 86   -
 87     name: address
 88     name-prefix: mptcp-pm-addr-attr-
 89     attributes:
 90       -
 91         name: unspec
 92         type: unused
 93         value: 0
 94       -
 95         name: family
 96         type: u16
 97       -
 98         name: id
 99         type: u8
100       -
101         name: addr4
102         type: u32
103         byte-order: big-endian
104       -
105         name: addr6
106         type: binary
107         checks:
108           exact-len: 16
109       -
110         name: port
111         type: u16
112       -
113         name: flags
114         type: u32
115       -
116         name: if-idx
117         type: s32
118   -
119     name: subflow-attribute
120     name-prefix: mptcp-subflow-attr-
121     attributes:
122       -
123         name: unspec
124         type: unused
125         value: 0
126       -
127         name: token-rem
128         type: u32
129       -
130         name: token-loc
131         type: u32
132       -
133         name: relwrite-seq
134         type: u32
135       -
136         name: map-seq
137         type: u64
138       -
139         name: map-sfseq
140         type: u32
141       -
142         name: ssn-offset
143         type: u32
144       -
145         name: map-datalen
146         type: u16
147       -
148         name: flags
149         type: u32
150       -
151         name: id-rem
152         type: u8
153       -
154         name: id-loc
155         type: u8
156       -
157         name: pad
158         type: pad
159   -
160     name: endpoint
161     name-prefix: mptcp-pm-endpoint-
162     attributes:
163       -
164         name: addr
165         type: nest
166         nested-attributes: address
167   -
168     name: attr
169     name-prefix: mptcp-pm-attr-
170     attr-cnt-name: --mptcp-attr-after-last
171     attributes:
172       -
173         name: unspec
174         type: unused
175         value: 0
176       -
177         name: addr
178         type: nest
179         nested-attributes: address
180       -
181         name: rcv-add-addrs
182         type: u32
183       -
184         name: subflows
185         type: u32
186       -
187         name: token
188         type: u32
189       -
190         name: loc-id
191         type: u8
192       -
193         name: addr-remote
194         type: nest
195         nested-attributes: address
196   -
197     name: event-attr
198     enum-name: mptcp-event-attr
199     name-prefix: mptcp-attr-
200     attributes:
201       -
202         name: unspec
203         type: unused
204         value: 0
205       -
206         name: token
207         type: u32
208       -
209         name: family
210         type: u16
211       -
212         name: loc-id
213         type: u8
214       -
215         name: rem-id
216         type: u8
217       -
218         name: saddr4
219         type: u32
220         byte-order: big-endian
221       -
222         name: saddr6
223         type: binary
224         checks:
225           min-len: 16
226       -
227         name: daddr4
228         type: u32
229         byte-order: big-endian
230       -
231         name: daddr6
232         type: binary
233         checks:
234           min-len: 16
235       -
236         name: sport
237         type: u16
238         byte-order: big-endian
239       -
240         name: dport
241         type: u16
242         byte-order: big-endian
243       -
244         name: backup
245         type: u8
246       -
247         name: error
248         type: u8
249       -
250         name: flags
251         type: u16
252       -
253         name: timeout
254         type: u32
255       -
256         name: if_idx
257         type: u32
258       -
259         name: reset-reason
260         type: u32
261       -
262         name: reset-flags
263         type: u32
264       -
265         name: server-side
266         type: u8
267 
268 operations:
269   list:
270     -
271       name: unspec
272       doc: unused
273       value: 0
274     -
275       name: add-addr
276       doc: Add endpoint
277       attribute-set: endpoint
278       dont-validate: [ strict ]
279       flags: [ uns-admin-perm ]
280       do: &add-addr-attrs
281         request:
282           attributes:
283             - addr
284     -
285       name: del-addr
286       doc: Delete endpoint
287       attribute-set: endpoint
288       dont-validate: [ strict ]
289       flags: [ uns-admin-perm ]
290       do: *add-addr-attrs
291     -
292       name: get-addr
293       doc: Get endpoint information
294       attribute-set: attr
295       dont-validate: [ strict ]
296       do: &get-addr-attrs
297         request:
298           attributes:
299            - addr
300            - token
301         reply:
302           attributes:
303            - addr
304       dump:
305         reply:
306          attributes:
307            - addr
308     -
309       name:  flush-addrs
310       doc: flush addresses
311       attribute-set: endpoint
312       dont-validate: [ strict ]
313       flags: [ uns-admin-perm ]
314       do: *add-addr-attrs
315     -
316       name: set-limits
317       doc: Set protocol limits
318       attribute-set: attr
319       dont-validate: [ strict ]
320       flags: [ uns-admin-perm ]
321       do: &mptcp-limits
322         request:
323           attributes:
324             - rcv-add-addrs
325             - subflows
326     -
327       name: get-limits
328       doc: Get protocol limits
329       attribute-set: attr
330       dont-validate: [ strict ]
331       do: &mptcp-get-limits
332         request:
333            attributes:
334             - rcv-add-addrs
335             - subflows
336         reply:
337           attributes:
338             - rcv-add-addrs
339             - subflows
340     -
341       name: set-flags
342       doc: Change endpoint flags
343       attribute-set: attr
344       dont-validate: [ strict ]
345       flags: [ uns-admin-perm ]
346       do: &mptcp-set-flags
347         request:
348           attributes:
349             - addr
350             - token
351             - addr-remote
352     -
353       name: announce
354       doc: announce new sf
355       attribute-set: attr
356       dont-validate: [ strict ]
357       flags: [ uns-admin-perm ]
358       do: &announce-add
359         request:
360           attributes:
361             - addr
362             - token
363     -
364       name: remove
365       doc: announce removal
366       attribute-set: attr
367       dont-validate: [ strict ]
368       flags: [ uns-admin-perm ]
369       do:
370         request:
371          attributes:
372            - token
373            - loc-id
374     -
375       name: subflow-create
376       doc: todo
377       attribute-set: attr
378       dont-validate: [ strict ]
379       flags: [ uns-admin-perm ]
380       do: &sf-create
381         request:
382           attributes:
383             - addr
384             - token
385             - addr-remote
386     -
387       name: subflow-destroy
388       doc: todo
389       attribute-set: attr
390       dont-validate: [ strict ]
391       flags: [ uns-admin-perm ]
392       do: *sf-create

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php