393 lines · yaml
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)2 3name: mptcp_pm4protocol: genetlink-legacy5doc: Multipath TCP.6 7c-family-name: mptcp-pm-name8c-version-name: mptcp-pm-ver9max-by-define: true10kernel-policy: per-op11cmd-cnt-name: --mptcp-pm-cmd-after-last12 13definitions:14 -15 type: enum16 name: event-type17 enum-name: mptcp-event-type18 name-prefix: mptcp-event-19 entries:20 -21 name: unspec22 doc: unused event23 -24 name: created25 doc:26 token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport27 A new MPTCP connection has been created. It is the good time to28 allocate memory and send ADD_ADDR if needed. Depending on the29 traffic-patterns it can take a long time until the30 MPTCP_EVENT_ESTABLISHED is sent.31 -32 name: established33 doc:34 token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport35 A MPTCP connection is established (can start new subflows).36 -37 name: closed38 doc:39 token40 A MPTCP connection has stopped.41 -42 name: announced43 value: 644 doc:45 token, rem_id, family, daddr4 | daddr6 [, dport]46 A new address has been announced by the peer.47 -48 name: removed49 doc:50 token, rem_id51 An address has been lost by the peer.52 -53 name: sub-established54 value: 1055 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-closed61 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 an65 error has been detected for this subflow.66 -67 name: sub-priority68 value: 1369 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-created75 value: 1576 doc:77 family, sport, saddr4 | saddr678 A new PM listener is created.79 -80 name: listener-closed81 doc:82 family, sport, saddr4 | saddr683 A PM listener is closed.84 85attribute-sets:86 -87 name: address88 name-prefix: mptcp-pm-addr-attr-89 attributes:90 -91 name: unspec92 type: unused93 value: 094 -95 name: family96 type: u1697 -98 name: id99 type: u8100 -101 name: addr4102 type: u32103 byte-order: big-endian104 -105 name: addr6106 type: binary107 checks:108 exact-len: 16109 -110 name: port111 type: u16112 -113 name: flags114 type: u32115 -116 name: if-idx117 type: s32118 -119 name: subflow-attribute120 name-prefix: mptcp-subflow-attr-121 attributes:122 -123 name: unspec124 type: unused125 value: 0126 -127 name: token-rem128 type: u32129 -130 name: token-loc131 type: u32132 -133 name: relwrite-seq134 type: u32135 -136 name: map-seq137 type: u64138 -139 name: map-sfseq140 type: u32141 -142 name: ssn-offset143 type: u32144 -145 name: map-datalen146 type: u16147 -148 name: flags149 type: u32150 -151 name: id-rem152 type: u8153 -154 name: id-loc155 type: u8156 -157 name: pad158 type: pad159 -160 name: endpoint161 name-prefix: mptcp-pm-endpoint-162 attributes:163 -164 name: addr165 type: nest166 nested-attributes: address167 -168 name: attr169 name-prefix: mptcp-pm-attr-170 attr-cnt-name: --mptcp-attr-after-last171 attributes:172 -173 name: unspec174 type: unused175 value: 0176 -177 name: addr178 type: nest179 nested-attributes: address180 -181 name: rcv-add-addrs182 type: u32183 -184 name: subflows185 type: u32186 -187 name: token188 type: u32189 -190 name: loc-id191 type: u8192 -193 name: addr-remote194 type: nest195 nested-attributes: address196 -197 name: event-attr198 enum-name: mptcp-event-attr199 name-prefix: mptcp-attr-200 attributes:201 -202 name: unspec203 type: unused204 value: 0205 -206 name: token207 type: u32208 -209 name: family210 type: u16211 -212 name: loc-id213 type: u8214 -215 name: rem-id216 type: u8217 -218 name: saddr4219 type: u32220 byte-order: big-endian221 -222 name: saddr6223 type: binary224 checks:225 min-len: 16226 -227 name: daddr4228 type: u32229 byte-order: big-endian230 -231 name: daddr6232 type: binary233 checks:234 min-len: 16235 -236 name: sport237 type: u16238 byte-order: big-endian239 -240 name: dport241 type: u16242 byte-order: big-endian243 -244 name: backup245 type: u8246 -247 name: error248 type: u8249 -250 name: flags251 type: u16252 -253 name: timeout254 type: u32255 -256 name: if_idx257 type: u32258 -259 name: reset-reason260 type: u32261 -262 name: reset-flags263 type: u32264 -265 name: server-side266 type: u8267 268operations:269 list:270 -271 name: unspec272 doc: unused273 value: 0274 -275 name: add-addr276 doc: Add endpoint277 attribute-set: endpoint278 dont-validate: [ strict ]279 flags: [ uns-admin-perm ]280 do: &add-addr-attrs281 request:282 attributes:283 - addr284 -285 name: del-addr286 doc: Delete endpoint287 attribute-set: endpoint288 dont-validate: [ strict ]289 flags: [ uns-admin-perm ]290 do: *add-addr-attrs291 -292 name: get-addr293 doc: Get endpoint information294 attribute-set: attr295 dont-validate: [ strict ]296 do: &get-addr-attrs297 request:298 attributes:299 - addr300 - token301 reply:302 attributes:303 - addr304 dump:305 reply:306 attributes:307 - addr308 -309 name: flush-addrs310 doc: flush addresses311 attribute-set: endpoint312 dont-validate: [ strict ]313 flags: [ uns-admin-perm ]314 do: *add-addr-attrs315 -316 name: set-limits317 doc: Set protocol limits318 attribute-set: attr319 dont-validate: [ strict ]320 flags: [ uns-admin-perm ]321 do: &mptcp-limits322 request:323 attributes:324 - rcv-add-addrs325 - subflows326 -327 name: get-limits328 doc: Get protocol limits329 attribute-set: attr330 dont-validate: [ strict ]331 do: &mptcp-get-limits332 request:333 attributes:334 - rcv-add-addrs335 - subflows336 reply:337 attributes:338 - rcv-add-addrs339 - subflows340 -341 name: set-flags342 doc: Change endpoint flags343 attribute-set: attr344 dont-validate: [ strict ]345 flags: [ uns-admin-perm ]346 do: &mptcp-set-flags347 request:348 attributes:349 - addr350 - token351 - addr-remote352 -353 name: announce354 doc: announce new sf355 attribute-set: attr356 dont-validate: [ strict ]357 flags: [ uns-admin-perm ]358 do: &announce-add359 request:360 attributes:361 - addr362 - token363 -364 name: remove365 doc: announce removal366 attribute-set: attr367 dont-validate: [ strict ]368 flags: [ uns-admin-perm ]369 do:370 request:371 attributes:372 - token373 - loc-id374 -375 name: subflow-create376 doc: todo377 attribute-set: attr378 dont-validate: [ strict ]379 flags: [ uns-admin-perm ]380 do: &sf-create381 request:382 attributes:383 - addr384 - token385 - addr-remote386 -387 name: subflow-destroy388 doc: todo389 attribute-set: attr390 dont-validate: [ strict ]391 flags: [ uns-admin-perm ]392 do: *sf-create393