4 Monitoring and Troubleshooting MPTCP
After enabling and configuring MPTCP, use the following checks to monitor active multipath connections and troubleshoot any issues.
Checking if MPTCP is Enabled
To check if MPTCP is enabled, run the following command:
sysctl net.mptcp.enabled
If MPTCP is enabled, the output is as follows:
net.mptcp.enabled = 1
Viewing Active MPTCP Connections
Run the following command to display all active MPTCP connections.
ss --mptcp
The output is similar to the following:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.0.2.10:50412 192.0.2.20:80 users:(("curl",pid=20748,fd=3)) mptcp_subflows:2
Checking Interface Configuration
List all network devices:
ip link show
The output is similar to the following:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
Review MPTCP-capable addresses:
ip addr show eth0
ip addr show wlan0
Use nmcli
to check and manage connections:
nmcli device status
The output is similar to the following:
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
wlan0 wifi connected wlan0
lo loopback unmanaged --
Tip:
You can also configure interfaces using nmtui
(the text-based NetworkManager UI):
- Run
nmtui
. - Select Edit a connection.
- Edit the required connection and ensure it's active and up.
Checking Kernel Logs
Check kernel messages for MPTCP events or errors:
dmesg | grep -i mptcp
The output is similar to the following
[13948.311111] mptcp: subflow established
[13948.311222] mptcp: additional subflow established
Or, review the system journal:
sudo journalctl -k | grep -i mptcp
The output is similar to the following:
date and time host kernel: mptcp: subflow established
date and time host kernel: mptcp: additional subflow established