Family mptcp_pm
netlink specification¶
Summary¶
Multipath TCP.
Operations¶
unspec¶
unused
- value:
0
add-addr¶
Add endpoint
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
]
del-addr¶
Delete endpoint
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
]
get-addr¶
Get endpoint information
- attribute-set:
- dont-validate:
[‘strict’]
- do:
- request
- attributes:
[
addr
,token
]
- reply
- attributes:
[
addr
]
- dump:
- reply
- attributes:
[
addr
]
flush-addrs¶
flush addresses
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
]
set-limits¶
Set protocol limits
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
rcv-add-addrs
,subflows
]
get-limits¶
Get protocol limits
- attribute-set:
- dont-validate:
[‘strict’]
- do:
- request
- attributes:
[
rcv-add-addrs
,subflows
]
- reply
- attributes:
[
rcv-add-addrs
,subflows
]
set-flags¶
Change endpoint flags
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
,token
,addr-remote
]
announce¶
announce new sf
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
,token
]
remove¶
announce removal
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
token
,loc-id
]
subflow-create¶
todo
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
,token
,addr-remote
]
subflow-destroy¶
todo
- attribute-set:
- dont-validate:
[‘strict’]
- flags:
[
uns-admin-perm
]- do:
- request
- attributes:
[
addr
,token
,addr-remote
]
Definitions¶
event-type¶
- type:
enum
- enum-name:
mptcp-event-type
- name-prefix:
mptcp-event-
- entries:
- unspec:
unused event
- created:
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport A new MPTCP connection has been created. It is the good time to allocate memory and send ADD_ADDR if needed. Depending on the traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent.
- established:
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport A MPTCP connection is established (can start new subflows).
- closed:
token A MPTCP connection has stopped.
- announced:
token, rem_id, family, daddr4 | daddr6 [, dport] A new address has been announced by the peer.
- removed:
token, rem_id An address has been lost by the peer.
- sub-established:
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] A new subflow has been established. ‘error’ should not be set.
- sub-closed:
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] A subflow has been closed. An error (copy of sk_err) could be set if an error has been detected for this subflow.
- sub-priority:
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] The priority of a subflow has changed. ‘error’ should not be set.
- listener-created:
family, sport, saddr4 | saddr6 A new PM listener is created.
- listener-closed:
family, sport, saddr4 | saddr6 A PM listener is closed.
Attribute sets¶
address¶
unspec (unused
)¶
- value:
0
family (u16
)¶
id (u8
)¶
addr4 (u32
)¶
- byte-order:
big-endian
addr6 (binary
)¶
port (u16
)¶
flags (u32
)¶
if-idx (s32
)¶
subflow-attribute¶
unspec (unused
)¶
- value:
0
token-rem (u32
)¶
token-loc (u32
)¶
relwrite-seq (u32
)¶
map-seq (u64
)¶
map-sfseq (u32
)¶
ssn-offset (u32
)¶
map-datalen (u16
)¶
flags (u32
)¶
id-rem (u8
)¶
id-loc (u8
)¶
pad (pad
)¶
endpoint¶
addr (nest
)¶
- nested-attributes:
attr¶
unspec (unused
)¶
- value:
0
addr (nest
)¶
- nested-attributes:
rcv-add-addrs (u32
)¶
subflows (u32
)¶
token (u32
)¶
loc-id (u8
)¶
addr-remote (nest
)¶
- nested-attributes:
event-attr¶
unspec (unused
)¶
- value:
0
token (u32
)¶
family (u16
)¶
loc-id (u8
)¶
rem-id (u8
)¶
saddr4 (u32
)¶
- byte-order:
big-endian
saddr6 (binary
)¶
daddr4 (u32
)¶
- byte-order:
big-endian
daddr6 (binary
)¶
sport (u16
)¶
- byte-order:
big-endian
dport (u16
)¶
- byte-order:
big-endian