Commit 07f8252f authored by Davide Caratti's avatar Davide Caratti Committed by David S. Miller
Browse files

mptcp: drop all sub-options except ADD_ADDR when the echo bit is set



Current Linux carries echo-ed ADD_ADDR over pure TCP ACKs, so there is no
need to add a DSS element that would fit only ADD_ADDR with IPv4 address.
Drop the DSS from echo-ed ADD_ADDR, regardless of the IP version.

Signed-off-by: default avatarDavide Caratti <dcaratti@redhat.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c3eaa5f6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -624,7 +624,8 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
	int len;

	if ((mptcp_pm_should_add_signal_ipv6(msk) ||
	     mptcp_pm_should_add_signal_port(msk)) &&
	     mptcp_pm_should_add_signal_port(msk) ||
	     mptcp_pm_should_add_signal_echo(msk)) &&
	    skb && skb_is_tcp_pure_ack(skb)) {
		pr_debug("drop other suboptions");
		opts->suboptions = 0;