From: Akhmat Karakotov Date: Mon, 31 Jan 2022 13:31:24 +0000 (+0300) Subject: bpf: Add SO_TXREHASH setsockopt X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e7b9bfd18476cd3de9a3819235f9221e59abc80a;p=linux.git bpf: Add SO_TXREHASH setsockopt Add bpf socket option to override rehash behaviour from userspace or from bpf. Signed-off-by: Akhmat Karakotov Reviewed-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/core/filter.c b/net/core/filter.c index a06931c27eebe..9615ae1ab530a 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -5091,6 +5091,13 @@ static int _bpf_setsockopt(struct sock *sk, int level, int optname, case SO_REUSEPORT: sk->sk_reuseport = valbool; break; + case SO_TXREHASH: + if (val < -1 || val > 1) { + ret = -EINVAL; + break; + } + sk->sk_txrehash = (u8)val; + break; default: ret = -EINVAL; } @@ -5269,6 +5276,9 @@ static int _bpf_getsockopt(struct sock *sk, int level, int optname, case SO_REUSEPORT: *((int *)optval) = sk->sk_reuseport; break; + case SO_TXREHASH: + *((int *)optval) = sk->sk_txrehash; + break; default: goto err_clear; }