As of 2024-Sep-15, I (Andy Fingerhut) have given a presentation at a language design work group meeting either late in 2023 or early 2024 on some detailed proposals on one way that this could be done, in P4 with a small number of additional externs and extensions to the language. You can read more about that here:
There is no implementation of this anywhere that I know of, and I do not know of anyone actively working on developing one. I would expect the most useful places to create such an implementation would be:
in a software switch like BMv2 / simple_switch_grpc, to enable BMv2 to process packets according to P4 architectures defined in this new way.
As of 2024-Sep-15, I (Andy Fingerhut) have given a presentation at a language design work group meeting either late in 2023 or early 2024 on some detailed proposals on one way that this could be done, in P4 with a small number of additional externs and extensions to the language. You can read more about that here:
There is no implementation of this anywhere that I know of, and I do not know of anyone actively working on developing one. I would expect the most useful places to create such an implementation would be: