[PATCH mptcp-next 3/6] mptcp: refactor IP socket option handling for first subflow

Geliang Tang posted 6 patches 1 month ago
[PATCH mptcp-next 3/6] mptcp: refactor IP socket option handling for first subflow
Posted by Geliang Tang 1 month ago
From: Geliang Tang <tanggeliang@kylinos.cn>

Consolidate IP socket option logic with mptcp_setsockopt_first_sf_only()
- the common setsockopt handler for first subflow. This function applies
options (IP_TRANSPARENT, IP_BIND_ADDRESS_NO_PORT, IP_LOCAL_PORT_RANGE)
to the first subflow and synchronizes values to the MPTCP socket. Improves
code organization for future socket option implementations.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 net/mptcp/sockopt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c
index 8017cbad0597..1ab3dbe5124e 100644
--- a/net/mptcp/sockopt.c
+++ b/net/mptcp/sockopt.c
@@ -703,8 +703,8 @@ static int __mptcp_setsockopt_sol_tcp_nodelay(struct mptcp_sock *msk, int val)
 	return 0;
 }
 
-static int mptcp_setsockopt_sol_ip_set(struct mptcp_sock *msk, int optname,
-				       sockptr_t optval, unsigned int optlen)
+static int mptcp_setsockopt_sol_ip_first_sf_only(struct mptcp_sock *msk, int optname,
+						 sockptr_t optval, unsigned int optlen)
 {
 	struct sock *sk = (struct sock *)msk;
 	struct sock *ssk;
@@ -785,7 +785,7 @@ static int mptcp_setsockopt_v4(struct mptcp_sock *msk, int optname,
 	case IP_TRANSPARENT:
 	case IP_BIND_ADDRESS_NO_PORT:
 	case IP_LOCAL_PORT_RANGE:
-		return mptcp_setsockopt_sol_ip_set(msk, optname, optval, optlen);
+		return mptcp_setsockopt_first_sf_only(msk, SOL_IP, optname, optval, optlen);
 	case IP_TOS:
 		return mptcp_setsockopt_v4_set_tos(msk, optname, optval, optlen);
 	}
@@ -826,6 +826,9 @@ static int mptcp_setsockopt_first_sf_only(struct mptcp_sock *msk, int level,
 	case SOL_SOCKET:
 		return mptcp_setsockopt_sol_socket_first_sf_only(msk, optname,
 								 optval, optlen);
+	case SOL_IP:
+		return mptcp_setsockopt_sol_ip_first_sf_only(msk, optname,
+							     optval, optlen);
 	}
 
 	return -EOPNOTSUPP;
-- 
2.48.1