p4lang / pna

Portable NIC Architecture
Apache License 2.0
55 stars 22 forks source link

Should it be possible to recirculate mirrored copies of a packet ? #123

Open thomascalvert-xlnx opened 1 year ago

thomascalvert-xlnx commented 1 year ago

The original packet can be recirculated using the recirculate() extern in #114.

How about any mirrored copies, can they be recirculated? We may consider adding a recirculation flag/id in the MirrorSession (which itself is yet to be defined in the code, having only some description in the text § 6.8).

jafingerhut commented 1 year ago

Other questions about packet mirroring raised during 2023-Sep-25 meeting:

What is the use case for the mirror_slot_id parameter in mirror_packet ? It feels superfluous; users could make multiple copies of a packet by calling mirror_packet(session_id) several times.

Mirror copies are best-effort, but should there be an option to guarantee them and instead backpressure the ingress?