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.

Related articles

DDoS protection from SMARTNET

Connection options, filtering capabilities and service limits.

View DDoS protection