What's new?
The recent update of P4-Utils introduced several improvements, affecting also P4-Learning. Hereafter, we list the most important ones.
- The application is now fully based on Python 3.
- The legacy JSON configuration file used to start the network has been simplified.
- The network can now be started also using a Python script and the new
NetworAPI
. - P4Runtime is currently available with a new API.
- The legacy Thrift API and client have been kept for compytibility reasons.
Notice
P4Runtime is only partially available because of some bugs in the implementation of PI, the gRPC server used by the software switches provided by BMv2. In particular, consider that registers currently cannot be read or written using the P4Runtime API.
All the exercises and examples have been already migrated to the new version and they are now compatible with the new framework. However, should you have customized examples crafted from the old ones, please make sure that you have ported any controller to Python 3 and that the JSON network configuration file is compliant with the new specification.
How to migrate to the new version?
Hereafter we list the changes between the old and the new JSON network configuration file.