Commit Graph
76 Commits
Author SHA1 Message Date
robh2andNate Foster 97f31560ca Adding P4D2_2018_East Folder (#116)
* Copying P4D2 Fall 2017 into P4D2 2018 East.

* Updated P4D2_2018_East VM.  Added vagrant URL workaround, cdrom to VM.  Updated to latest commits of BMV2, p4c, PI.  Known issue with p4runtime exercise.

* Applied patch from @antoninbas in  and updated solution
2018-03-04 03:50:22 -05:00
Jed LiuandRobert Soule 89277b5542 A slightly less vague TODO. (#98) 2017-11-13 15:47:40 -08:00
Jed LiuandRobert Soule 7a3fd6bc12 Copyediting. (#93) 2017-11-13 15:19:29 -08:00
Robert Soule 12fc3ab9ac Added missing topology file. Set VIM background to dark. 2017-11-10 13:53:20 -08:00
Brian O'ConnorandRobert Soule 5b4b075a43 Updating slides PDF (#92) 2017-11-10 09:33:40 -08:00
Florian KlinkandRobert Soule c7c51edb79 fix typo clonde -> clone in some READMEs (#91) 2017-11-10 05:43:34 -08:00
sibanez12andRobert Soule 3ae98d14b9 Updated basic_tunnel exercise README (#90)
* 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

* Updated README for basic_tunnel exercise to specify the etherType
field value.
2017-11-09 22:37:26 -08:00
Mina Tahmasbi ArashlooandRobert Soule f9202394dd updating todos in mri (#88) 2017-11-09 11:25:15 -08:00
Brian O'ConnorandRobert Soule 5c757fca09 Copying mininet_p4 from behavioral-model repo (#86)
Updating the P4Switch class to use different mechanism
for checking when the switch is listening on the Thrift
port. This might fix an issues where Mininet hangs on
start.
2017-11-08 12:25:59 -08:00
Mina Tahmasbi ArashlooandRobert Soule 727b4f82f4 Adding figures to ECN and MRI exercises (#84)
* adding a figure of the network setup to ecn

* adding a figure of the network setup for MRI
2017-11-08 11:51:27 -08:00
Brian O'ConnorandRobert Soule 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'ConnorandRobert Soule 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
sibanez12andRobert Soule 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'ConnorandRobert Soule 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
sibanez12andRobert Soule 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
alex1230608andRobert Soule 65a4334734 Updates README.md of load_balance and mri (#79) 2017-11-05 07:21:37 -08:00
sibanez12andRobert Soule 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 SouleandGitHub bd0a39d5ac Removed redundant crcmod install. (#77) 2017-11-03 16:56:25 -07:00
alex1230608andRobert Soule dcc8744592 Update exercises basic_tunnel and calc (#76) 2017-11-03 14:42:14 -07:00
theojepsenandRobert Soule 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 SouleandGitHub 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'ConnorandRobert Soule 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
theojepsenandRobert Soule 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 MacDavidandRobert Soule 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 CasconeandRobert Soule 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
sibanez12andRobert Soule 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 ArashlooandRobert Soule 597b5b401c updating the totalLen field in the IP header after adding swtrace (#67) 2017-10-25 16:21:46 -07:00
Robert MacDavidandRobert Soule 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 SouleandGitHub 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 SouleandGitHub 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 SouleandGitHub cf4885329d Created new subdirectory for Fall developer day. (#60) 2017-10-19 12:06:37 -07:00
Han WangandGitHub 28a8414c58 update P4D2 and SIGCOMM2017 examples for new checksum API (#56) 2017-10-07 11:25:24 -07:00
Nate FosterandGitHub ef64a2cfd8 Sigcomm 17 (#52)
This problem contains the tutorial exercises and solutions presented at SIGCOMM '17.
2017-10-03 16:30:47 -04:00
Robert SouléandNate Foster 119f267938 Fix for issue 32. (#33)
* This commit includes example tutorials and solutions for P4D2 2017.
- Added example P4 programs for ipv4_forwarding, mri, arp, calc
- Added python code to invoke compiler, start bmv2, run mininet
- Added solutions to above programs
- Added README files that describe exercises

* Fix for issue #32. The text had said the name of the action should be ipv4_forward, when it should have been set_dst_info.
2017-09-22 12:32:00 -04:00
Nate FosterandGitHub fe61fa61a7 Fix typo in calculator solution (#45) 2017-09-21 00:21:37 -04:00
Antonin Bas 30ecf6fc07 Fix links in markdown files 2017-06-01 11:30:40 -07:00
Antonin Bas 6b546481a5 Add README for p4v1_1/ warning that it is deprecated 2017-06-01 11:30:40 -07:00
Robert SouléandNate Foster a78dba7a5a This commit includes example tutorials and solutions for P4D2 2017. (#29)
- Added example P4 programs for ipv4_forwarding, mri, arp, calc
- Added python code to invoke compiler, start bmv2, run mininet
- Added solutions to above programs
- Added README files that describe exercises
2017-05-16 11:38:27 -07:00
Antonin BasandGitHub 5616d53a1a Fix solution to SIGCOMM_2015/flowlet_switching (#19) 2017-03-17 11:52:00 -07:00
Antonin BasandGitHub 4c560ec65d Add information to README on environment setup (#15) 2017-01-19 07:46:54 -08:00
JK LeeandAntonin Bas cefc460ee0 upload P4 tutorial slides (#11)
* upload P4 tutorial slides

* relocate the slides
2016-08-29 18:15:46 -07:00
Sean ChoiandAntonin Bas 6efda9ba22 Add Heavy Hitter to examples master (#10)
Add Heavy Hitter to SIGCOMM 2016 in master
2016-08-29 17:57:36 -07:00
Sean Choi b3c8eb35c3 Removing SIGCOMM16 2016-08-16 14:15:15 -07:00
Sean Choi 846f059ddd Adding initial version of the heavy hitter detection 2016-08-10 14:49:53 -07:00
Antonin Bas dd4c556be5 Merge pull request #8 from p4lang/workshop-05-16
added ECMP exercise for May 2016 P4 workshop
2016-05-25 11:58:16 -07:00
Antonin Bas 547fc0a75f added ECMP exercise for May 2016 P4 workshop 2016-05-10 13:36:47 -07:00