From f0d7b970ac69bdf72fcf40a729c9e8605f4d1bc0 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 26 Jul 2021 15:23:31 +0100 Subject: [PATCH] docs/devel/ebpf_rss.rst: Format literals correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In rST markup, single backticks `like this` represent "interpreted text", which can be handled as a bunch of different things if tagged with a specific "role": https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#interpreted-text (the most common one for us is "reference to a URL, which gets hyperlinked"). The default "role" if none is specified is "title_reference", intended for references to book or article titles, and it renders into the HTML as ... (usually comes out as italics). To format a literal (generally rendered as fixed-width font), double-backticks are required. ebpf_rss.rst gets this wrong in a few places; correct them. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé Message-id: 20210726142338.31872-4-peter.maydell@linaro.org --- docs/devel/ebpf_rss.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/devel/ebpf_rss.rst b/docs/devel/ebpf_rss.rst index e00962577a..4a68682b31 100644 --- a/docs/devel/ebpf_rss.rst +++ b/docs/devel/ebpf_rss.rst @@ -72,7 +72,7 @@ eBPF RSS implementation eBPF RSS loading functionality located in ebpf/ebpf_rss.c and ebpf/ebpf_rss.h. -The `struct EBPFRSSContext` structure that holds 4 file descriptors: +The ``struct EBPFRSSContext`` structure that holds 4 file descriptors: - ctx - pointer of the libbpf context. - program_fd - file descriptor of the eBPF RSS program. @@ -80,20 +80,20 @@ The `struct EBPFRSSContext` structure that holds 4 file descriptors: - map_toeplitz_key - file descriptor of the 'Toeplitz key' map. One element of the 40byte key prepared for the hashing algorithm. - map_indirections_table - 128 elements of queue indexes. -`struct EBPFRSSConfig` fields: +``struct EBPFRSSConfig`` fields: -- redirect - "boolean" value, should the hash be calculated, on false - `default_queue` would be used as the final decision. +- redirect - "boolean" value, should the hash be calculated, on false - ``default_queue`` would be used as the final decision. - populate_hash - for now, not used. eBPF RSS doesn't support hash reporting. -- hash_types - binary mask of different hash types. See `VIRTIO_NET_RSS_HASH_TYPE_*` defines. If for packet hash should not be calculated - `default_queue` would be used. +- hash_types - binary mask of different hash types. See ``VIRTIO_NET_RSS_HASH_TYPE_*`` defines. If for packet hash should not be calculated - ``default_queue`` would be used. - indirections_len - length of the indirections table, maximum 128. - default_queue - the queue index that used for packet that shouldn't be hashed. For some packets, the hash can't be calculated(g.e ARP). Functions: -- `ebpf_rss_init()` - sets ctx to NULL, which indicates that EBPFRSSContext is not loaded. -- `ebpf_rss_load()` - creates 3 maps and loads eBPF program from the rss.bpf.skeleton.h. Returns 'true' on success. After that, program_fd can be used to set steering for TAP. -- `ebpf_rss_set_all()` - sets values for eBPF maps. `indirections_table` length is in EBPFRSSConfig. `toeplitz_key` is VIRTIO_NET_RSS_MAX_KEY_SIZE aka 40 bytes array. -- `ebpf_rss_unload()` - close all file descriptors and set ctx to NULL. +- ``ebpf_rss_init()`` - sets ctx to NULL, which indicates that EBPFRSSContext is not loaded. +- ``ebpf_rss_load()`` - creates 3 maps and loads eBPF program from the rss.bpf.skeleton.h. Returns 'true' on success. After that, program_fd can be used to set steering for TAP. +- ``ebpf_rss_set_all()`` - sets values for eBPF maps. ``indirections_table`` length is in EBPFRSSConfig. ``toeplitz_key`` is VIRTIO_NET_RSS_MAX_KEY_SIZE aka 40 bytes array. +- ``ebpf_rss_unload()`` - close all file descriptors and set ctx to NULL. Simplified eBPF RSS workflow: @@ -122,4 +122,4 @@ Simplified eBPF RSS workflow: NetClientState SetSteeringEBPF() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For now, `set_steering_ebpf()` method supported by Linux TAP NetClientState. The method requires an eBPF program file descriptor as an argument. +For now, ``set_steering_ebpf()`` method supported by Linux TAP NetClientState. The method requires an eBPF program file descriptor as an argument.