Genius Pipeline

This document captures current OpenFlow pipeline as use by Genius and projects using Genius for app-coexistence.

High Level Pipeline

                             +---------+
                             | In Port |
                             +----+----+
                                  |
                                  |
                        +---------v---------+
                        | (0) Classifier    |
                        |     Table         |
                        +-------------------+
                        | VM Port           +------+
                        +-------------------+      +----------+
                        | Provider Network  +------+          |
                        +-------------------+                 |
    +-------------------+ Internal Tunnel   |                 |
    |                   +-------------------+                 |
    |            +------+ External Tunnel   |                 |
    |            |      +-------------------+       +---------v---------+
    |            |                                  | (17) Dispatcher   |
    |            |                                  |      Table        |
    |            |                                  +-------------------+
    |            |                                  |Ing Tap Service (1)+------------+
    | +----------v--------+                         +-------------------+            |
    | |     (18,20,38)    |           +-------------+Ing.ACL Service (2)|            |
    | | Services External |           |             +-------------------+            |
    | |      Pipeline     |           | +-----------+IPv6 Service    (3)|            |
    | +-------------------+           | |           +-------------------+            |
    |                                 | |           |L3 Service      (4)+-+          |
    |                                 | |           +-------------------+ |          |
    |                                 | |         +-+L2 Service      (5)| |          |
    |                                 | |         | +-------------------+ |          |
    |                                 | |         |                       |          |
    |                                 | |         |                       |          |
    |                                 | |         |                       |          |
    |                                 | |         |                       |          |
    |                                 | |         |                       |          |
    |              +------------------+ |         |                       |          |
    |              |                    |         |                       |          |
    |     +--------v--------+           |         |                       |          |
    |     |    (40 to 42)   |           |         |                       |          |
    |     |  Ingress ACL    |           |         |                       |          |
    |     |    Pipeline     |           |         |                       |          |
    |     +-------+---------+           |         |                       |          |
    |             |                     |         |                       |          |
    |          +--v-+      +------------v------+  |                       |          |
    |          |(17)|      |      (45)         |  |                       |          |
    |          +----+      |                   |  |                       |          |
    |                      |   IPv6 Pipeline   |  |                       |          |
    +----------+           +--+-------+--------+  |                       |          |
               |              |       |           |                       |          |
    +----------v--------+  +--v--+ +--v-+   +-----v-----------+           |          |
    |       (36)        |  | ODL | |(17)|   |    (50 to 55)   |           |          |
    |      Internal     |  +-----+ +----+   |                 |           |          |
    |      Tunnel       |                   |   L2 Pipeline   |           |          |
    +-------+-----------+                   +------+----------+           |          |
            |                                      |                      |          |
            |                                      |         +------------v----+  +--V----------+
            |                                      |         |    (19 to 47)   |  |    (170)    |
            +---------------------------------+    |    +----+                 |  | TaaS Ingress|
            |                                 |    |    |    |   L3 Pipeline   |  |   Pipeline  |
            |                                 |    |    |    +----+-------+----+  +--+----------+
            |                                 |    |    |         |       |          |
            |(itm-direct-tunnels enabled)     |    |    |      +--v--+ +--v-+        |
            |                                 |    |    |      | ODL | |(17)|        |
            |                                 |    |    |      +-----+ +----+        |
            |                             +---v----v----v-----+                      |           +--------------+
            |                             |                   +----------------------+           |      (171)   |
    +-------v-----------+                 | (220) Egress      +----------------------------------+  TaaS Egress |
    |   Tunnel Group    |                 | Dispatcher Table  |          +------------------+    |   Pipeline   |
    +-------+-----------+                 +-------------------+          |                  |    +--------------+
            |                             | VM Port,          +---------->   (251 to 253)   |
            |                             | Provider Network  <----------+     Pipeline     |
            |                             +-------------------+          |    Egress ACL    |
            |                             | External Tunnel   |          |                  |
            |                             +-------------------+          +------------------+
            |                             | Internal Tunnel   |
            |                             +---------+---------+
            |                                       |
            +------------------------------------+  |
                                                 |  |
                                              +--v--v----+
                                              | Out Port |
                                              +----------+

Services Pipelines

Ingress ACL Pipeline

                      +-----------------+
                      |      (17)       |
         +------------+   Dispatcher    <---------------------------+
         |            |      Table      |                           |
         |            +-----------------+                           |
         |                                                          |
+--------v--------+                                                 |
|      (40)       |                                                 |
|   Ingress ACL   |    +-----------------+                          |
|      Table      |    |      (41)       |                          |
+-----------------+    |  Ingress ACL 2  |    +-----------------+   |
|  Match Allowed  +---->      Table      |    |      (42)       |   |
+-----------------+    +-----------------+    |  Ingress ACL 2  +---+
                       |  Match Allowed  +---->      Table      |
                       +-----------------+    +-----------------+

