Re: [PATCH bpf-next v1 2/2] docs: fix sphinx warnings for devmap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 22, 2022 at 10:37:38AM +0000, mtahhan@xxxxxxxxxx wrote:
> From: Maryam Tahhan <mtahhan@xxxxxxxxxx>
> 
> Sphinx version >=3.3 warns about duplicate function delcarations in the

s/delcarations/declarations

> DEVMAP documentation. This is because the function name is the same for
> Kernel and Userspace BPF progs but the parameters and return types
> they take is what differs. This patch moves from using the ``c:function::``
> directive to using the ``code-block:: c`` directive. The patches also fix
> the indentation for the text associated with the "new" code block delcarations.

s/delcarations/declarations

> 
> Signed-off-by: Maryam Tahhan <mtahhan@xxxxxxxxxx>

Acked-by: David Vernet <void@xxxxxxxxxxxxx>


Optionally while you're here as well, thoughout the doc:

s/Userspace/User space

> ---
>  Documentation/bpf/map_devmap.rst | 64 ++++++++++++++++++++------------
>  1 file changed, 40 insertions(+), 24 deletions(-)
> 
> diff --git a/Documentation/bpf/map_devmap.rst b/Documentation/bpf/map_devmap.rst
> index f64da348dbfe..cdb7c484c425 100644
> --- a/Documentation/bpf/map_devmap.rst
> +++ b/Documentation/bpf/map_devmap.rst
> @@ -29,8 +29,11 @@ Usage
>  =====
>  Kernel BPF
>  ----------
> -.. c:function::
> -     long bpf_redirect_map(struct bpf_map *map, u32 key, u64 flags)
> +bpf_redirect_map()
> +^^^^^^^^^^^^^^^^^^
> +.. code-block:: c
> +
> +    long bpf_redirect_map(struct bpf_map *map, u32 key, u64 flags)
>  
>  Redirect the packet to the endpoint referenced by ``map`` at index ``key``.
>  For ``BPF_MAP_TYPE_DEVMAP`` and ``BPF_MAP_TYPE_DEVMAP_HASH`` this map contains
> @@ -56,7 +59,10 @@ lower bits of the ``flags`` argument if the map lookup fails.
>  
>  More information about redirection can be found :doc:`redirect`
>  
> -.. c:function::
> +bpf_map_lookup_elem()
> +^^^^^^^^^^^^^^^^^^^^^
> +.. code-block:: c
> +
>     void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
>  
>  Net device entries can be retrieved using the ``bpf_map_lookup_elem()``
> @@ -69,13 +75,16 @@ Userspace
>      from an eBPF program. Trying to call these functions from a kernel eBPF
>      program will result in the program failing to load and a verifier warning.
>  
> -.. c:function::
> +bpf_map_update_elem()
> +^^^^^^^^^^^^^^^^^^^^^
> +.. code-block:: c
> +
>     int bpf_map_update_elem(int fd, const void *key, const void *value, __u64 flags);
>  
> - Net device entries can be added or updated using the ``bpf_map_update_elem()``
> - helper. This helper replaces existing elements atomically. The ``value`` parameter
> - can be ``struct bpf_devmap_val`` or a simple ``int ifindex`` for backwards
> - compatibility.
> +Net device entries can be added or updated using the ``bpf_map_update_elem()``
> +helper. This helper replaces existing elements atomically. The ``value`` parameter
> +can be ``struct bpf_devmap_val`` or a simple ``int ifindex`` for backwards
> +compatibility.
>  
>   .. code-block:: c
>  
> @@ -87,35 +96,42 @@ Userspace
>          } bpf_prog;
>      };
>  
> - The ``flags`` argument can be one of the following:
> -
> +The ``flags`` argument can be one of the following:
>    - ``BPF_ANY``: Create a new element or update an existing element.
>    - ``BPF_NOEXIST``: Create a new element only if it did not exist.
>    - ``BPF_EXIST``: Update an existing element.
>  
> - DEVMAPs can associate a program with a device entry by adding a ``bpf_prog.fd``
> - to ``struct bpf_devmap_val``. Programs are run after ``XDP_REDIRECT`` and have
> - access to both Rx device and Tx device. The  program associated with the ``fd``
> - must have type XDP with expected attach type ``xdp_devmap``.
> - When a program is associated with a device index, the program is run on an
> - ``XDP_REDIRECT`` and before the buffer is added to the per-cpu queue. Examples
> - of how to attach/use xdp_devmap progs can be found in the kernel selftests:
> +DEVMAPs can associate a program with a device entry by adding a ``bpf_prog.fd``
> +to ``struct bpf_devmap_val``. Programs are run after ``XDP_REDIRECT`` and have
> +access to both Rx device and Tx device. The  program associated with the ``fd``
> +must have type XDP with expected attach type ``xdp_devmap``.
> +When a program is associated with a device index, the program is run on an
> +``XDP_REDIRECT`` and before the buffer is added to the per-cpu queue. Examples
> +of how to attach/use xdp_devmap progs can be found in the kernel selftests:
>  
> - - ``tools/testing/selftests/bpf/prog_tests/xdp_devmap_attach.c``
> - - ``tools/testing/selftests/bpf/progs/test_xdp_with_devmap_helpers.c``
> +- ``tools/testing/selftests/bpf/prog_tests/xdp_devmap_attach.c``
> +- ``tools/testing/selftests/bpf/progs/test_xdp_with_devmap_helpers.c``
> +
> +bpf_map_lookup_elem()
> +^^^^^^^^^^^^^^^^^^^^^
> +.. code-block:: c
>  
>  .. c:function::
>     int bpf_map_lookup_elem(int fd, const void *key, void *value);
>  
> - Net device entries can be retrieved using the ``bpf_map_lookup_elem()``
> - helper.
> +Net device entries can be retrieved using the ``bpf_map_lookup_elem()``
> +helper.
> +
> +bpf_map_delete_elem()
> +^^^^^^^^^^^^^^^^^^^^^
> +.. code-block:: c
>  
>  .. c:function::
>     int bpf_map_delete_elem(int fd, const void *key);
>  
> - Net device entries can be deleted using the ``bpf_map_delete_elem()``
> - helper. This helper will return 0 on success, or negative error in case of
> - failure.
> +Net device entries can be deleted using the ``bpf_map_delete_elem()``
> +helper. This helper will return 0 on success, or negative error in case of
> +failure.
>  
>  Examples
>  ========
> -- 
> 2.34.1
> 



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux