Logo

The Linux Kernel

6.13.0-rc2

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
    • Networking interfaces
      • Networking
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • Storage interfaces
    • Other subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

Family mptcp_pm netlink specification¶

Contents

  • Family mptcp_pm netlink specification

    • Summary

    • Operations

      • unspec

      • add-addr

      • del-addr

      • get-addr

      • flush-addrs

      • set-limits

      • get-limits

      • set-flags

      • announce

      • remove

      • subflow-create

      • subflow-destroy

    • Definitions

      • event-type

    • Attribute sets

      • address

      • subflow-attribute

      • endpoint

      • attr

      • event-attr

Summary¶

Multipath TCP.

Operations¶

unspec¶

unused

value:

0

add-addr¶

Add endpoint

attribute-set:

endpoint

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr]

del-addr¶

Delete endpoint

attribute-set:

endpoint

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr]

get-addr¶

Get endpoint information

attribute-set:

attr

dont-validate:

[‘strict’]

do:
request
attributes:

[addr, token]

reply
attributes:

[addr]

dump:
reply
attributes:

[addr]

flush-addrs¶

flush addresses

attribute-set:

endpoint

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr]

set-limits¶

Set protocol limits

attribute-set:

attr

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[rcv-add-addrs, subflows]

get-limits¶

Get protocol limits

attribute-set:

attr

dont-validate:

[‘strict’]

do:
request
attributes:

[rcv-add-addrs, subflows]

reply
attributes:

[rcv-add-addrs, subflows]

set-flags¶

Change endpoint flags

attribute-set:

attr

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr, token, addr-remote]

announce¶

announce new sf

attribute-set:

attr

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr, token]

remove¶

announce removal

attribute-set:

attr

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[token, loc-id]

subflow-create¶

todo

attribute-set:

attr

dont-validate:

[‘strict’]

flags:

[uns-admin-perm]

do:
request
attributes:

[addr, token, addr-remote]

subflow-destroy¶

todo

attribute-set:

attr

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:

address

attr¶

unspec (unused)¶

value:

0

addr (nest)¶

nested-attributes:

address

rcv-add-addrs (u32)¶

subflows (u32)¶

token (u32)¶

loc-id (u8)¶

addr-remote (nest)¶

nested-attributes:

address

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

backup (u8)¶

error (u8)¶

flags (u16)¶

timeout (u32)¶

if_idx (u32)¶

reset-reason (u32)¶

reset-flags (u32)¶

server-side (u8)¶

©The kernel development community. | Powered by Sphinx 7.3.7 & Alabaster 0.7.16 | Page source