Skip to content

[Feature Request] Separate RX network descriptors for TX network descriptors #1189

Open
@thirtytwobits

Description

@thirtytwobits

Is your feature request related to a problem? Please describe.
Some ethernet drivers have distinct memory pools for rx and tx DMA buffers. Implementing a zero-copy NetworkInterface is complicated by this library's assumption that all memory descriptors are homogenous.

Describe the solution you'd like
Have separate buffer allocators for tx and rx. For example: vNetworkInterfaceAllocateRAMTo[TX|RX]Buffers and vRelease[TX|RX]NetworkBufferAndDescriptor in a BufferAllocation_3.c.

Describe alternatives you've considered
Marking buffers as being tx or rx buffers may increase backwards compatibility for this change but it will also complicate implementations; introducing "if tx else" branching instructions in applications instead of just linking tx and rx buffer handling paths through the code at compile-time.

Additional context
This problem encountered when using newer NXP GMAC IP in the S32K family of MCUs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions