multipath-tcp / mptcp_net-next

Development version of the Upstream MultiPath TCP Linux kernel 🐧
https://mptcp.dev
Other
290 stars 41 forks source link

Reset the connection once "MPTCP has been verified" instead of a fallback #519

Open matttbe opened 1 month ago

matttbe commented 1 month ago

This is what is recommended (SHOULD) by the RFC.

"MPTCP has been verified" means:

Reason: If we fallback after that point, there is a risk of corruption: even if that looks weird, an implementation could do a reinjection at the MPTCP level on the same subflow, so from TCP point of view, that's considered as new data (I guess it's an issue if this re-injection is done when the fallback is going to happen).

I suggest not to change the "fully established" logic to continue allowing sending ADD_ADDR ASAP, etc.: if it is received and a new subflow is created, we can also consider this as "MPTCP has been verified". IOW, I suggest continuing using allow_infinite_fallback, but it should be disabled once "MPTCP has been verified".

(Linked to #518)