-
Notifications
You must be signed in to change notification settings - Fork 641
Open
Description
Hello! I'm working on an AF_XDP application that receives packets on the eth0 interface, processes them, and then sends them out on the eth1 interface. Essentially, it forwards packets from eth0 to eth1. The application uses two physical interfaces and a CPU with approximately 30 cores. I want to achieve the highest possible performance from this application.
I would appreciate it if you could comment on which of the following approaches is the most suitable from an eBPF perspective:
- Run several single-threaded AF_XDP applications on the interfaces.
- Create multiple sockets on the interface within a single application, with each socket running in a separate thread, and the sockets sharing a common UMEM.
- Run multiple threads for packet processing within a single application. It seems to me that this approach is slower than options 1 and 2, as packet processing does not involve heavy logic.
Thank you!
Metadata
Metadata
Assignees
Labels
No labels