This commit makes it so that an include like the following
#include <headers.p4>
Will just work when headers.p4 is at the same directory path as the file
that is including it
Better SoftNpu Testing
The SoftNpu implementation in the test directory was a really leaky
abstraction. It required the test writer to be intimately familiar with
xfr mechanics, was extremely verbose, and error prone to use in terms
of setting up phys, rings, pipelines etc.
This commit replaces the SoftNpu implementation in the test directory.
The new implementation that makes it much easier and less error prone to
write tests. There is also a blocking I/O interface now, which
eliminates the need for inserting sleeps in CI tests to ensure packets
have propagated.
This new SoftNpu interface also provides the basis for providing
runnable documentation for users.
Start Comprehensive Documentation
This comes in the form of the x4c book. This initial commit has the
first chapter that covers installation, P4 basics and running a hello
world program.
SoftNpu metadata name changes
In an effort to conform more to P4 naming conventions, the following SoftNpu
metadata structure names were changed.
This PR includes the following.
Relative #include<> paths
This commit makes it so that an include like the following
Will just work when headers.p4 is at the same directory path as the file that is including it
Better SoftNpu Testing
The SoftNpu implementation in the test directory was a really leaky abstraction. It required the test writer to be intimately familiar with xfr mechanics, was extremely verbose, and error prone to use in terms of setting up phys, rings, pipelines etc.
This commit replaces the SoftNpu implementation in the test directory. The new implementation that makes it much easier and less error prone to write tests. There is also a blocking I/O interface now, which eliminates the need for inserting sleeps in CI tests to ensure packets have propagated.
This new SoftNpu interface also provides the basis for providing runnable documentation for users.
Start Comprehensive Documentation
This comes in the form of the x4c book. This initial commit has the first chapter that covers installation, P4 basics and running a hello world program.
SoftNpu metadata name changes
In an effort to conform more to P4 naming conventions, the following SoftNpu metadata structure names were changed.
IngressMetadata
->ingress_metadata_t
EgressMetadata
->egress_metadata_t