Skip to content

[Catpowder] Windows: Support more than one concurrent packet per ring in XDP #1437

Open
@kyleholohan

Description

@kyleholohan

Context

Currently, each Rx/Tx ring in XDP allow for only a single buffer. This value is not configurable, and some code in Rx/TxRing relies on the assumption that only one buffer is allocated. This prevents more than one packet from being sent or received concurrently.

Proposed Solution

Rx/Tx fill and completion ring sizes should be configurable. Additionally, the Rx/Tx ring size and the number of user memory buffers should be decoupled, able to be configured separately. Ideally, user memory buffers would be over-allocated for high throughput systems (at least the sum of the size of the completion and fill rings for each end of the socket).

Alternative Solutions

Potentially one could create additional sockets with one buffer, but the overhead per socket likely outweighs the overhead of more buffers per socket.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementEnhancement Request on an Existing Feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions