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 |
| (95) Egress | | Dispatcher Table | +------------------+ | Pipeline |
| Tunnel Table | | | | | | |
+-------+-----------+ +-------------------+ | | +--------------+
| | 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