qemu-cr16/qapi/ebpf.json
John Snow 6c10778826 docs/sphinx: remove special parsing for freeform sections
Remove the QAPI doc section heading syntax, use plain rST section
headings instead.

Tests and documentation are updated to match.

Interestingly, Plain rST headings work fine before this patch, except
for over- and underlining with '=', which the doc parser rejected as
invalid QAPI doc section heading in free-form comments.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250618165353.1980365-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Add more detail to commit message]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2025-07-14 10:08:27 +02:00

66 lines
1.6 KiB
Python

# -*- Mode: Python -*-
# vim: filetype=python
#
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
##
# ************
# eBPF Objects
# ************
#
# eBPF object is an ELF binary that contains the eBPF program and eBPF
# map description(BTF). Overall, eBPF object should contain the
# program and enough metadata to create/load eBPF with libbpf. As the
# eBPF maps/program should correspond to QEMU, the eBPF can't be used
# from different QEMU build.
#
# Currently, there is a possible eBPF for receive-side scaling (RSS).
##
##
# @EbpfObject:
#
# An eBPF ELF object.
#
# @object: the eBPF object encoded in base64
#
# Since: 9.0
##
{ 'struct': 'EbpfObject',
'data': {'object': 'str'},
'if': 'CONFIG_EBPF' }
##
# @EbpfProgramID:
#
# The eBPF programs that can be gotten with request-ebpf.
#
# @rss: Receive side scaling, technology that allows steering traffic
# between queues by calculation hash. Users may set up
# indirection table and hash/packet types configurations. Used
# with virtio-net.
#
# Since: 9.0
##
{ 'enum': 'EbpfProgramID',
'if': 'CONFIG_EBPF',
'data': [ { 'name': 'rss' } ] }
##
# @request-ebpf:
#
# Retrieve an eBPF object that can be loaded with libbpf. Management
# applications (e.g. libvirt) may load it and pass file descriptors to
# QEMU, so they can run running QEMU without BPF capabilities.
#
# @id: The ID of the program to return.
#
# Returns: eBPF object encoded in base64.
#
# Since: 9.0
##
{ 'command': 'request-ebpf',
'data': { 'id': 'EbpfProgramID' },
'returns': 'EbpfObject',
'if': 'CONFIG_EBPF' }