Skip to content

Commit 6fd0080

Browse files
committed
Update main readme
1 parent 2bb4044 commit 6fd0080

File tree

2 files changed

+38
-17
lines changed

2 files changed

+38
-17
lines changed

EXERCISE-5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Exercise 5: Bridging
1+
# Exercise 5: Implementing L2 Bridging
22

33
In this exercise, you will be modifying the ONOS app to provide support for
44
Ethernet (L2) bridging. The P4 program already provides logic to forward packets

README.md

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,44 @@
1-
# Next-Gen SDN Tutorial
1+
# Next-Gen SDN Tutorial (Advanced)
22

33
Welcome to the Next-Gen SDN tutorial!
44

5-
This tutorial is targeted at developers who want to learn about the building
6-
blocks of the NG-SDN architecture, such as:
5+
This tutorial is targeted at students and practitioners who want to learn about
6+
the building blocks of the next-generation SDN (NG-SDN) architecture, such as:
77

88
* Data plane programming and control via P4 and P4Runtime
99
* Configuration via YANG, OpenConfig, and gNMI
10-
* Stratum
11-
* ONOS
12-
13-
The tutorial is organized around a sequence of hands-on exercises that show how
14-
to build an IPv6-based leaf-spine data center fabric using P4, Stratum, and
15-
ONOS.
10+
* Stratum switch OS
11+
* ONOS SDN controller
12+
13+
Tutorial sessions are organized around a sequence of hands-on exercises that
14+
show how to build a leaf-spine data center fabric based on IPv6, using P4,
15+
Stratum, and ONOS. Exercises assume an intermediate knowledge of the P4
16+
language, and a basic knowledge of Java and Python. Participants will be
17+
provided with a starter P4 program and ONOS app implementation. Exercises will
18+
focus on concepts such as:
19+
20+
* Using Stratum APIs (P4Runtime, gNMI, OpenConfig, gNOI)
21+
* Using ONOS with devices programmed with arbitrary P4 programs
22+
* Writing ONOS applications to provide the control plane logic
23+
(bridging, routing, ECMP, etc.)
24+
* Testing using bmv2 in Mininet
25+
* PTF-based P4 unit tests
1626

1727
## Slides
1828

1929
Tutorial slides are available online:
20-
<http://bit.ly/ngsdn-tutorial-slides>
30+
<http://bit.ly/ngsdn-tutorial-advanced>
2131

22-
These slides provide an introduction to each exercise. We suggest you look at it
23-
before starting to work on the exercises.
32+
These slides provide an introduction to the topics covered in the tutorial. We
33+
suggest you look at it before starting to work on the exercises.
2434

2535
## System requirements
2636

37+
If you are taking this tutorial at an event organized by ONF, you should have
38+
received credentials to access the **ONF Cloud Tutorial Platform**, in which
39+
case you can skip this section. Keep reading if you are interested in working on
40+
the exercises on your laptop.
41+
2742
To facilitate access to the tools required to complete this tutorial, we provide
2843
two options for you to choose from:
2944

@@ -99,7 +114,10 @@ tutorial, with a reliable Internet connection.
99114

100115
During the exercises you will need to write code in multiple languages such as
101116
P4, Java, and Python. While the exercises do not prescribe the use of any
102-
specific IDE or code editor, the tutorial VM comes with Java IDE [IntelliJ IDEA
117+
specific IDE or code editor, the **ONF Cloud Tutorial Platform** provides access
118+
to a web-based version of Visual Studio Code (VS Code).
119+
120+
If you are using the tutorial VM, you will find the Java IDE [IntelliJ IDEA
103121
Community Edition](https://www.jetbrains.com/idea/), already pre-loaded with
104122
plugins for P4 syntax highlighting and Python development. We suggest using
105123
IntelliJ IDEA especially when working on the ONOS app, as it provides code
@@ -130,7 +148,7 @@ the exercises, here's a quick reference:
130148
| `make p4-test` | Run PTF tests |
131149
| `make start` | Start Mininet and ONOS containers |
132150
| `make stop` | Stop all containers |
133-
| `make reset` | Stop containers and remove any state associated |
151+
| `make restart` | Restart containers clearing any previous state |
134152
| `make onos-cli` | Access the ONOS CLI (password: `rocks`, Ctrl-D to exit)|
135153
| `make onos-log` | Show the ONOS log |
136154
| `make mn-cli` | Access the Mininet CLI (Ctrl-D to exit) |
@@ -143,10 +161,13 @@ the exercises, here's a quick reference:
143161

144162
Click on the exercise name to see the instructions:
145163

146-
1. [P4 and P4Runtime basics](./EXERCISE-1.md)
164+
1. [P4Runtime basics](./EXERCISE-1.md)
147165
2. [Yang, OpenConfig, and gNMI basics](./EXERCISE-2.md)
148166
3. [Using ONOS as the control plane](./EXERCISE-3.md)
149-
4. [Modify code to enable IPv6 routing](./EXERCISE-4.md)
167+
4. [Enabling link discovery via P4Runtime packet I/O](./EXERCISE-4.md)
168+
5. [Implementing L2 Bridging](./EXERCISE-5.md)
169+
6. [Implementing IPv6 routing with ECMP](./EXERCISE-6.md)
170+
7. [Implementing SRv6](./EXERCISE-7.md)
150171

151172
## Solutions
152173

0 commit comments

Comments
 (0)