... | ... | @@ -4,7 +4,7 @@ |
|
|
|
|
|
We can use the Simple Switch CLI to configure the switch and populate match-action tables.
|
|
|
|
|
|
#### Running the CLI
|
|
|
### Running the CLI
|
|
|
|
|
|
To get the switch CLI simply run:
|
|
|
|
... | ... | @@ -14,7 +14,7 @@ simple_switch_CLI --thrift-port <port> |
|
|
|
|
|
The CLI connect to the *Thrift* server running in each switch process. `9090` is the default value but of course if you are running several devices on your machine, you will need to provide a different port for each. One CLI instance can only connect to one switch device.
|
|
|
|
|
|
#### Filling tables
|
|
|
### Filling tables
|
|
|
|
|
|
The most used commands to modify table contents are the following.
|
|
|
|
... | ... | @@ -57,7 +57,7 @@ using the `table_name` table if there is no match, the drop action will be calle |
|
|
In the second example command adds an entry that matches if the `standard_metadata.ingress_port` is equal to 1 and executes the
|
|
|
action `action_name` with `action_parameter` set to `5`.
|
|
|
|
|
|
#### Writing the CLI input in a file
|
|
|
### Writing the CLI input in a file
|
|
|
|
|
|
You can also populate the table writing the commands directly in a text file and then feeding the CLI:
|
|
|
|
... | ... | @@ -65,7 +65,7 @@ You can also populate the table writing the commands directly in a text file and |
|
|
simple_switch_CLI --thrift-port <port> < command_file.txt
|
|
|
```
|
|
|
|
|
|
#### Using *P4-Utils* configuration file
|
|
|
### Using *P4-Utils* configuration file
|
|
|
|
|
|
Alternatively, you can use the *P4-Utils* configuration file (i.e `p4app.json`) to set a `cli` configuration
|
|
|
file for each switch. When creating the topology, or rebooting switches, *P4-Utils* will automatically use
|
... | ... | @@ -84,6 +84,6 @@ To set default `cli` configuration files you need to define your switches like: |
|
|
You can find all the documentation about `p4app.json` in the [*P4-Utils* documentation](https://github.com/nsg-ethz/p4-utils#topology-description).
|
|
|
|
|
|
|
|
|
### *P4-Utils* Control Plane API
|
|
|
## *P4-Utils* Control Plane API
|
|
|
|
|
|
You can find a wrapper of the Control Plane CLI as one of the features of p4-utils. It basically allows you to do the same but instead of using text sent to the CLI you can use the power of a scripting language such as python. You can read more about this API [here](https://github.com/nsg-ethz/p4-utils#control-plane-api). |
|
|
\ No newline at end of file |