The Linux Kernel

6.4.0

Quick search

Contents

  • A guide to the Kernel Development Process
  • Submitting patches: the essential guide to getting your code into the kernel
  • Code of conduct
  • Kernel Maintainer Handbook
  • All development-process docs
  • Core API Documentation
  • Driver implementer’s API guide
  • Kernel subsystem documentation
    • Driver implementer’s API guide
    • Core API Documentation
    • Locking
    • Accounting
    • Block
    • CD-ROM
    • CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
    • Frame Buffer
    • FPGA
    • Human Interface Devices (HID)
    • I2C/SMBus Subsystem
    • Industrial I/O
    • ISDN
    • InfiniBand
    • LEDs
    • NetLabel
    • Networking
      • AF_XDP
      • Bare UDP Tunnelling Module Documentation
      • batman-adv
      • SocketCAN - Controller Area Network
      • The UCAN Protocol
      • Hardware Device Drivers
      • Distributed Switch Architecture
      • Linux Devlink Documentation
      • CAIF
      • Netlink interface for ethtool
      • IEEE 802.15.4 Developer’s Guide
      • J1939 Documentation
      • Linux Networking and Network Devices APIs
      • MSG_ZEROCOPY
      • FAILOVER
      • Net DIM - Generic Network Dynamic Interrupt Moderation
      • NET_FAILOVER
      • Page Pool API
      • PHY Abstraction Layer
      • phylink
      • IP-Aliasing
      • Ethernet Bridging
      • SNMP counter
      • Checksum Offloads
      • Segmentation Offloads
      • Scaling in the Linux Networking Stack
      • Kernel TLS
      • Kernel TLS offload
      • In-Kernel TLS Handshake
      • Linux NFC subsystem
      • Netdev private dataroom for 6lowpan interfaces
      • 6pack Protocol
      • ARCnet Hardware
      • ARCnet
      • ATM
      • AX.25
      • Linux Ethernet Bonding Driver HOWTO
      • cdc_mbim - Driver for CDC MBIM Mobile Broadband modems
      • DCCP protocol
      • DCTCP (DataCenter TCP)
      • DNS Resolver Module
      • Softnet Driver Issues
      • EQL Driver: Serial IP Load Balancing HOWTO
      • LC-trie implementation notes
      • Linux Socket Filtering aka Berkeley Packet Filter (BPF)
      • Generic HDLC layer
      • Generic Netlink
      • Netlink Family Specifications
      • Generic networking statistics for netlink users
      • The Linux kernel GTP tunneling module
      • Identifier Locator Addressing (ILA)
      • IOAM6 Sysfs variables
      • AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
      • IP dynamic address hack-port v0.03
      • IPsec
      • IP Sysctl
      • IPv6
      • IPVLAN Driver HOWTO
      • IPvs-sysctl
      • Kernel Connection Multiplexor
      • L2TP
      • The Linux LAPB Module Interface
      • How to use packet injection with mac80211
      • Management Component Transport Protocol (MCTP)
      • MPLS Sysfs variables
      • MPTCP Sysfs variables
      • HOWTO for multiqueue network device support
      • NAPI
      • Common Networking Struct Cachelines
      • Netconsole
      • Netdev features mess and how to get out from it alive
      • Network Devices, the Kernel, and You!
      • Netfilter Sysfs variables
      • NETIF Msg Level
      • Resilient Next-hop Groups
      • Netfilter Conntrack Sysfs variables
      • Netfilter’s flowtable infrastructure
      • Open vSwitch datapath developer documentation
      • Operational States
      • Packet MMAP
      • Linux Phonet protocol family
      • HOWTO for the linux packet generator
      • PLIP: The Parallel Line Internet Protocol Device
      • PPP Generic Driver and Channel Interface
      • The proc/net/tcp and proc/net/tcp6 variables
      • Power Sourcing Equipment (PSE) Documentation
      • How to use radiotap headers
      • RDS
      • Linux wireless regulatory documentation
      • Network Function Representors
      • RxRPC Network Protocol
      • SOCKET OPTIONS
      • SECURITY
      • EXAMPLE CLIENT USAGE
      • Linux Kernel SCTP
      • LSM/SeLinux secid
      • Seg6 Sysfs variables
      • struct sk_buff
      • SMC Sysctl
      • Interface statistics
      • Stream Parser (strparser)
      • Ethernet switch device driver model (switchdev)
      • Sysfs tagging
      • TC Actions - Environmental Rules
      • TC queue based filtering
      • Thin-streams and TCP
      • Team
      • Timestamping
      • Linux Kernel TIPC
      • Transparent proxy support
      • Universal TUN/TAP device driver
      • The UDP-Lite protocol (RFC 3828)
      • Virtual Routing and Forwarding (VRF)
      • Virtual eXtensible Local Area Networking documentation
      • Linux X.25 Project
      • X.25 Device Driver Interface
      • XFRM device - offloading the IPsec computations
      • XFRM proc - /proc/net/xfrm_* files
      • XFRM
      • XFRM Syscall
      • XDP RX Metadata
      • AF_XDP TX Metadata
    • PCMCIA
    • Power Management
    • TCM Virtual Device
    • Timers
    • Serial Peripheral Interface (SPI)
    • 1-Wire Subsystem
    • Watchdog Support
    • Virtualization Support
    • Input Documentation
    • Hardware Monitoring
    • GPU Driver Developer’s Guide
    • Compute Accelerators
    • Security Documentation
    • Sound Subsystem Documentation
    • Crypto API
    • Filesystems in the Linux kernel
    • Memory Management Documentation
    • BPF Documentation
    • USB support
    • PCI Bus Subsystem
    • SCSI Subsystem
    • Assorted Miscellaneous Devices Documentation
    • Scheduler
    • MHI
    • PECI Subsystem
  • Locking in the kernel
  • Linux kernel licensing rules
  • How to write kernel documentation
  • Development tools for the kernel
  • Kernel Testing Guide
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • fault-injection
  • Kernel Livepatching
  • Rust
  • The Linux kernel user’s and administrator’s guide
  • The kernel build system
  • Reporting issues
  • User-space tools
  • The Linux kernel user-space API guide
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • CPU Architectures
  • Unsorted Documentation
  • Reliability, Availability and Serviceability (RAS) features
  • 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

endpoint

dont-validate

[‘strict’]

flags

[‘uns-admin-perm’]

do
request
attributes

[addr]

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 2.3.1 & Alabaster 0.7.10 | Page source