Managing Subflow Limits

When using MPTCP on Oracle Linux, administrators control how traffic is distributed across paths by setting MPTCP runtime limits. Subflows are parallel TCP streams within a single MPTCP connection and managing their number helps optimize resources, predictability, and compliance.

By default, MPTCP typically starts with one subflow. Extra subflows are added only when both endpoints can use MPTCP and extra addresses are available. You can manage subflow limits system-wide per network namespace by using the ip mptcp command:

  • Show current limits:

    ip mptcp limits show
  • Set the maximum number of subflows (N) per connection:

    sudo ip mptcp limits set subflow N
  • Control how many extra paths (ADD_ADDR) a connection accepts from a peer, where N is the number of paths:

    sudo ip mptcp limits set add_addr_accepted N
  • Advertise a specific local address and enable more subflows:

    sudo ip mptcp endpoint add ip_address signal subflow
  • List which local addresses are advertised to peers:

    ip mptcp endpoint show
  • Stop advertising an address identified in the output of the ip mptcp endpoint show command:

    sudo ip mptcp endpoint del id address_id

These settings apply at runtime. To persist across reboots, apply them at startup (for example, by using a systemd oneshot service that runs the ip mptcp limits commands).

For more information on the ip mptcp command, see the ip-mptcp(8) manual page.