Packet replication using EBPF, not scaling beyond 28kpps, pls let me know any optimization if possible in the code.

Prashanth Fernando


I am implementing a EBPF based packet replicator running as part of TC classisifer.
The problem is I am not able to scale beyond 28K, once the pps rate goes beyond 28kpps I see traffic loss and the CPU usage is well within 5%.

Commands used to load EBPF code in TC:
sudo tc qdisc add dev $(DEVICE) ingress handle ffff:
sudo tc filter add dev $(DEVICE) parent ffff: bpf obj replicator.o classifier flowid ffff:1 

Attaching the lscpu output and the code snippet.
Please do let me know if there are any optimizations possible to handle more packets.

Thank You,

Join to automatically receive all group messages.