net: SO_RCVMARK socket option for SO_MARK with recvmsg()
Adding a new socket option, SO_RCVMARK, to indicate that SO_MARK should be included in the ancillary data returned by recvmsg(). Renamed the sock_recv_ts_and_drops() function to sock_recv_cmsgs(). Signed-off-by: Erin MacNeil <lnx.erin@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Reviewed-by: David Ahern <dsahern@kernel.org> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> Link: https://lore.kernel.org/r/20220427200259.2564-1-lnx.erin@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
0e55546b18
commit
6fd1d51cfa
@@ -1311,6 +1311,9 @@ set_sndbuf:
|
||||
|
||||
__sock_set_mark(sk, val);
|
||||
break;
|
||||
case SO_RCVMARK:
|
||||
sock_valbool_flag(sk, SOCK_RCVMARK, valbool);
|
||||
break;
|
||||
|
||||
case SO_RXQ_OVFL:
|
||||
sock_valbool_flag(sk, SOCK_RXQ_OVFL, valbool);
|
||||
@@ -1737,6 +1740,10 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
|
||||
v.val = sk->sk_mark;
|
||||
break;
|
||||
|
||||
case SO_RCVMARK:
|
||||
v.val = sock_flag(sk, SOCK_RCVMARK);
|
||||
break;
|
||||
|
||||
case SO_RXQ_OVFL:
|
||||
v.val = sock_flag(sk, SOCK_RXQ_OVFL);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user