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
Try Google Cloud Risk-Free With $300 in Credit
Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of xdp!