diff options
-rw-r--r-- | include/net/sock.h | 1 | ||||
-rw-r--r-- | net/core/sock.c | 8 |
2 files changed, 9 insertions, 0 deletions
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. |