12 Commits

Author SHA1 Message Date
Nate Foster
01fc378076
P4 Developer Day May 2019 (#252)
* Update user-bootstrap to use latest version (#251)

* p4c tests are failing in latest version. So, let's skip it during vagrant provisioning

* Update tutorial to use latest version of P4 tools

Modify switch.py to handle setting default_action
Use --p4runtime-files instead of deprecated --p4runtime-file and
--p4runtime-format flags
Provide standard_metadata for mark_to_drop

* Fix path for ECN exercise
2019-04-25 21:21:47 -04:00
Praveen Kumar
2020f971cd Fix path for exercise directory in README (#249) 2019-04-24 16:05:49 -04:00
Praveen Kumar
e736e69c97 Update Readme to remove stray bash in commands (#248) 2019-04-24 16:05:40 -04:00
Irevoire
d8fb2ee21b [p4runtime] change dead ecn reference to mri reference (#244) 2019-03-22 13:59:07 -04:00
David Lu
a264b3de05 Update README.md (#220)
Modify the title "Step 2" to "Step 1" and "Step 3" to "Step 2" because there is no "Step 1"
2019-01-08 10:54:37 -05:00
Antonin Bas
e3ef4d14db Better output for debugging P4Runtime gRPC errors
P4Runtime uses a "complex" error message format to report errors for
batched Write & Read RPC requests. Some effort is required to parse the
error messages appropriately in order to print some useful debugging
information.
2018-09-25 23:33:34 -07:00
Matthew Davis
56a462ea32 Basic tunnel readme (#197)
* basic_tunnel README says starter code uncompilable

* basic_tunnel README says starter code uncompilable
2018-09-07 13:50:36 -04:00
Nate Foster
763b95a880 Final edits for SIGCOMM tutorial (#191)
* Final updates for SIGCOMM '18

* Final updates for SIGCOMM '18
2018-08-20 05:20:39 +02:00
Brian O'Connor
6c37638818 Updating p4runtime solution (#171) 2018-06-07 18:09:48 -04:00
Nate Foster
ac588a2f5d
Final edits (#165)
* Final instructions tidying

* Instructions

* Add final slides
2018-06-06 08:34:10 -04:00
Carmelo Cascone
948a890700 Fixed P4Runtime spelling (#162)
As agreed in the P4 API WG
2018-06-01 14:16:13 -04:00
Nate Foster
dc08948a34
P4 Developer Day 2018 Spring (#159)
* Repository reorganization for 2018 Spring P4 Developer Day.

* Port tutorial exercises to P4Runtime with static controller (#156)

* Switch VM to a minimal Ubuntu 16.04 desktop image

* Add commands to install Protobuf Python bindings to user_bootstrap.sh

* Implement P4Runtime static controller for use in exercises

From the exercise perspective, the main difference is that control plane
rules are now specified using JSON files instead of CLI commands. Such
JSON files define rules that use the same name for tables, keys, etc. as
in the P4Info file.

All P4Runtime requests generated as part of the make run process are
logged in the exercise's “logs” directory, making it easier for students
to see the actual P4Runtime messages sent to the switch.

Only the "basic" exercise has been ported to use P4Runtime.
The "p4runtime" exercise has been updated to work with P4Runtime
protocol changes.

Known issues:
- make run hangs in case of errors when running the P4Runtime controller
    (probably due to gRPC stream channel threads not terminated properly)
- missing support for inserting table entries with default action
    (can specify in P4 program as a workaround)

* Force install protobuf python module

* Fixing Ctrl-C hang by shutdown switches

* Moving gRPC error print to function for readability

Unforuntately, if this gets moved out of the file, the process hangs.
We'll need to figure out how why later.

* Renaming ShutdownAllSwitches -> ShutdownAllSwitchConnections

* Reverting counter index change

* Porting the ECN exercise to use P4 Runtime Static Controller

* updating the README in the ecn exercise to reflect the change in rule files

* Allow set table default action in P4Runtime static controller

* Fixed undefined match string when printing P4Runtime table entry

* Updated basic_tunnel exercise to use P4Runtime controller.

* Changed default action in the basic exercise's ipv4_lpm table to drop

* Porting the MRI exercise to use P4runtime with static controller

* Updating readme to reflect the change of controller for mri

* Update calc exercise for P4Runtime static controller

* Port source_routing to P4 Runtime static controller (#157)

* Port Load Balance to P4 Runtime Static Controller (#158)
2018-06-01 02:54:33 -04:00