On Thu, Nov 9, 2017 at 4:43 PM, Alexei Starovoitov <a...@fb.com> wrote:
> On 11/10/17 8:04 AM, Vlad Dumitrescu wrote:
>>
>> From: Vlad Dumitrescu <vla...@google.com>
>>
>> Allows BPF_PROG_TYPE_SOCK_OPS programs to read sk_priority.
>>
>> Signed-off-by: Vlad Dumitrescu <vla...@google.com>
>> ---
>>  net/core/filter.c | 16 ++++++++++++++--
>>  1 file changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/core/filter.c b/net/core/filter.c
>> index 1afa17935954..61c791f9f628 100644
>> --- a/net/core/filter.c
>> +++ b/net/core/filter.c
>> @@ -3292,8 +3292,20 @@ BPF_CALL_5(bpf_getsockopt, struct bpf_sock_ops_kern
>> *, bpf_sock,
>>         if (!sk_fullsock(sk))
>>                 goto err_clear;
>>
>> +       if (level == SOL_SOCKET) {
>> +               if (optlen != sizeof(int))
>> +                       goto err_clear;
>> +
>> +               switch (optname) {
>> +               case SO_PRIORITY:
>> +                       *((int *)optval) = sk->sk_priority;
>
>
> would be cleaner to add sk_priority to 'struct bpf_sock_ops' instead.
> Faster runtime too.
>

I agree it will be faster, and I considered that as well. However, I
was aiming for consistency with the set function, which supports
SO_PRIORITY.

Maybe both (I have no preference)? I'll prepare the patch for
bpf_sock_ops in the meantime.

Reply via email to