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:
parent
3d4a2f5748
commit
9af6750bec
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user