Crate xdpilone

source ·
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.