bpf: Add SO_TXREHASH setsockopt
Add bpf socket option to override rehash behaviour from userspace or from bpf. Signed-off-by: Akhmat Karakotov <hmukos@yandex-team.ru> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2127324a7d
commit
e7b9bfd184
@ -5091,6 +5091,13 @@ static int _bpf_setsockopt(struct sock *sk, int level, int optname,
|
|||||||
case SO_REUSEPORT:
|
case SO_REUSEPORT:
|
||||||
sk->sk_reuseport = valbool;
|
sk->sk_reuseport = valbool;
|
||||||
break;
|
break;
|
||||||
|
case SO_TXREHASH:
|
||||||
|
if (val < -1 || val > 1) {
|
||||||
|
ret = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
sk->sk_txrehash = (u8)val;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
}
|
}
|
||||||
@ -5269,6 +5276,9 @@ static int _bpf_getsockopt(struct sock *sk, int level, int optname,
|
|||||||
case SO_REUSEPORT:
|
case SO_REUSEPORT:
|
||||||
*((int *)optval) = sk->sk_reuseport;
|
*((int *)optval) = sk->sk_reuseport;
|
||||||
break;
|
break;
|
||||||
|
case SO_TXREHASH:
|
||||||
|
*((int *)optval) = sk->sk_txrehash;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
goto err_clear;
|
goto err_clear;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user