diff --git a/EXERCISE-4.md b/EXERCISE-4.md index c314562..c2b4523 100644 --- a/EXERCISE-4.md +++ b/EXERCISE-4.md @@ -102,7 +102,7 @@ For example: #### Check for regressions -To make sures the new changes are not breaking other features, make sure to run +To make sure the new changes are not breaking other features, make sure to run tests for L2 bridging support. make p4-test TEST=bridging @@ -350,7 +350,7 @@ destination address FF:FF:FF:FF:FF:FF, NDP messages are sent to special Ethernet addresses specified by RFC2464. These addresses are prefixed with 33:33 and the last four octets are the last four octets of the IPv6 destination multicast address. The most straightforward way of matching on such IPv6 -broadcast/multicast packets, without digging in the details of RFC2464, is to +broadcast/multicast packets, without digging into the details of RFC2464, is to use a ternary match on `33:33:**:**:**:**`, where `*` means "don't care". For this reason, our solution defines two tables. One that matches in an exact diff --git a/EXERCISE-5.md b/EXERCISE-5.md index 2f3947c..456c464 100644 --- a/EXERCISE-5.md +++ b/EXERCISE-5.md @@ -46,7 +46,7 @@ of the file). The same IPv6 addresses are used in the Mininet topology script ### Try pinging hosts in different subnets -Similarly to the previous exercise, let's start by using Mininet to verify that +Similar to the previous exercise, let's start by using Mininet to verify that pinging between hosts on different subnets does NOT work. It will be your task to make it work. @@ -120,12 +120,12 @@ in [netcfg.json](mininet/netcfg.json) and the `myStationMac` associated to each switch (also defined in netcfg.json). When an NDP NS packet is received, asking to resolve one of such IPv6 addresses, the `ndp_ns_to_na` action should be invoked with the given `myStationMac` as parameter. The ONOS app will be -responsible of inserting entries in this table according to the content of +responsible for inserting entries in this table according to the content of netcfg.json. The ONOS app already provides a component [NdpReplyComponent.java](app/src/main/java/org/onosproject/ngsdn/tutorial/NdpReplyComponent.java) -responsible of inserting entries in this table. +responsible for inserting entries in this table. The component is currently disabled. You will need to enable and modify it in the next steps, but for now, let's focus on the P4 program. @@ -251,7 +251,7 @@ You are asked to modify the implementation of four methods. * `setUpMyStationTable()`: to insert flow rules for the "My Station" table; -* `createNextHopGroup()`: responsible of creating the ONOS equivalent of a +* `createNextHopGroup()`: responsible for creating the ONOS equivalent of a P4Runtime action profile group for the ECMP selector of the routing table; * `createRoutingRule()`: to create a flow rule for the IPv6 routing table; diff --git a/EXERCISE-6.md b/EXERCISE-6.md index 5b202de..8b8bd2b 100644 --- a/EXERCISE-6.md +++ b/EXERCISE-6.md @@ -227,8 +227,8 @@ To add new SRv6 policies, you should use the `srv6-insert` command. onos> srv6-insert ``` -Note: In our topology, the SID for spine1 is `3:201:2::` and the SID for spine -is `3:202:2::`. +Note: In our topology, the SID for spine1 is `3:201:2::` and the SID for +spine2 is `3:202:2::`. For example, to add a policy that forwards traffic between h2 and h4 though spine1 and leaf2, you can use the following command: diff --git a/p4src/main.p4 b/p4src/main.p4 index 3bcd2d1..dac7ce9 100644 --- a/p4src/main.p4 +++ b/p4src/main.p4 @@ -438,8 +438,8 @@ control IngressPipeImpl (inout parsed_headers_t hdr, // block below should use the result (table.hit) to decide how to process // the packet. // - // 3. Create a table for IPv6 routing. An action selector should be use to - // pick a next hop MAC address according to a hash of packet header + // 3. Create a table for IPv6 routing. An action selector should be used + // to pick a next hop MAC address according to a hash of packet header // fields (IPv6 source/destination address and the flow label). Look in // snippets.p4 for an example of an action selector and table using it. //