I have openwrt kernel 6.1.71 with mptcp enabled. It is the client side. The server side is ubuntu kernel 6.8.0. The IP of 198.18.0.6 and 198.18.16.6 are on the client side. The IP of 198.18.140.11 is on the server side.
I found the mptcp connection fallback to TCP connection by the server.
I ran "tcpdump -i any |grep -i mptcp" on the server side. After some test, I examined the tcpdump output. I can see the client sent ADD_ADDR to the server, and the server echo'ed it to the client. But the next step is curious. The server initiated the MP_JOIN to the client and not accepted. Here is the extrfacted tcpdump:
root@ip-10-0-0-60:/tmp# grep addr *pcap2
18:26:41.196415 tunUDP1 In IP 198.18.0.6.29004 > 198.18.140.11.31335: Flags [.], ack 1, win 21, options [nop,nop,TS val 3764388883 ecr 1745411281,mptcp 16 add-addr v1 id 1 198.18.16.6 hmac 0xbfd4183bcbc7e496], length 0
18:26:41.196481 tunUDP1 Out IP 198.18.140.11.31335 > 198.18.0.6.29004: Flags [.], ack 83, win 339, options [nop,nop,TS val 1745411305 ecr 3764388883,mptcp 8 add-addr v1-echo id 1 198.18.16.6], length 0
18:26:42.374307 tunUDP1 In IP 198.18.0.6.29016 > 198.18.140.11.31335: Flags [.], ack 1, win 21, options [nop,nop,TS val 3764390061 ecr 1745412458,mptcp 16 add-addr v1 id 1 198.18.16.6 hmac 0x8ef1e263ff846bb], length 0
18:26:42.374399 tunUDP1 Out IP 198.18.140.11.31335 > 198.18.0.6.29016: Flags [.], ack 83, win 339, options [nop,nop,TS val 1745412482 ecr 3764390061,mptcp 8 add-addr v1-echo id 1 198.18.16.6], length 0
root@ip-10-0-0-60:/tmp# grep join *pcap2
18:26:41.196593 tunUDP2 Out IP 198.18.16.1.56009 > 198.18.16.6.29004: Flags [S], seq 887647931, win 43392, options [mss 1460,sackOK,TS val 3299115827 ecr 0,nop,wscale 7,mptcp 12 join id 8 token 0xe8c6424d nonce 0xcd136f14], length 0
18:26:42.374815 tunUDP2 Out IP 198.18.16.1.32743 > 198.18.16.6.29016: Flags [S], seq 3331504336, win 43392, options [mss 1460,sackOK,TS val 3299117005 ecr 0,nop,wscale 7,mptcp 12 join id 8 token 0xe6f42e16 nonce 0x9c496fe], length 0
root@ip-10-0-0-60:/tmp#