mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 09:55:55 +00:00
![Markus Armbruster](/assets/img/avatar_default.png)
For legibility, wrap text paragraphs so every line is at most 70 characters long. To check the generated documentation does not change, I compared the generated HTML before and after this commit with "wdiff -3". Finds no differences. Comparing with diff is not useful, as the refilled paragraphs are visible there. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20240322140910.328840-11-armbru@redhat.com>
65 lines
1.6 KiB
Python
65 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' }
|