MCPcopy Index your code
hub / github.com/197g/xdpilone

github.com/197g/xdpilone @v1.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.0 ↗ · + Follow
143 symbols 223 edges 11 files 73 documented · 51%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

The XDP Rust access library.

Motivation

For the Linux AF_XDP all existing libraries are based on or around the C access libraries. The goal is develop a Rust centric library that can take advantage of its added thread-safety benefits for socket types, as well as high-level abstractions (such as closures, Arc) for interacting with the packet buffers.

The primary metrics for decision making are performance, and latency.

Overview

Goals: - No more latency than the C implementation in the data paths. - Enable and simplify correct multi-threading on the same Umem.

Non-Goals: - Handling BPF / XSK_MAP. This is necessary to accept packets on any of the RX sockets created, however it can be setup at any point with no interaction with the actual queues. Hence we keep this large dependency tree separate. (You could choose a pure-Rust libbpf alternative if you want to). - Dealing with any aspects of buffer allocation.

Name Origin

The drug Ixabepilone is a pharmaceutical against cancer.

Extension points exported contracts — how you extend this code

ControlSet (Interface)
A synchronized set for tracking which `IfCtx` are taken. [1 implementers]
src/xsk.rs

Core symbols most depended-on inside this repo

ptr_len
called by 7
src/xsk.rs
count_pending
called by 6
src/xsk/ring.rs
read
called by 5
src/xsk/user.rs
insert
called by 4
src/xsk/user.rs
map
called by 4
src/xsk/ring.rs
cancel
called by 4
src/xsk/ring.rs
bind
called by 3
src/xsk/umem.rs
set_from_fd
called by 3
src/xsk/iface.rs

Shape

Method 90
Class 45
Function 7
Interface 1

Languages

Rust100%

Modules by API surface

src/xsk/umem.rs29 symbols
src/xsk/user.rs27 symbols
src/xsk.rs27 symbols
src/xsk/ring.rs20 symbols
src/xsk/iface.rs10 symbols
src/xdp.rs10 symbols
src/lib.rs7 symbols
examples/flood.rs5 symbols
examples/flood-mt.rs5 symbols
src/xsk/socket.rs3 symbols

For agents

$ claude mcp add xdpilone \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact