Why is the iptables implementation of kube-proxy less scalable than eBPF?
B expresses the principal scalability distinction intended by the question. In kube-proxy's iptables mode, Kubernetes Services and endpoints are represented by chains of netfilter rules. As the number of Services and backends grows, rule creation, synchronization, and packet traversal can involve increasingly large rule sets. Matching through those chains is generally described as having linear scaling characteristics.
Cilium's kube-proxy replacement stores service and backend state in eBPF maps. Hash-map lookups allow the datapath to locate service entries without sequentially scanning a rule for every Service, providing effectively constant-time lookup behavior for the relevant map operations. This makes the approach better suited to large and frequently changing Kubernetes environments.
Option A is false because iptables and netfilter also operate within the Linux kernel. Option C is false because kube-proxy's iptables implementation supports IPv6 when the surrounding Kubernetes and host configuration supports it. Option D does not explain kube-proxy's primary scaling limitation and introduces an unrelated SmartNIC/XDP claim.
The constant-time description is a useful architectural simplification; total performance still depends on map sizing, backend selection, connection tracking, and kernel behavior.
Official references
Cilium eBPF Datapath, Cilium Tuning Guide
Study Guide topic: kube-proxy replacement, eBPF maps, and datapath scalability.