You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Updated the utils/run_exercise.py to allow exercises to customize
host configuration from the topology.json file.
Now hosts and `ping` each other in the basic exercise. Other Linux
utilities should work as well (e.g. iperf).
```
mininet> h1 ping h2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
64 bytes from 10.0.2.2: icmp_seq=1 ttl=62 time=3.11 ms
64 bytes from 10.0.2.2: icmp_seq=2 ttl=62 time=2.34 ms
64 bytes from 10.0.2.2: icmp_seq=3 ttl=62 time=2.15 ms
^C
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.153/2.540/3.118/0.416 ms
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 h3
h2 -> h1 h3
h3 -> h1 h2
*** Results: 0% dropped (6/6 received)
```
Only updated basic exercise, still need to update other exercises.
Also, updated the root-bootstrap.sh because I was running into issues
with latest version of vagrant.
* Accidentially added the solution to the basic exercise in the previous
commit. Undoing that here ...
* Updated the topology.json file and table entries for the basic_tunnel
exercise.
* Updated P4Runtime exercise with new topology and table entries.
* Fixed MAC addresses in P4Runtime exercise. It is working now.
* Fixed MAC addresses in P4Runtime exercise starter code
* Updated ECN exercise to use new topology.json file. Updated the
table entries / MAC addresses as well.
* Updated the topology.json file and table entries for the MRI exercise.
* Updated source_routing exercise with new topology file and verified
correct functionality.
* Updated load_balance exercise with new topology.
* Moved basic exercise triangle topology into a separate folder
* Added new topology for the basic exercise: a single pod of a fat-tree.
* Updated Makefiles and run_exercise.py to allow exercises to configure
each switch with a different P4 program. This is mainly for the
firewall exercise.
* Updated Makefiles of project to work with new utils/Makefile
* Updated load_balance and p4runtime exercise Makefiles
* Initial commit of the firewall exercise, which is a simple stateful
firewall that uses a bloom filter. Need to update README files
* Initial commit of the path_monitor exercise. It is working but still
need to update the README and figure out what we want the tutorial
attendees to implement.
* Updated README file in firewall exercise. Also removed the bits
from the starter code that we want the tutorial attendees to
implement
* Renamed path_monitor exercise to link_monitor
* Updated the README in the link_monitor exercise and removed the
bits from the starter code that we want the tutorial attendees
to implement.
* Updated README for the firewall exercise
* Adding pod-topo.png image to basic exercise
* Added firewall-topo.png image to firewall exercise
* Added link-monitor-topo.png to link_monitor exercise
* Updated README files to point to topology images
* Updated top-level README to point to new exercises.
* Fixed link for VM dependencies script in README
* Updated bmv2/pi/p4c commits
* Updated README files for exercises to fix some typos and added
a note about the V1Model architecture.
* Added a note about food for thought in the link_monitor README
* Updated the firewall.p4 program to use two register arrays rather
than a single one. This is to make the design more portable to
high line rate devices which can only support a single access
to each register array.
* Minor fix to firewall exercise to get rid of compiler warning.
* Updated comment in firewall exercise.
* Minor (typo) fixes in the firewall ReadMe
* More info in firewall exercise ReadMe step 2
* Updated firewall.p4 to reuse direction variable
* More testing steps, small fixes in firewall exercise Readme
* Added food for thought to firewall Readme
* Cosmetic fixes to firewall ReadMe
* Made a few updates to the basic exercise README and added more
details to the link_monitor exercise README.
Also added a command to install grip when provisioning the VM.
This could be useful for rendering the markdown README files offline.
* Updated top level README so it can be merged into the master branch.
* Moved cmd to install grip from root-bootstrap to user-bootstrap
Copy file name to clipboardexpand all lines: README.md
+10-5
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,10 @@ you get started with P4 programming, organized into several modules:
21
21
*[Calculator](./exercises/other/calc)
22
22
*[Load Balancing](./exercises/load_balance)
23
23
24
+
5. Stateful Packet Processing
25
+
*[Firewall](./exercises/firewall)
26
+
*[Link Monitoring](./exercises/link_monitor)
27
+
24
28
## Presentation
25
29
26
30
The slides are available [online](http://bit.ly/p4d2-2018-spring) and
@@ -31,9 +35,10 @@ which contains various examples that you can refer to.
31
35
32
36
## Obtaining required software
33
37
34
-
If you are starting this tutorial at the Spring 2018 P4 Developer Day,
38
+
If you are starting this tutorial at one of the proctored tutorial events,
35
39
then we've already provided you with a virtual machine that has all of
36
-
the required software installed.
40
+
the required software installed. Ask an instructor for a USB stick with
41
+
the VM image.
37
42
38
43
Otherwise, to complete the exercises, you will need to either build a
39
44
virtual machine or install several dependencies.
@@ -47,11 +52,11 @@ To build the virtual machine:
47
52
- When the machine reboots, you should have a graphical desktop machine with the required
48
53
software pre-installed.
49
54
50
-
*Note: Before running the `vagrant up` command, make sure you have enabled virtualization in your environment; otherwise you may get a "VT-x is disabled in the BIOS for both all CPU modes" error. Check [this](https://stackoverflow.com/questions/33304393/vt-x-is-disabled-in-the-bios-for-both-all-cpu-modes-verr-vmx-msr-all-vmx-disabl) for enabling it in virtualbox and/or BIOS for different system configurations.
55
+
*Note*: Before running the `vagrant up` command, make sure you have enabled virtualization in your environment; otherwise you may get a "VT-x is disabled in the BIOS for both all CPU modes" error. Check [this](https://stackoverflow.com/questions/33304393/vt-x-is-disabled-in-the-bios-for-both-all-cpu-modes-verr-vmx-msr-all-vmx-disabl) for enabling it in virtualbox and/or BIOS for different system configurations.
51
56
52
-
You will need the script to execute to completion before you can see the `p4` login on your virtual machine's GUI. In some cases, the `vagrant up` command brings up only the default `vagrant` login with the password `vagrant`. Dependencies may or may not have been installed for you to proceed with running P4 programs. Please refer the existing issues to help fix your problem or create a new one if your specific problem isn't addressed there.*
57
+
You will need the script to execute to completion before you can see the `p4` login on your virtual machine's GUI. In some cases, the `vagrant up` command brings up only the default `vagrant` login with the password `vagrant`. Dependencies may or may not have been installed for you to proceed with running P4 programs. Please refer the [existing issues](https://github.com/p4lang/tutorials/issues) to help fix your problem or create a new one if your specific problem isn't addressed there.
53
58
54
-
To install dependencies by hand, please reference the [vm](../vm) installation scripts.
59
+
To install dependencies by hand, please reference the [vm](./vm) installation scripts.
55
60
They contain the dependencies, versions, and installation procedure.
56
61
You should be able to run them directly on an Ubuntu 16.04 machine:
0 commit comments