-
-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
keep using MPTCP sockets and a "dummy mapping" in case of fallback to regular TCP. Skip adding DSS option on send, if TCP fallback has been done earlier. Notes: I'm unsure on what to do in mptcp_clean_una() to do a one-time flush of the retransmit queue, as per Mat's suggestion. Any advice? Changes since v1 - rebase on top of Paolo's fix for NULL dereference in mptcp_recvmsg() Changes since RFC v2: - use a bit in msk->flags, rather than a dedicated boolean in struct msk. This bit is going to be used in combination with another one, TCP_FALLBACK_ALLOWED, that is 1 at the first subflow creation and gets cleared once TCP fallback is no more allowed. - separate code that adds support for "infinite mapping", and use the term "dummy" instead of "infinite". Suggested by Mat - remove inappropriate call to __mptcp_do_fallback() in mptcp_accept() (Paolo) Changes since RFC v1: - use a dedicated member of struct msk to indicate that a fallback ha happened, use it in case of infinite mapping - don't delete skb_ext in case of infinite mapping (Mat) - test the value of pm.subflows on reception of an infinite map to ensure that no other subflow is currently opened (Mat) - in mptcp_established_options(), avoid adding TCP options in case of fallback indication; simplify sendmsg()/recvmsg()/poll() to keep using the MPTCP socket in case of TCP fallback. Set the fallback indication in case subflow is not mp_capable after successful 3-way handshake, instead of flipping 'is_mptcp' (Paolo/Mat) - remove deadcode in mptcp_finish_connect, and increment MPTCP_MIB_MPCAPABLEACTIVEFALLBACK in subflow_finish_connect (Paolo) BugLink: #11 BugLink: #22 Signed-off-by: Davide Caratti <dcaratti@redhat.com>
- Loading branch information
1 parent
4665b04
commit abbab27
Showing
4 changed files
with
90 additions
and
77 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters