2018-11-26 02:05 UTC+0100 ~ Daniel Borkmann <dan...@iogearbox.net>
> On 11/23/2018 02:38 AM, John Fastabend wrote:
>> This adds a BPF SK_MSG program helper so that we can pop data from a
>> msg. We use this to pop metadata from a previous push data call.
>>
>> Signed-off-by: John Fastabend <john.fastab...@gmail.com>
>> ---
>>  include/uapi/linux/bpf.h |  13 +++-
>>  net/core/filter.c        | 169 
>> +++++++++++++++++++++++++++++++++++++++++++++++
>>  net/ipv4/tcp_bpf.c       |  14 +++-
>>  3 files changed, 192 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
>> index c1554aa..64681f8 100644
>> --- a/include/uapi/linux/bpf.h
>> +++ b/include/uapi/linux/bpf.h
>> @@ -2268,6 +2268,16 @@ union bpf_attr {
>>   *
>>   *  Return
>>   *          0 on success, or a negative error in case of failure.
>> + *
>> + * int bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 pop, u64 
>> flags)
>> + *   Description
>> + *          Will remove 'pop' bytes from a msg starting at byte 'start'.
>> + *          This result in ENOMEM errors under certain situations where
>> + *          a allocation and copy are required due to a full ring buffer.
>> + *          However, the helper will try to avoid doing the allocation
>> + *          if possible. Other errors can occur if input parameters are
>> + *          invalid either do to start byte not being valid part of msg
>> + *          payload and/or pop value being to large.
>>   */

Hi John,

If you respin could you please update the helper documentation to use
RST syntax for argument and constant names (*pop* instead of 'pop',
*msg*, *start*, *flags*, **ENOMEM**), and document the return value from
the helper?

Thanks a lot,
Quentin

Reply via email to