115 Commits

Author SHA1 Message Date
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
Han Wang
28a8414c58 update P4D2 and SIGCOMM2017 examples for new checksum API (#56) 2017-10-07 11:25:24 -07:00
Nate Foster
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é
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 Foster
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é
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 Bas
5616d53a1a Fix solution to SIGCOMM_2015/flowlet_switching (#19) 2017-03-17 11:52:00 -07:00
Antonin Bas
4c560ec65d Add information to README on environment setup (#15) 2017-01-19 07:46:54 -08:00
JK Lee
cefc460ee0 upload P4 tutorial slides (#11)
* upload P4 tutorial slides

* relocate the slides
2016-08-29 18:15:46 -07:00
Sean Choi
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
Antonin Bas
f9ccd265f3 Merge pull request #7 from p4lang/simple-nat
added simple_nat example
2016-03-12 11:35:07 -08:00
Antonin Bas
82d764a2ba added simple_nat example 2016-03-12 11:33:28 -08:00
Antonin Bas
bd33b7df18 Merge pull request #6 from p4lang/p4v1.1
added P4v1.1 sample program with demo
2016-02-24 13:44:51 -08:00
Antonin Bas
82aa156039 added P4v1.1 sample program with demo 2016-02-24 13:42:15 -08:00
Antonin Bas
4ad76b5411 Merge pull request #5 from bestephe/axon-dev
Adding in a P4 example that implements the Axon source-routed Ethernet Protocol
2016-02-13 13:12:01 -08:00
Brent Stephens
98b7087d38 Adding in a P4 example that implements the Axon source-routed Ethernet protocol. 2016-02-11 20:38:40 -06:00
Antonin Bas
8f39b33886 undid last commit modifications to register.p4 2016-01-14 10:38:03 -08:00
Antonin Bas
7d563d6077 small fix after bmv2 update, plus a #ifdef hack to test direct meters 2016-01-12 21:27:15 -08:00
Antonin Bas
17952c0f42 fixed typo in TLV parsing demo 2016-01-06 21:43:37 -08:00
Antonin Bas
6d8a0232dc added resubmit example 2015-12-17 11:54:22 -08:00
Antonin Bas
97b2a77733 added action_profile example 2015-11-17 17:09:17 -08:00