From: Geliang Tang <geliangt...@gmail.com>

This patch uses adding up size to get the ADD_ADDR suboption length rather
than returning the ADD_ADDR size constants.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
Signed-off-by: Mat Martineau <mathew.j.martin...@linux.intel.com>
---
 net/mptcp/protocol.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 987046d9d1d4..5c45aabf4c6a 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -578,10 +578,14 @@ static inline bool mptcp_pm_should_rm_signal(struct 
mptcp_sock *msk)
 
 static inline unsigned int mptcp_add_addr_len(int family, bool echo)
 {
-       if (family == AF_INET)
-               return echo ? TCPOLEN_MPTCP_ADD_ADDR_BASE
-                           : TCPOLEN_MPTCP_ADD_ADDR;
-       return echo ? TCPOLEN_MPTCP_ADD_ADDR6_BASE : TCPOLEN_MPTCP_ADD_ADDR6;
+       u8 len = TCPOLEN_MPTCP_ADD_ADDR_BASE;
+
+       if (family == AF_INET6)
+               len = TCPOLEN_MPTCP_ADD_ADDR6_BASE;
+       if (!echo)
+               len += MPTCPOPT_THMAC_LEN;
+
+       return len;
 }
 
 bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
-- 
2.29.2

Reply via email to