25 Commits

Author SHA1 Message Date
Brian O'Connor
b41473fcc0 Updating check_switch_started in p4runtime_switch.py (#85)
The previous implementation had a race conditiona between the
socket check and the BMv2 startup. Sometimes, if the check happen
just before (or as) BMv2 was trying to bind the port, it would
not be able to bind it. This solution uses psutil's equivalent
to 'netstat' to determine whether is BMv2 has bound the port yet.

Also, some minor README and comment improvements.
2017-11-08 11:48:15 -08:00
Brian O'Connor
b2161b8a27 VM Updates (#83)
- Minor fixes to p4runtime exercise and README
- Adding p4runtime/solution
- Adding p4runtime/topology.json
- Updating .gitignore to include solution directory and topology.json
- Fixing root-bootstrap to exit on errors
- Updating VM name in Vagrantfile
- Setting up VM to automatically log 'p4' user in on startup
2017-11-08 08:13:17 -08:00
sibanez12
9af6750bec 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
2017-11-07 13:52:01 -08:00
Brian O'Connor
3d4a2f5748 Adding starter code and solution for p4runtime exercise (#81)
Summary of changes:
- Adding the p4runtime starter code and solution.
- Adding NO_P4, BMV2_SWITCH_EXE and P4C_ARGS to utils/Makefile
- Updated p4runtime/Makefile to use variables
- Adding conversion functions for match and action param values
- Separating P4Info and P4Runtime libraries
- Updating global README and adding p4runtime/README.md
- Disabling screen saver on VM GUI
- Adding desktop icons for Terminal, Wireshare and Sublime Text
- Updating topo.pdf -> png for Markdown viewing in basic_tunnel and
  p4runtime READMEs
2017-11-07 07:54:58 -08:00
sibanez12
ce7c3c372b Updated basic* README files (#80)
* 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
2017-11-06 19:56:27 -08:00
alex1230608
65a4334734 Updates README.md of load_balance and mri (#79) 2017-11-05 07:21:37 -08:00
sibanez12
6c82b6fbe7 Updates to basic_tunnel and basic (#78)
* 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.
2017-11-03 21:03:06 -07:00
Robert Soule
66c2cba1b5 Cleaned up links 2017-11-03 20:39:37 -07:00
Robert Soule
e9950f9905 Removed scrambler. 2017-11-03 20:35:00 -07:00
Robert Soule
b086127c54 Merge branch 'master' of github.com:p4lang/tutorials 2017-11-03 20:30:19 -07:00
Robert Soule
0557b61f2f Removed Hula 2017-11-03 20:30:11 -07:00
Robert Soule
bd0a39d5ac
Removed redundant crcmod install. (#77) 2017-11-03 16:56:25 -07:00
alex1230608
dcc8744592 Update exercises basic_tunnel and calc (#76) 2017-11-03 14:42:14 -07:00
theojepsen
786ceecf07 Updated VM (#75)
* Updated ecn exercise to work with new util scripts

* Bugfix and print port mapping in run_exercise.py

* updateded bootstrap for vm
2017-11-03 12:23:05 -07:00
Robert Soule
09dba5c63d
Updates the examples to use the new build scripts (except Hula). (#74)
* Added Makefile and topology.jsons for all examples.

* use branch

* Updated MRI exercise (#73)

* Updated MRI exercise

* Updated basic_tunnel.p4 for changes to p4 lang

* updated other examples
2017-11-03 12:20:44 -07:00
Brian O'Connor
aa4298859f Updates for p4runtime example (#71)
* Created p4runtime exercise directory with draft P4 program

* Updating VM

- Adding p4 to vboxsf group for VirtualBox Shared Folders
- Adding gRPC Python package for p4 runtime
- Setting up VM to use 2 CPUs

* Updating .gitignore for PyCharms and Mac OS

* Adding P4RuntimeSwitch type and support in run_exercises

If the grpc switch target is used, we will instantiate a P4RuntimeSwitch.
Ideally, this will get merged with BMv2's P4Switch and can be removed

* Adding p4 runtime and p4info browser libraries

Also, adding a Makefile for this project
2017-11-03 10:52:04 -07:00
theojepsen
c9151e767a Updated ecn exercise to work with new util scripts (#72)
* Updated ecn exercise to work with new util scripts

* Bugfix and print port mapping in run_exercise.py
2017-11-03 09:41:37 -07:00
Robert MacDavid
bce45ca8e6 New build script, and now building mininet from source (#69)
* moved basic exercise to new run script

* forgot some files

* CLI output now goes to logs

* typo, and forgot topo file

* fixed net.stop() bug

* added temporary change to makefile

* typos hard
2017-11-01 14:43:30 -07:00
Carmelo Cascone
37d1632865 Updated P4D2 2017 Fall vm scripts to build and install P4Runtime (#65)
* Updated vm provisioning scripts to build and install P4Runtime

Also, hardcoded commit ID for each tool to improve reproducibility
of exercises (the P4Runtime API could change in the future).

TODO: there is a permission error at line 114 of user-bootstrap.sh that
needs to be fixed.

* Removed unnecessary compiler flags when bulding PI

* Fixed permission error and updated BMv2 and PI commit IDs
2017-10-25 16:41:53 -07:00
sibanez12
7738341012 Basic Encapsulation Example (#64)
* 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.
2017-10-25 16:22:23 -07:00
Mina Tahmasbi Arashloo
597b5b401c updating the totalLen field in the IP header after adding swtrace (#67) 2017-10-25 16:21:46 -07:00
Robert MacDavid
f827e874fb Added vim syntax highlighting to provisioning script (#63)
* fixed provision bug, added vim syntax

* reverted my 'bug fix'
2017-10-24 15:27:34 -07:00
Robert Soule
3f8abb5368 Don't checkout SIGCOMM branch. (#62)
* Created new subdirectory for Fall developer day.

* Created vm directory for P4D2_2017_Fall. Fixed emacs permission problem.

* Remove checkout of SIGCOMM branch.
2017-10-24 07:29:07 -07:00
Robert Soule
8ffdf22178 Added VM for Fall D2. (#61)
* Created new subdirectory for Fall developer day.

* Created vm directory for P4D2_2017_Fall. Fixed emacs permission problem.
2017-10-24 07:11:34 -07:00
Robert Soule
cf4885329d Created new subdirectory for Fall developer day. (#60) 2017-10-19 12:06:37 -07:00