Does PNA or TNA supports Buffering Queuing Engine?

Hii Everyone,

I noticed that PSA offers a Buffering Queuing Engine Extern. Is there a similar feature in PNA or TNA that allows us to buffer specific packets? Also, is there any mechanism to signal the buffer to release the packets?


I know that the latest PSA specification says this: “Even though the BQE can not be programmed using P4, it can be configured both directly using control plane APIs and by setting intrinsic metadata.”

However, unless you can find somewhere else in the PSA specification that gives further details on that, I do not believe the PSA specification, or anyone else, has ever defined such control plane APIs nor intrinsic metadata.

What is after egress in TNA are Ethernet ports, a few of which are always in loopback mode, and the front panel Ethernet ports can be configured in software to be “normal” or “loopback” mode. Ports in loopback mode cause packets sent to them to appear as an input port to ingress soon after you send the packet to them, i.e. the packet goes from egress to the port, then from the port back to ingress. However, loopback ports in TNA cannot be connected to other network devices.

In TNA, there is a capability to match on packets being looped back, with a single value/mask ternary entry matching on the first 32 bits, which can cause its Packet Generator hardware block to take specific actions. I would recommend looking at the PDF document in the Open Tofino Github repo for further details: GitHub - barefootnetworks/Open-Tofino