Commit fef6b7ec authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller
Browse files

mptcp: drop OPTION_MPTCP_ADD_ADDR6



Since the family field was added in struct mptcp_out_options, no need to
use OPTION_MPTCP_ADD_ADDR6 to identify the IPv6 address. Drop it.

Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 30f60bae
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -652,8 +652,8 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
	*size = len;
	if (drop_other_suboptions)
		*size -= opt_size;
	if (opts->addr.family == AF_INET) {
	opts->suboptions |= OPTION_MPTCP_ADD_ADDR;
	if (opts->addr.family == AF_INET) {
		if (!echo) {
			opts->ahmac = add_addr_generate_hmac(msk->local_key,
							     msk->remote_key,
@@ -664,7 +664,6 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
	}
#if IS_ENABLED(CONFIG_MPTCP_IPV6)
	else if (opts->addr.family == AF_INET6) {
		opts->suboptions |= OPTION_MPTCP_ADD_ADDR6;
		if (!echo) {
			opts->ahmac = add_addr6_generate_hmac(msk->local_key,
							      msk->remote_key,
@@ -1198,16 +1197,12 @@ void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp,
	}

mp_capable_done:
	if ((OPTION_MPTCP_ADD_ADDR
#if IS_ENABLED(CONFIG_MPTCP_IPV6)
	     | OPTION_MPTCP_ADD_ADDR6
#endif
	    ) & opts->suboptions) {
	if (OPTION_MPTCP_ADD_ADDR & opts->suboptions) {
		u8 len = TCPOLEN_MPTCP_ADD_ADDR_BASE;
		u8 echo = MPTCP_ADDR_ECHO;

#if IS_ENABLED(CONFIG_MPTCP_IPV6)
		if (OPTION_MPTCP_ADD_ADDR6 & opts->suboptions)
		if (opts->addr.family == AF_INET6)
			len = TCPOLEN_MPTCP_ADD_ADDR6_BASE;
#endif

@@ -1221,12 +1216,12 @@ void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp,

		*ptr++ = mptcp_option(MPTCPOPT_ADD_ADDR,
				      len, echo, opts->addr.id);
		if (OPTION_MPTCP_ADD_ADDR & opts->suboptions) {
		if (opts->addr.family == AF_INET) {
			memcpy((u8 *)ptr, (u8 *)&opts->addr.addr.s_addr, 4);
			ptr += 1;
		}
#if IS_ENABLED(CONFIG_MPTCP_IPV6)
		else if (OPTION_MPTCP_ADD_ADDR6 & opts->suboptions) {
		else if (opts->addr.family == AF_INET6) {
			memcpy((u8 *)ptr, opts->addr.addr6.s6_addr, 16);
			ptr += 4;
		}
+4 −5
Original line number Diff line number Diff line
@@ -22,11 +22,10 @@
#define OPTION_MPTCP_MPJ_SYNACK	BIT(4)
#define OPTION_MPTCP_MPJ_ACK	BIT(5)
#define OPTION_MPTCP_ADD_ADDR	BIT(6)
#define OPTION_MPTCP_ADD_ADDR6	BIT(7)
#define OPTION_MPTCP_RM_ADDR	BIT(8)
#define OPTION_MPTCP_FASTCLOSE	BIT(9)
#define OPTION_MPTCP_PRIO	BIT(10)
#define OPTION_MPTCP_RST	BIT(11)
#define OPTION_MPTCP_RM_ADDR	BIT(7)
#define OPTION_MPTCP_FASTCLOSE	BIT(8)
#define OPTION_MPTCP_PRIO	BIT(9)
#define OPTION_MPTCP_RST	BIT(10)

/* MPTCP option subtypes */
#define MPTCPOPT_MP_CAPABLE	0