... | ... | @@ -19,14 +19,17 @@ All the exercises and examples have been already migrated to the new version and |
|
|
|
|
|
Consider that `obj` is the main object contained in the JSON network configuration file (i.e. the `p4app.json` file contained in the folders of the exercises and examples). Then we have the following changes between the old and the new JSON network configuration file. Please remember that, because of these changes, **old JSON configuration files are not compatible with the new version of *P4-Utils***.
|
|
|
|
|
|
|Old version|New version|Description|
|
|
|
|:---------:|:---------:|:----------|
|
|
|
|`obj["program"]`|`obj["p4_src"]`|Path to the default program for all the P4 switches (string).|
|
|
|
|`obj["switch"]`|*removed*|Default switch binary to use (string).|
|
|
|
|`obj["compiler"]`|*removed*|Default compiler binary to use (string).|
|
|
|
|`obj["options"]`|*removed*|Options to pass to the compiler (string).|
|
|
|
|`obj["switch_cli"]`|*removed*|Default *Thrift* client binary to configure the switches (string).|
|
|
|
|*not present*|`obj["tasks_file"]`|Path to the file that contains all the tasks to execute in the nodes (string).|
|
|
|
|...|...|...|
|
|
|
|Old version|New version|Description|JSON Data Type|
|
|
|
|:---------:|:---------:|:----------|:------------:|
|
|
|
|`obj["program"]`|`obj["p4_src"]`|Path to the default program for all the P4 switches.|string|
|
|
|
|`obj["switch"]`|*removed*|Default switch binary to use. Now the switch binary configuration relies on the Python `Switch` class passed to *P4-Utils*.|string|
|
|
|
|`obj["compiler"]`|*removed*|Default compiler binary to use. Now the compiler binary configuration relies on the Python compiler class passed to *P4-Utils*. By default, now class [`P4C`](https://github.com/nsg-ethz/p4-utils/blob/junota/p4utils/utils/compiler.py) (a Python wrapper around P4C) is used as compiler.|string|
|
|
|
|`obj["options"]`|`obj["compiler_module"]["options"]`|Options to pass to the compiler.|string|
|
|
|
|`obj["switch_cli"]`|*removed*|Default *Thrift* client binary to configure the switches.|string|
|
|
|
|*not present*|`obj["tasks_file"]`|Path to the file that contains all the tasks to execute in the nodes.|string|
|
|
|
|`obj["topo_module"]`|*removed*|Default *Mininet* `Topo` class to use. Now this setting cannot be specified anymore because we always use the default one.|object|
|
|
|
|`obj["controller_module"]`|*removed*|Default controller class to use to configure all the switches.|object|
|
|
|
|`obj["topodb_module"]`|*removed*|Default topology database class to query network information and save it to the disk. Now this setting cannot be specified anymore because we always use the default one.|object|
|
|
|
|...|...|...|...|
|
|
|
|
|
|
### Python Network Configuration |