#include <fastmm/net/xdp_datagram_source.hpp>
◆ subscriptions
line = index, at most 256
◆ 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
◆ 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).