Expand description
Rust idiomatic bindings for the AF_XDP socket interface.
This library helps with creating suitable socket(s) from a memory allocation of chunks, sockets
for access to all four rings, binding to a specific (ifname, queue_id)
, and for creating the
memory mapping to interact with all these queues directly.
It does not interact with the packet filter / forwarding directly, nor any other aspect of
bpf
. You can send packets but you can not receive them. Please use another library for bpf
and netlink
interaction to configure the network device to route received frames to the RX
ring.
The entrypoint to the library is an instance of crate::Umem
.
Modules§
- Bindings for XDP kernel-interface, including structs.
Structs§
- An index to an XDP buffer.
- One device queue associated with an XDP socket.
- An error that has been read from
errno
. - A complete (cached) information about a socket.
- A reader from a completion queue.
- A reader from an receive (RX) queue.
- A consumer ring.
- A producer ring.
- A receiver queue.
- A transmitter queue.
- One prepared socket for a receive/transmit pair.
- Configuration for a created socket.
- The basic Umem descriptor.
- A raw pointer to a specific chunk in a Umem.
- Static configuration describing a memory area to use for ring chunks.
- An owner of receive/transmit queues.
- A writer to a fill queue.
- A writer to a transmission (TX) queue.