mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 01:54:00 +00:00
docs/bpf: Fix sphinx warnings in BPF map docs
Fix duplicate C declaration warnings when using sphinx >= 3.1. Reported-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Reviewed-by: Akira Yokosawa <akiyks@gmail.com> Link: https://lore.kernel.org/bpf/ed4dac84-1b12-5c58-e4de-93ab9ac67c09@gmail.com Link: https://lore.kernel.org/bpf/20221122143933.91321-1-donald.hunter@gmail.com
This commit is contained in:
parent
8e898aaa73
commit
539886a32a
@ -32,7 +32,11 @@ Usage
|
|||||||
Kernel BPF
|
Kernel BPF
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
Array elements can be retrieved using the ``bpf_map_lookup_elem()`` helper.
|
Array elements can be retrieved using the ``bpf_map_lookup_elem()`` helper.
|
||||||
@ -40,7 +44,11 @@ This helper returns a pointer into the array element, so to avoid data races
|
|||||||
with userspace reading the value, the user must use primitives like
|
with userspace reading the value, the user must use primitives like
|
||||||
``__sync_fetch_and_add()`` when updating the value in-place.
|
``__sync_fetch_and_add()`` when updating the value in-place.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_update_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
||||||
|
|
||||||
Array elements can be updated using the ``bpf_map_update_elem()`` helper.
|
Array elements can be updated using the ``bpf_map_update_elem()`` helper.
|
||||||
@ -53,7 +61,7 @@ To clear an array element, you may use ``bpf_map_update_elem()`` to insert a
|
|||||||
zero value to that index.
|
zero value to that index.
|
||||||
|
|
||||||
Per CPU Array
|
Per CPU Array
|
||||||
~~~~~~~~~~~~~
|
-------------
|
||||||
|
|
||||||
Values stored in ``BPF_MAP_TYPE_ARRAY`` can be accessed by multiple programs
|
Values stored in ``BPF_MAP_TYPE_ARRAY`` can be accessed by multiple programs
|
||||||
across different CPUs. To restrict storage to a single CPU, you may use a
|
across different CPUs. To restrict storage to a single CPU, you may use a
|
||||||
@ -63,7 +71,11 @@ When using a ``BPF_MAP_TYPE_PERCPU_ARRAY`` the ``bpf_map_update_elem()`` and
|
|||||||
``bpf_map_lookup_elem()`` helpers automatically access the slot for the current
|
``bpf_map_lookup_elem()`` helpers automatically access the slot for the current
|
||||||
CPU.
|
CPU.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_percpu_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_percpu_elem(struct bpf_map *map, const void *key, u32 cpu)
|
void *bpf_map_lookup_percpu_elem(struct bpf_map *map, const void *key, u32 cpu)
|
||||||
|
|
||||||
The ``bpf_map_lookup_percpu_elem()`` helper can be used to lookup the array
|
The ``bpf_map_lookup_percpu_elem()`` helper can be used to lookup the array
|
||||||
|
@ -34,7 +34,14 @@ the ``BPF_F_NO_COMMON_LRU`` flag when calling ``bpf_map_create``.
|
|||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. c:function::
|
Kernel BPF
|
||||||
|
----------
|
||||||
|
|
||||||
|
bpf_map_update_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
||||||
|
|
||||||
Hash entries can be added or updated using the ``bpf_map_update_elem()``
|
Hash entries can be added or updated using the ``bpf_map_update_elem()``
|
||||||
@ -49,14 +56,22 @@ parameter can be used to control the update behaviour:
|
|||||||
``bpf_map_update_elem()`` returns 0 on success, or negative error in
|
``bpf_map_update_elem()`` returns 0 on success, or negative error in
|
||||||
case of failure.
|
case of failure.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
Hash entries can be retrieved using the ``bpf_map_lookup_elem()``
|
Hash entries can be retrieved using the ``bpf_map_lookup_elem()``
|
||||||
helper. This helper returns a pointer to the value associated with
|
helper. This helper returns a pointer to the value associated with
|
||||||
``key``, or ``NULL`` if no entry was found.
|
``key``, or ``NULL`` if no entry was found.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_delete_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_delete_elem(struct bpf_map *map, const void *key)
|
long bpf_map_delete_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
Hash entries can be deleted using the ``bpf_map_delete_elem()``
|
Hash entries can be deleted using the ``bpf_map_delete_elem()``
|
||||||
@ -70,7 +85,11 @@ For ``BPF_MAP_TYPE_PERCPU_HASH`` and ``BPF_MAP_TYPE_LRU_PERCPU_HASH``
|
|||||||
the ``bpf_map_update_elem()`` and ``bpf_map_lookup_elem()`` helpers
|
the ``bpf_map_update_elem()`` and ``bpf_map_lookup_elem()`` helpers
|
||||||
automatically access the hash slot for the current CPU.
|
automatically access the hash slot for the current CPU.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_percpu_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_percpu_elem(struct bpf_map *map, const void *key, u32 cpu)
|
void *bpf_map_lookup_percpu_elem(struct bpf_map *map, const void *key, u32 cpu)
|
||||||
|
|
||||||
The ``bpf_map_lookup_percpu_elem()`` helper can be used to lookup the
|
The ``bpf_map_lookup_percpu_elem()`` helper can be used to lookup the
|
||||||
@ -89,7 +108,11 @@ See ``tools/testing/selftests/bpf/progs/test_spin_lock.c``.
|
|||||||
Userspace
|
Userspace
|
||||||
---------
|
---------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_get_next_key()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
int bpf_map_get_next_key(int fd, const void *cur_key, void *next_key)
|
int bpf_map_get_next_key(int fd, const void *cur_key, void *next_key)
|
||||||
|
|
||||||
In userspace, it is possible to iterate through the keys of a hash using
|
In userspace, it is possible to iterate through the keys of a hash using
|
||||||
|
@ -35,7 +35,11 @@ Usage
|
|||||||
Kernel BPF
|
Kernel BPF
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
The longest prefix entry for a given data value can be found using the
|
The longest prefix entry for a given data value can be found using the
|
||||||
@ -48,7 +52,11 @@ performing longest prefix lookups. For example, when searching for the
|
|||||||
longest prefix match for an IPv4 address, ``prefixlen`` should be set to
|
longest prefix match for an IPv4 address, ``prefixlen`` should be set to
|
||||||
``32``.
|
``32``.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_update_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags)
|
||||||
|
|
||||||
Prefix entries can be added or updated using the ``bpf_map_update_elem()``
|
Prefix entries can be added or updated using the ``bpf_map_update_elem()``
|
||||||
@ -61,7 +69,11 @@ case of failure.
|
|||||||
The flags parameter must be one of BPF_ANY, BPF_NOEXIST or BPF_EXIST,
|
The flags parameter must be one of BPF_ANY, BPF_NOEXIST or BPF_EXIST,
|
||||||
but the value is ignored, giving BPF_ANY semantics.
|
but the value is ignored, giving BPF_ANY semantics.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_delete_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_delete_elem(struct bpf_map *map, const void *key)
|
long bpf_map_delete_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
Prefix entries can be deleted using the ``bpf_map_delete_elem()``
|
Prefix entries can be deleted using the ``bpf_map_delete_elem()``
|
||||||
@ -74,7 +86,11 @@ Userspace
|
|||||||
Access from userspace uses libbpf APIs with the same names as above, with
|
Access from userspace uses libbpf APIs with the same names as above, with
|
||||||
the map identified by ``fd``.
|
the map identified by ``fd``.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_get_next_key()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
int bpf_map_get_next_key (int fd, const void *cur_key, void *next_key)
|
int bpf_map_get_next_key (int fd, const void *cur_key, void *next_key)
|
||||||
|
|
||||||
A userspace program can iterate through the entries in an LPM trie using
|
A userspace program can iterate through the entries in an LPM trie using
|
||||||
|
@ -45,7 +45,11 @@ Usage
|
|||||||
Kernel BPF Helper
|
Kernel BPF Helper
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
void *bpf_map_lookup_elem(struct bpf_map *map, const void *key)
|
||||||
|
|
||||||
Inner maps can be retrieved using the ``bpf_map_lookup_elem()`` helper. This
|
Inner maps can be retrieved using the ``bpf_map_lookup_elem()`` helper. This
|
||||||
|
@ -28,7 +28,11 @@ Usage
|
|||||||
Kernel BPF
|
Kernel BPF
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_push_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
|
long bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
|
||||||
|
|
||||||
An element ``value`` can be added to a queue or stack using the
|
An element ``value`` can be added to a queue or stack using the
|
||||||
@ -38,14 +42,22 @@ when the queue or stack is full, the oldest element will be removed to
|
|||||||
make room for ``value`` to be added. Returns ``0`` on success, or
|
make room for ``value`` to be added. Returns ``0`` on success, or
|
||||||
negative error in case of failure.
|
negative error in case of failure.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_peek_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_peek_elem(struct bpf_map *map, void *value)
|
long bpf_map_peek_elem(struct bpf_map *map, void *value)
|
||||||
|
|
||||||
This helper fetches an element ``value`` from a queue or stack without
|
This helper fetches an element ``value`` from a queue or stack without
|
||||||
removing it. Returns ``0`` on success, or negative error in case of
|
removing it. Returns ``0`` on success, or negative error in case of
|
||||||
failure.
|
failure.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_pop_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
long bpf_map_pop_elem(struct bpf_map *map, void *value)
|
long bpf_map_pop_elem(struct bpf_map *map, void *value)
|
||||||
|
|
||||||
This helper removes an element into ``value`` from a queue or
|
This helper removes an element into ``value`` from a queue or
|
||||||
@ -55,7 +67,11 @@ stack. Returns ``0`` on success, or negative error in case of failure.
|
|||||||
Userspace
|
Userspace
|
||||||
---------
|
---------
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_update_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
int bpf_map_update_elem (int fd, const void *key, const void *value, __u64 flags)
|
int bpf_map_update_elem (int fd, const void *key, const void *value, __u64 flags)
|
||||||
|
|
||||||
A userspace program can push ``value`` onto a queue or stack using libbpf's
|
A userspace program can push ``value`` onto a queue or stack using libbpf's
|
||||||
@ -64,7 +80,11 @@ A userspace program can push ``value`` onto a queue or stack using libbpf's
|
|||||||
same semantics as the ``bpf_map_push_elem`` kernel helper. Returns ``0`` on
|
same semantics as the ``bpf_map_push_elem`` kernel helper. Returns ``0`` on
|
||||||
success, or negative error in case of failure.
|
success, or negative error in case of failure.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
int bpf_map_lookup_elem (int fd, const void *key, void *value)
|
int bpf_map_lookup_elem (int fd, const void *key, void *value)
|
||||||
|
|
||||||
A userspace program can peek at the ``value`` at the head of a queue or stack
|
A userspace program can peek at the ``value`` at the head of a queue or stack
|
||||||
@ -72,7 +92,11 @@ using the libbpf ``bpf_map_lookup_elem`` function. The ``key`` parameter must be
|
|||||||
set to ``NULL``. Returns ``0`` on success, or negative error in case of
|
set to ``NULL``. Returns ``0`` on success, or negative error in case of
|
||||||
failure.
|
failure.
|
||||||
|
|
||||||
.. c:function::
|
bpf_map_lookup_and_delete_elem()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
int bpf_map_lookup_and_delete_elem (int fd, const void *key, void *value)
|
int bpf_map_lookup_and_delete_elem (int fd, const void *key, void *value)
|
||||||
|
|
||||||
A userspace program can pop a ``value`` from the head of a queue or stack using
|
A userspace program can pop a ``value`` from the head of a queue or stack using
|
||||||
|
Loading…
x
Reference in New Issue
Block a user