Add AF_XDP support to DNSDist
- Mentors
- Remi Gacogne
- Organization
- PowerDNS
- Technologies
- c++, DNS, AF_XDP
- Topics
- dns
AF_XDP is an address family that is optimized for high performance packet processing. AF_XDP redirects raw network packets to user mode through the XDP program. AF_XDP, like DPDK, can be used to bypass the Linux kernel to gain high-performance processing network packets. DNSDist acts as a load balancer and often needs to process and forward packets. Therefore, in order to forward DNS requests DNSDist needs the raw network packets processed by the Linux kernel network protocol stack, read its request, and send the same request to the downstream DNS server again through the Linux kernel network protocol stack. The repeated processing of the same or similar data by the Linux kernel network stack is an unnecessary overhead for the server deploying DNSDist. This overhead can be effectively avoided by bypassing the Linux kernel through AF_XDP.