On 11/26/18 3:16 AM, Quentin Monnet wrote:
> 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?
> 

Sure no problem.

> Thanks a lot,
> Quentin
> 

Reply via email to