Skip to content

Commit 175a2a1

Browse files
committed
Pass on exercise 7 overview
1 parent 9b88976 commit 175a2a1

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

EXERCISE-7.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ the app we have been developing in the previous exercise, but instead of using
1111
IPv6-based routing or SRv6, Trellis uses MPLS labels to forward packets between
1212
leaf switches and across the spines.
1313

14-
Trellis apps are deployed in Tier-1 carrier networks, and for this reason deemed
15-
production-grade. They provide an extensive feature set such as:
14+
Trellis apps are deployed in Tier-1 carrier networks, and for this reason they
15+
are deemed production-grade. These apps provide an extensive feature set such
16+
as:
1617

1718
* Carrier-oriented networking capabilities: from basic L2 and L3 forwarding, to
1819
multicast, QinQ, pseudo-wires, integration with external control planes such
@@ -33,21 +34,21 @@ Trellis is made of several apps running on top of ONOS, the main one is
3334
[onos/apps/segmentrouting] (open on GitHub)
3435

3536
`segmentrouting` abstracts the leaf and spine switches that make the fabric as
36-
"one big IP router", such that operators can program them using familiar APIs
37-
(as they would do with a traditional router). The app listens to
38-
operator-provided configuration, as well as topology events, to program the
39-
switches with the necessary forwarding rules. Because of this "one big IP
40-
router" abstraction, operators can independently scale the topology to add more
41-
capacity or ports by adding more leaves and spines.
37+
"one big IP router", such that operators can program them using APIs similar to
38+
that of a traditional router (e.g. to configure VLANs, subnets, routes, etc.)
39+
The app listens to operator-provided configuration, as well as topology events,
40+
to program the switches with the necessary forwarding rules. Because of this
41+
"one big IP router" abstraction, operators can independently scale the topology
42+
to add more capacity or ports by adding more leaves and spines.
4243

4344
`segmentrouting` and other Trellis apps use the ONOS FlowObjective API, which
4445
allow them to be pipeline-agnostic. As a matter of fact, Trellis was initially
4546
designed to work with fixed-function switches exposing an OpenFlow agent (such
46-
as Broadcom Tomahawk, Trident2, and Qumran via the OF-DPA agent). However, in
47-
recent years support for P4 programmable switches was enabled without changing
48-
the apps, but instead providing a special ONOS pipeconf that brings in a P4
49-
program complemented by a set of drivers that among other things are responsible
50-
for translating flow objectives to the P4 program-specific tables.
47+
as Broadcom Tomahawk, Trident2, and Qumran via the OF-DPA pipeline). However, in
48+
recent years, support for P4 programmable switches was enabled without changing
49+
the Trellis apps, but instead providing a special ONOS pipeconf that brings in a
50+
P4 program complemented by a set of drivers that among other things are
51+
responsible for translating flow objectives to the P4 program-specific tables.
5152

5253
This P4 program is named `fabric.p4`. It's implementation along with the
5354
corresponding pipeconf drivers can be found in the ONOS source tree:
@@ -57,13 +58,13 @@ This pipeconf currently works on the `stratum_bmv2` software switch as well as
5758
on Intel Barefoot Tofino-based switches (the [fabric-tofino] project provides
5859
instructions and scripts to create a Tofino-enabled pipeconf).
5960

60-
We will come back to the details of `fabric.p4` in the next lab, for now let's
61+
We will come back to the details of `fabric.p4` in the next lab, for now, let's
6162
keep in mind that instead of building our own custom pipeconf, we will use one
6263
provided with ONOS.
6364

6465
The goal of the exercise is to learn the Trellis basics by writing a
65-
configuration in the form of a netcfg JSON file to set up basic bridging and
66-
routing of traffic between hosts.
66+
configuration in the form of a netcfg JSON file to set up bridging and
67+
IPv4 routing of traffic between hosts.
6768

6869
For a gentle overview of Trellis, please check the online book
6970
"Software-Defined Networks: A Systems Approach":

0 commit comments

Comments
 (0)