Updated README files for exercises (#82)

* Adding initial implementation of basic_encap example

* Updated basic_encap example to count the number of valid packets

* Updated basic_encap example to put encapsulation layer after Ethernet
header.

* Added solution file for basic_encap example

* Changed the name of the basic_encap example to basic_tunnel and called
the new header myTunnel. Also changed the myTunnel field names slightly.

* Updated the README file for the basic_tunnel exercise. Also added topo.pdf
image to serve as a reference during implementation.

* Updated basic/README.md to point to basic_tunnel as the next exercise.

* Updated the README for basic to point to basic_tunnel.

Updated the starter code for basic_tunnel to look like basic
solution with todo comments.

Updated send.py and receive.py to be able to send both plain IP
packets and tunneled IP packets.

Updated basic_tunnel.p4 to have same control flow as p4runtime
exercise.

* Updated the basic and basic_tunnel README files to remove references
to the old run.sh script.

Updated TODO list in basic_tunnel README

* Updated README files to indicate logs are in /tmp
This commit is contained in:
sibanez12 2017-11-07 13:52:01 -08:00 committed by Robert Soule
parent 3d4a2f5748
commit 9af6750bec
6 changed files with 16 additions and 16 deletions

View File

@ -146,12 +146,12 @@ report the error emitted from the compiler and halt.
2. `basic.p4` might compile but fail to support the control plane 2. `basic.p4` might compile but fail to support the control plane
rules in the `s1-commands.txt` through `s3-command.txt` files that rules in the `s1-commands.txt` through `s3-command.txt` files that
`make run` tries to install using the Bmv2 CLI. In this case, `make run` `make run` tries to install using the Bmv2 CLI. In this case, `make run`
will report these errors to `stderr`. Use these error messages to fix will log the CLI tool output in the `logs` directory. Use these error
your `basic.p4` implementation. messages to fix your `basic.p4` implementation.
3. `basic.p4` might compile, and the control plane rules might be 3. `basic.p4` might compile, and the control plane rules might be
installed, but the switch might not process packets in the desired installed, but the switch might not process packets in the desired
way. The `build/logs/<switch-name>.log` files contain detailed logs way. The `/tmp/p4s.<switch-name>.log` files contain detailed logs
that describing how each switch processes each packet. The output is that describing how each switch processes each packet. The output is
detailed and can help pinpoint logic errors in your implementation. detailed and can help pinpoint logic errors in your implementation.

View File

@ -140,12 +140,12 @@ report the error emitted from the compiler and halt.
2. `basic_tunnel.p4` might compile but fail to support the control plane 2. `basic_tunnel.p4` might compile but fail to support the control plane
rules in the `s1-commands.txt` through `s3-command.txt` files that rules in the `s1-commands.txt` through `s3-command.txt` files that
`make run` tries to install using the Bmv2 CLI. In this case, `make run` `make run` tries to install using the Bmv2 CLI. In this case, `make run`
will report these errors to `stderr`. Use these error messages to fix will log the CLI tool output in the `logs` directory. Use these error
your `basic_tunnel.p4` implementation or forwarding rules. messages to fix your `basic_tunnel.p4` implementation or forwarding rules.
3. `basic_tunnel.p4` might compile, and the control plane rules might be 3. `basic_tunnel.p4` might compile, and the control plane rules might be
installed, but the switch might not process packets in the desired installed, but the switch might not process packets in the desired
way. The `build/logs/<switch-name>.log` files contain detailed logs way. The `/tmp/p4s.<switch-name>.log` files contain detailed logs
that describing how each switch processes each packet. The output is that describing how each switch processes each packet. The output is
detailed and can help pinpoint logic errors in your implementation. detailed and can help pinpoint logic errors in your implementation.

View File

@ -162,12 +162,12 @@ There are several ways that problems might manifest:
error emitted from the compiler and stop. error emitted from the compiler and stop.
2. `ecn.p4` compiles but does not support the control plane rules in 2. `ecn.p4` compiles but does not support the control plane rules in
the `sX-commands.txt` files that `make` tries to install using the `sX-commands.txt` files that `make` tries to install using
the BMv2 CLI. In this case, `make` will report these errors to the BMv2 CLI. In this case, `make` will log the CLI tool output
`stderr`. Use these error messages to fix your `ecn.p4` in th `logs` directory. Use these error messages to fix your `ecn.p4`
implementation. implementation.
3. `ecn.p4` compiles, and the control plane rules are installed, but 3. `ecn.p4` compiles, and the control plane rules are installed, but
the switch does not process packets in the desired way. The the switch does not process packets in the desired way. The
`build/logs/<switch-name>.log` files contain trace messages `/tmp/p4s.<switch-name>.log` files contain trace messages
describing how each switch processes each packet. The output is describing how each switch processes each packet. The output is
detailed and can help pinpoint logic errors in your implementation. detailed and can help pinpoint logic errors in your implementation.
The `build/<switch-name>-<interface-name>.pcap` also contains the The `build/<switch-name>-<interface-name>.pcap` also contains the

View File

@ -117,13 +117,13 @@ report the error emitted from the compiler and stop.
2. `load_balance.p4` compiles but does not support the control plane 2. `load_balance.p4` compiles but does not support the control plane
rules in the `sX-commands.txt` files that `make` tries to install rules in the `sX-commands.txt` files that `make` tries to install
using the BMv2 CLI. In this case, `make` will report these errors using the BMv2 CLI. In this case, `make` will log the CLI tool output
to `stderr`. Use these error messages to fix your `load_balance.p4` in the `logs` directory. Use these error messages to fix your `load_balance.p4`
implementation. implementation.
3. `load_balance.p4` compiles, and the control plane rules are 3. `load_balance.p4` compiles, and the control plane rules are
installed, but the switch does not process packets in the desired way. installed, but the switch does not process packets in the desired way.
The `build/logs/<switch-name>.log` files contain trace messages The `/tmp/p4s.<switch-name>.log` files contain trace messages
describing how each switch processes each packet. The output is describing how each switch processes each packet. The output is
detailed and can help pinpoint logic errors in your implementation. detailed and can help pinpoint logic errors in your implementation.

View File

@ -211,11 +211,11 @@ There are several ways that problems might manifest:
error emitted from the compiler and stop. error emitted from the compiler and stop.
2. `mri.p4` compiles but does not support the control plane rules in 2. `mri.p4` compiles but does not support the control plane rules in
the `sX-commands.txt` files that `make` tries to install using the BMv2 CLI. the `sX-commands.txt` files that `make` tries to install using the BMv2 CLI.
In this case, `make` will report these errors to `stderr`. Use these error In this case, `make` will log the CLI tool output in the `logs` directory.
messages to fix your `mri.p4` implementation. Use these error messages to fix your `mri.p4` implementation.
3. `mri.p4` compiles, and the control plane rules are installed, but 3. `mri.p4` compiles, and the control plane rules are installed, but
the switch does not process packets in the desired way. The the switch does not process packets in the desired way. The
`build/logs/<switch-name>.log` files contain trace messages describing `/tmp/p4s.<switch-name>.log` files contain trace messages describing
how each switch processes each packet. The output is detailed and can how each switch processes each packet. The output is detailed and can
help pinpoint logic errors in your implementation. The help pinpoint logic errors in your implementation. The
`build/<switch-name>-<interface-name>.pcap` also contains the pcap of `build/<switch-name>-<interface-name>.pcap` also contains the pcap of

View File

@ -123,7 +123,7 @@ There are several ways that problems might manifest:
Do you have another instance of mininet running? Did the previous Do you have another instance of mininet running? Did the previous
run of mininet crash? if yes, check "Cleaning up Mininet" bellow. run of mininet crash? if yes, check "Cleaning up Mininet" bellow.
3. `source_routing.p4` compiles but the switch does not process 3. `source_routing.p4` compiles but the switch does not process
packets in the desired way. The `build/logs/<switch-name>.log` packets in the desired way. The `/tmp/p4s.<switch-name>.log`
files contain trace messages describing how each switch processes files contain trace messages describing how each switch processes
each packet. The output is detailed and can help pinpoint logic each packet. The output is detailed and can help pinpoint logic
errors in your implementation. The errors in your implementation. The