Skip to content

Commit a03c99b

Browse files
Florian Westphaldavem330
authored andcommitted
mptcp: setsockopt: SO_DEBUG and no-op options
Handle SO_DEBUG and set it on all subflows. Ignore those values not implemented on TCP sockets. Acked-by: Paolo Abeni <[email protected]> Signed-off-by: Florian Westphal <[email protected]> Signed-off-by: Mat Martineau <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 6f0d719 commit a03c99b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

net/mptcp/sockopt.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ static void mptcp_sol_socket_sync_intval(struct mptcp_sock *msk, int optname, in
7777
bool slow = lock_sock_fast(ssk);
7878

7979
switch (optname) {
80+
case SO_DEBUG:
81+
sock_valbool_flag(ssk, SOCK_DBG, !!val);
82+
break;
8083
case SO_KEEPALIVE:
8184
if (ssk->sk_prot->keepalive)
8285
ssk->sk_prot->keepalive(ssk, !!val);
@@ -150,6 +153,7 @@ static int mptcp_setsockopt_sol_socket_int(struct mptcp_sock *msk, int optname,
150153
case SO_KEEPALIVE:
151154
mptcp_sol_socket_sync_intval(msk, optname, val);
152155
return 0;
156+
case SO_DEBUG:
153157
case SO_MARK:
154158
case SO_PRIORITY:
155159
case SO_SNDBUF:
@@ -246,9 +250,21 @@ static int mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname,
246250
case SO_RCVBUFFORCE:
247251
case SO_MARK:
248252
case SO_INCOMING_CPU:
253+
case SO_DEBUG:
249254
return mptcp_setsockopt_sol_socket_int(msk, optname, optval, optlen);
250255
case SO_LINGER:
251256
return mptcp_setsockopt_sol_socket_linger(msk, optval, optlen);
257+
case SO_NO_CHECK:
258+
case SO_DONTROUTE:
259+
case SO_BROADCAST:
260+
case SO_BSDCOMPAT:
261+
case SO_PASSCRED:
262+
case SO_PASSSEC:
263+
case SO_RXQ_OVFL:
264+
case SO_WIFI_STATUS:
265+
case SO_NOFCS:
266+
case SO_SELECT_ERR_QUEUE:
267+
return 0;
252268
}
253269

254270
return sock_setsockopt(sk->sk_socket, SOL_SOCKET, optname, optval, optlen);

0 commit comments

Comments
 (0)