• Quentin Monnet's avatar
    bpf: add documentation for eBPF helpers (01-11) · ad4a5223
    Quentin Monnet authored
    Add documentation for eBPF helper functions to bpf.h user header file.
    This documentation can be parsed with the Python script provided in
    another commit of the patch series, in order to provide a RST document
    that can later be converted into a man page.
    
    The objective is to make the documentation easily understandable and
    accessible to all eBPF developers, including beginners.
    
    This patch contains descriptions for the following helper functions, all
    written by Alexei:
    
    - bpf_map_lookup_elem()
    - bpf_map_update_elem()
    - bpf_map_delete_elem()
    - bpf_probe_read()
    - bpf_ktime_get_ns()
    - bpf_trace_printk()
    - bpf_skb_store_bytes()
    - bpf_l3_csum_replace()
    - bpf_l4_csum_replace()
    - bpf_tail_call()
    - bpf_clone_redirect()
    
    v4:
    - bpf_map_lookup_elem(): Add "const" qualifier for key.
    - bpf_map_update_elem(): Add "const" qualifier for key and value.
    - bpf_map_lookup_elem(): Add "const" qualifier for key.
    - bpf_skb_store_bytes(): Clarify comment about invalidated verifier
      checks.
    - bpf_l3_csum_replace(): Mention L3 instead of just IP, and add a note
      about bpf_csum_diff().
    - bpf_l4_csum_replace(): Mention L4 instead of just TCP/UDP, and add a
      note about bpf_csum_diff().
    - bpf_tail_call(): Bring minor edits to description.
    - bpf_clone_redirect(): Add a note about the relation with
      bpf_redirect(). Also clarify comment about invalidated verifier
      checks.
    
    v3:
    - bpf_map_lookup_elem(): Fix description of restrictions for flags
      related to the existence of the entry.
    - bpf_trace_printk(): State that trace_pipe can be configured. Fix
      return value in case an unknown format specifier is met. Add a note on
      kernel log notice when the helper is used. Edit example.
    - bpf_tail_call(): Improve comment on stack inheritance.
    - bpf_clone_redirect(): Improve description of BPF_F_INGRESS flag.
    
    Cc: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarQuentin Monnet <quentin.monnet@netronome.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    ad4a5223
bpf.h 34.5 KB