What XDP is
XDP stands for eXpress Data Path. It allows packet handling to happen at a very early stage in the Linux networking stack, before packets travel through the rest of the kernel network path.
Each additional processing stage adds per-packet overhead. This becomes significant during small-packet, high-PPS attacks.
Use in DDoS mitigation
DDoS filtering is usually constrained by packet rate, not just by bandwidth. XDP allows filters to make a decision before the packet reaches conntrack, iptables, nftables or userspace collectors.
Packets dropped at XDP do not consume processing capacity in later network-stack stages.
What XDP is good at
- Early drops for obvious attack traffic
- Simple stateless packet validation
- Rate limiting and signature-based filtering
- High PPS handling with minimal per-packet work
What limits performance
XDP performance depends on NIC behavior, driver support, queue layout, CPU topology, map design and per-packet program complexity.
Simple drop logic scales far better than complex stateful behavior. Large dynamic maps, repeated lookups, packet rewriting and checksum generation all reduce throughput.
Early packet filtering
Once traffic is pushed into connection tracking, firewall state or userspace handling, the cost per packet increases sharply. High-PPS floods exploit this per-packet processing cost.
Early XDP drops keep the decision path short and preserve processing capacity for accepted traffic.
Where XDP fits
XDP is typically used as an early filtering stage for classification, rate limiting and packet rejection.
More precise or stateful processing can run later in the pipeline after early filters have reduced the packet rate.
DDoS protection from SMARTNET
Connection options, filtering capabilities and service limits.
View DDoS protection