p4lang / pna

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

Document PreControl packet flow #26

Closed jfingerh closed 2 years ago

jfingerh commented 3 years ago

The intent is that the PreControl is executed only for net-to-host packets, not for host-to-net packets.

Its output determines whether the packet should immediately recirculate, immediate meaning that the MainControl and MainDeparser are NOT executed in this pass, but are skipped. If this is not done, then the MainControl and MainDeparser are executed for the packet, with the MainControl determining whether the packet is recirculated.

TBD whether it should be possible for the MainControl to recirculate the packet and use the net-to-host inline extern -- one reasonable proposal would be that such recirculated packets cannot use the net-to-host inline extern.

jafingerhut commented 2 years ago

Closing this issue without any further action, as it is only relevant for the same reasons that the 2-parser vs. 1-parser PNA variant were, which is also being abandoned, as for this PR: https://github.com/p4lang/pna/pull/51