Punt mode implementation in vpp memif plugin
Description
I noticed that the memif plugin in VPP does not currently support punt mode. Specifically, when attempting to create a memif interface in punt mode, the operation fails with an error. The implementation appears to be missing and unhandled in the code. As a result, vppctl does not allow memif interface creation in punt mode.
Relevant code reference:
memif.c:L1105: returns an error if punt mode is requested.
node.c: data-path behavior will likely need to be updated to handle punt mode correctly.
cli.c: CLI handling for memif creation should support punt mode once implemented.
Intent:
I'd like to work on implementing punt mode support for memif interfaces in VPP. However, I would appreciate some guidance on the theoretical expectations and design aspects of how punt mode should work within the memif plugin.
Specifically:
What is the intended behavior for memif interfaces in punt mode?
How should packet forwarding be handled in this mode?
Are there existing examples or architectural guidelines for implementing punt mode in other plugins?
Understanding these will help me make the necessary modifications across the files mentioned above and ensure compatibility with the rest of the VPP architecture.
Thanks in advance for your help and any pointers to relevant documentation or design notes.
@Damjan Marion [email protected], since you've contributed significantly to memif and VPP internals, I’d appreciate your thoughts or guidance on how punt mode was envisioned to work for memif interfaces.
Thank you! Looking forward to feedback and direction from the community.