Legacy designs are P4 designs that predate the 2018.3 release of Vitis™ Networking P4. Guidelines for targeting legacy designs to Xilinx architecture are as follows:
- Replace the included architecture file:
-
#include <v1model.p4>should be replaced with#include <xsa.p4>
-
- Xilinx Vitis Networking P4 Architecture has only three components: Parser, Match-Action, and Deparser. A P4 program needs to be modified to fit
into this architecture. For example, moving from V1Model to XSA:
-
V1Switchshould be renamed toXilinxPipeline.
-
VerifyChecksumandComputeChecksummust be removed as these controls are not supported in XSA.
- Ingress and Egress pipelines must be combined into one Match-Action pipeline.
-
- Deparser control has metadata and standard_metadata_t inouts, similar to the Parser and Match-Action pipelines. These must be added to the Deparser control declaration (even if they are not used in the P4 program).
- The standard metadata structure is different and only has a few fields. Any use of other standard metadata fields from the V1Model must be removed, or replaced with user metadata.
- Supported externs are different in XSA compared to the V1Model. Check the latest XSA to see which externs are supported and the syntax involved.