# -*- 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' }
