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
$300 Free Credits for Your Google Cloud Projects
Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of xdp!