• Q
    bpf: add documentation for eBPF helpers (12-22) · c456dec4
    Quentin Monnet 提交于
    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_get_current_pid_tgid()
    - bpf_get_current_uid_gid()
    - bpf_get_current_comm()
    - bpf_skb_vlan_push()
    - bpf_skb_vlan_pop()
    - bpf_skb_get_tunnel_key()
    - bpf_skb_set_tunnel_key()
    - bpf_redirect()
    - bpf_perf_event_output()
    - bpf_get_stackid()
    - bpf_get_current_task()
    
    v4:
    - bpf_redirect(): Fix typo: "XDP_ABORT" changed to "XDP_ABORTED". Add
      note on bpf_redirect_map() providing better performance. Replace "Save
      for" with "Except for".
    - bpf_skb_vlan_push(): Clarify comment about invalidated verifier
      checks.
    - bpf_skb_vlan_pop(): Clarify comment about invalidated verifier
      checks.
    - bpf_skb_get_tunnel_key(): Add notes on tunnel_id, "collect metadata"
      mode, and example tunneling protocols with which it can be used.
    - bpf_skb_set_tunnel_key(): Add a reference to the description of
      bpf_skb_get_tunnel_key().
    - bpf_perf_event_output(): Specify that, and for what purpose, the
      helper can be used with programs attached to TC and XDP.
    
    v3:
    - bpf_skb_get_tunnel_key(): Change and improve description and example.
    - bpf_redirect(): Improve description of BPF_F_INGRESS flag.
    - bpf_perf_event_output(): Fix first sentence of description. Delete
      wrong statement on context being evaluated as a struct pt_reg. Remove
      the long yet incomplete example.
    - bpf_get_stackid(): Add a note about PERF_MAX_STACK_DEPTH being
      configurable.
    
    Cc: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: NQuentin Monnet <quentin.monnet@netronome.com>
    Acked-by: NAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
    c456dec4
bpf.h 44.9 KB