Package github /asavie/xdp allows one to use XDP sockets from the Go programming language. With the default UDP payload size of 1400 bytes, running on Linux kernel 5.1.20, on a tg3 (so no native XDP support) gigabit NIC, sendudp does around 980 Mb/s, so practically line rate. TL;DR: in the same environment, sending a pre-generated DNS query using an ordinary UDP socket yield around 30 MiB/s whereas sending it using the senddnsqueries example program yields around 77 MiB/s. Connecting a PC with Intel Core i7-7700 CPU running Linux kernel 5.0.17 and igb driver to a laptop with Intel Core i7-5600U CPU running Linux kernel 5.0.9 with e1000e with a cat 5E gigabit ethernet cable.
Features
- Allows one to use XDP sockets from the Go programming language
- For usage examples, see the documentation or the examples/ directory
- With the default UDP payload size of 1400 bytes, running on Linux kernel 5.1.20, on a tg3
- About 77 MiB/s at laptop side.
- Package xdp allows one to use XDP sockets from the Go programming language
Categories
Packet SniffersLicense
BSD LicenseFollow xdp
Other Useful Business Software
Forever Free Full-Stack Observability | Grafana Cloud
Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of xdp!