summaryrefslogtreecommitdiff
path: root/net/core/sock.c
diff options
context:
space:
mode:
authorAnna Emese Nyiri <annaemesenyiri@gmail.com>2024-12-13 09:44:57 +0100
committerJakub Kicinski <kuba@kernel.org>2024-12-16 18:16:44 -0800
commite45469e594b255ef8d750ed5576698743450d2ac (patch)
tree2f7a88d7a10614ad70b6a7974d5395f4b0ce6777 /net/core/sock.c
parentcda7d5abe089cc8bd6d623cd6577627d8125d155 (diff)
downloadlinux-e45469e594b255ef8d750ed5576698743450d2ac.tar.gz
linux-e45469e594b255ef8d750ed5576698743450d2ac.tar.bz2
linux-e45469e594b255ef8d750ed5576698743450d2ac.zip
sock: Introduce SO_RCVPRIORITY socket option
Add new socket option, SO_RCVPRIORITY, to include SO_PRIORITY in the ancillary data returned by recvmsg(). This is analogous to the existing support for SO_RCVMARK, as implemented in commit 6fd1d51cfa253 ("net: SO_RCVMARK socket option for SO_MARK with recvmsg()"). Reviewed-by: Willem de Bruijn <willemb@google.com> Suggested-by: Ferenc Fejes <fejes@inf.elte.hu> Signed-off-by: Anna Emese Nyiri <annaemesenyiri@gmail.com> Link: https://patch.msgid.link/20241213084457.45120-5-annaemesenyiri@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core/sock.c')
-rw-r--r--net/core/sock.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index a3d9941c1d32..e7bcc8952248 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1519,6 +1519,10 @@ set_sndbuf:
sock_valbool_flag(sk, SOCK_RCVMARK, valbool);
break;
+ case SO_RCVPRIORITY:
+ sock_valbool_flag(sk, SOCK_RCVPRIORITY, valbool);
+ break;
+
case SO_RXQ_OVFL:
sock_valbool_flag(sk, SOCK_RXQ_OVFL, valbool);
break;
@@ -1947,6 +1951,10 @@ int sk_getsockopt(struct sock *sk, int level, int optname,
v.val = sock_flag(sk, SOCK_RCVMARK);
break;
+ case SO_RCVPRIORITY:
+ v.val = sock_flag(sk, SOCK_RCVPRIORITY);
+ break;
+
case SO_RXQ_OVFL:
v.val = sock_flag(sk, SOCK_RXQ_OVFL);
break;