Owner Project: Netvirt

TBD.

IPv6 Pipeline


+-----------------+    +--------v--------+
|      (17)       |    |      (45)       |
|   Dispatcher    +---->      IPv6       |
|      Table      |    |      Table      |
+--------^--------+    +-----------------+    +---+
         |             | IPv6 ND for     +---->ODL|
         |             | Router Interface|    +---+
         |             +-----------------+
         +-------------+  Other Packets  |
                       +-----------------+

Owner Project: Netvirt

TBD.

L2 Pipeline


+-----------------+
|      (17)       |
|   Dispatcher    |
|      Table      |
+--------+--------+
         |
         |
+--------v--------+
|      (50)       |
| L2 SMAC Learning|
|      Table      |
+-----------------+    +--------v--------+
|  Known SMAC     +---->      (51)       |
+-----------------+    | L2 DMAC Filter  |
|  Unknown SMAC   +---->      Table      |
+-------+---------+    +-----------------+
        |              |  Known DMAC     +--------------------+
        |              +-----------------+                    |
      +-v-+            |  Unknown DMAC   |                    |
      |ODL|            |                 |                    |
      +---+            +--------+--------+                    |
                                |                             |
                                |                             |
                       +--------v--------+                    |
                       |      (52)       |                    |
                       | Unknown DMACs   |                    |
                       |      Table      |                    |
                       +-----------------+                    |
                  +----+  Tunnel In Port |                    |
                  |    +-----------------+                    |
                  |    |  VM In Port     |                    |
                  |    +------+----------+                    |
                  |           |                               |
                  |    +------v-----+                         |
                  |    |   Group    |                         |
                  |    | Full BCast +------+                  |
                  |    +-----+------+      |                  |
                  |          |             |                  |
                  |    +-----v------+      |              +---v-------------+
                  +---->   Group    +--+   |              |     (220)       |
                       | Local BCast|  |   |              |Egress Dispatcher|
                       +------------+  |   |         +--->+      Table      |
                                       |   |         |    +-----------------+
                                       |   |         |
                                       |   |         |
                               +-------v---v-----+   |
                               |     (55)        |   |
                               |  Filter Equal   |   |
                               |      Table      |   |
                               +-----------------+   |
                               |  L Register     +---+
                               |  and Egress     |
                               +-----------------+
                               | ? Match   Drop  |
                               +-----------------+

Owner Project: Netvirt

TBD.

L3 Pipeline


+-----------------+
|   Coming        |
|      Soon!      |
+-----------------+

Owner Project: Netvirt

TBD.

Egress ACL Pipeline


                      +-----------------+
                      | (220)  Egress   |
         +------------+      Dispatcher <---------------------------+
         |            |        Table    |                           |
         |            +-----------------+                           |
         |                                                          |
+--------v--------+                                                 |
|     (251)       |                                                 |
|    Egress ACL   |    +-----------------+                          |
|      Table      |    |     (252)       |                          |
+-----------------+    |   Egress ACL 2  |    +-----------------+   |
|  Match Allowed  +---->      Table      |    |     (253)       |   |
+-----------------+    +-----------------+    |   Egress ACL 2  +---+
                       |  Match Allowed  +---->      Table      |
                       +-----------------+    +-----------------+

Owner Project: Netvirt

TBD.

Ingress TaaS Pipeline

                      +-----------------+
                      |      (17)       |
         +------------>   Dispatcher    |
         |            |      Table      |
         |            +--------+--------+
         |                     |
         |                     |
         |                     |
         |            +--------v----------+
         |            |      (170)        |
         |            |    OUTBOUND_TAP_  |
         |            | CLASSIFIER Table |
         |            +-------------------+          +-----------------+
         +-----<------+  Original Packet  |          |      (220)      |
                      +-------------------+          |Egress Dispatcher|
                      |  Copied Packet    +---------->    Table       |
                      +-------------------+          +-----------------+

Owner Project: Netvirt

Egress TaaS Pipeline


                      +-----------------+
                      | (220)  Egress   |
         +------------>      Dispatcher <-----------------+
         |            |        Table    |                 |
         |            +-----------------+                 |
         |                      |                         |
         |                      |                         |
         ^                      |                         ^
 To Tap  |                      |                         |To Tap
 Service |              +-------V---------+               |Flow Port
 Port    |              |     (171)       |               |
         |              |   INBOUND_TAP_  |               |
         |              | CLASSIFIER Table|               |
         |              +-----------------+               |
         |              | Original Packet +----------->---+
         |              +-----------------+
         +------<-------+  Copied Packet  +
                        +-----------------+

Owner Project: Netvirt