FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::net::XdpConfig Struct Reference

#include <fastmm/net/xdp_datagram_source.hpp>

Public Attributes

std::vector< XdpSubscription > subscriptions
 line = index, at most 256
 
std::vector< XdpInterfaceQueues > queues
 RX queues per interface.
 
std::uint32_t frame_count = 4096
 UMEM frames per socket, power of two.
 
std::uint32_t frame_size = 4096
 2048 or 4096 (at most the page size)
 
std::uint32_t batch = 64
 RX descriptors per socket per poll.
 
XdpMode mode = XdpMode::Auto
 
bool busy_poll = false
 SO_PREFER_BUSY_POLL, SO_BUSY_POLL and SO_BUSY_POLL_BUDGET on every socket, and a recvfrom on every poll that finds the RX ring empty (drives NAPI from this thread).
 
int busy_poll_usec = 20
 
int busy_poll_budget = 64
 
bool verify_udp_checksum = false
 IPv4 header and UDP checksums in user space (a zero UDP checksum is accepted).
 

Member Data Documentation

◆ subscriptions

std::vector<XdpSubscription> fastmm::net::XdpConfig::subscriptions

line = index, at most 256

◆ queues

std::vector<XdpInterfaceQueues> fastmm::net::XdpConfig::queues

RX queues per interface.

Unlisted: every RX queue the interface has once the program is attached (virtio_net, for one, adds queues for XDP and the host delivers on all of them).

◆ frame_count

std::uint32_t fastmm::net::XdpConfig::frame_count = 4096

UMEM frames per socket, power of two.

◆ frame_size

std::uint32_t fastmm::net::XdpConfig::frame_size = 4096

2048 or 4096 (at most the page size)

◆ batch

std::uint32_t fastmm::net::XdpConfig::batch = 64

RX descriptors per socket per poll.

◆ mode

XdpMode fastmm::net::XdpConfig::mode = XdpMode::Auto

◆ busy_poll

bool fastmm::net::XdpConfig::busy_poll = false

SO_PREFER_BUSY_POLL, SO_BUSY_POLL and SO_BUSY_POLL_BUDGET on every socket, and a recvfrom on every poll that finds the RX ring empty (drives NAPI from this thread).

◆ busy_poll_usec

int fastmm::net::XdpConfig::busy_poll_usec = 20

◆ busy_poll_budget

int fastmm::net::XdpConfig::busy_poll_budget = 64

◆ verify_udp_checksum

bool fastmm::net::XdpConfig::verify_udp_checksum = false

IPv4 header and UDP checksums in user space (a zero UDP checksum is accepted).