From 84d1c617402e7e67fc95ab2384da8dae7d1b0efe Mon Sep 17 00:00:00 2001 From: Alexander Aring Date: Fri, 26 Jun 2020 13:26:48 -0400 Subject: [PATCH] net: sock: add sock_set_mark This patch adds a new socket helper function to set the mark value for a kernel socket. Signed-off-by: Alexander Aring Signed-off-by: David Teigland --- include/net/sock.h | 1 + net/core/sock.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/net/sock.h b/include/net/sock.h index c53cc42b5ab9..591dd3f12dbb 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -2696,6 +2696,7 @@ void sock_no_linger(struct sock *sk); void sock_set_keepalive(struct sock *sk); void sock_set_priority(struct sock *sk, u32 priority); void sock_set_rcvbuf(struct sock *sk, int val); +void sock_set_mark(struct sock *sk, u32 val); void sock_set_reuseaddr(struct sock *sk); void sock_set_reuseport(struct sock *sk); void sock_set_sndtimeo(struct sock *sk, s64 secs); diff --git a/net/core/sock.c b/net/core/sock.c index 6c4acf1f0220..ea6e8348b3dc 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -828,6 +828,14 @@ void sock_set_rcvbuf(struct sock *sk, int val) } EXPORT_SYMBOL(sock_set_rcvbuf); +void sock_set_mark(struct sock *sk, u32 val) +{ + lock_sock(sk); + sk->sk_mark = val; + release_sock(sk); +} +EXPORT_SYMBOL(sock_set_mark); + /* * This is meant for all protocols to use and covers goings on * at the socket level. Everything here is generic.