mptcp_net-next
mptcp_net-next copied to clipboard
Question for ip-mptcp command
I have a server-client connected with two interfaces.
-----client---------------------server--- 10.10.10.2 <----------> 10.10.10.3 20.20.20.2 <----------> 20.20.20.3
client side mptcp config
$ ip mptcp endpoint show
20.20.20.2 id 3 fullmesh dev enp0s9
$ ip mptcp limits show
add_addr_accepted 2 subflows 2
server side mptcp config
$ ip mptcp endpoint show
20.20.20.3 id 3 fullmesh dev enp0s9
$ ip mptcp limits show
add_addr_accepted 0 subflows 2
When I connect the client to the server it creates 2 subflows (one is the initial subflow)
Question: I delete the endpoint from the client side.
sudo ip mptcp endpoint delete id 3
This removes the subflow from client and server (remove address command)
Now I added the endpoint again to the client.
sudo ip mptcp endpoint add 20.20.20.2 dev enp0s9 fullmesh
But the server won't signal its second interface address 20.20.20.3
to create a new subflow. Is it the correct behaviour?
If I understand correctly, the server announces its address only once when the MPTCP connection is established and will not announce it again. Is that correct?
Here is the output from ip mptcp monitor
$ sudo ip mptcp monitor
[ CREATED] token=917c83e8 remid=0 locid=0 saddr4=10.10.10.3 daddr4=10.10.10.2 sport=5000 dport=47930
[ ESTABLISHED] token=917c83e8 remid=0 locid=0 saddr4=10.10.10.3 daddr4=10.10.10.2 sport=5000 dport=47930
[ SF_ESTABLISHED] token=917c83e8 remid=1 locid=1 saddr4=20.20.20.3 daddr4=20.20.20.2 sport=5000 dport=57783 backup=0
[ REMOVED] token=917c83e8 remid=1
[ SF_CLOSED] token=917c83e8 remid=1 locid=1 saddr4=20.20.20.3 daddr4=20.20.20.2 sport=5000 dport=57783 backup=0
As you can see, after the SF_CLOSED
there is no SF_ESTABLISHED
Also, I wonder why the ss
command only shows the initial subflow. It never shows the second subflow.
$ ss -M
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.10.10.3:5000 10.10.10.2:47930