Skip to content

The highest performance at packet forwarding #450

@ZlobinDA

Description

@ZlobinDA

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:

  1. Run several single-threaded AF_XDP applications on the interfaces.
  2. 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.
  3. 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions