Deployment Guide

15
4.3 OpenFlow Table Programming supported by DNOS-OF
4.3.1 Bridging and Routing Functions
Figure 2. Abstract switch Objects Used for Bridging and Routing
The DNOS-OF Abstract Switch objects that can be programmed for bridging and routing are shown in
Figure 2.
Packets enter and exit the pipeline on physical ports local to the switch. The Ingress Port Flow Table (table 0) is
always the first table to process a packet. Flow entries in this table can distinguish traffic from different types
of input ports by matching associated Tunnel Id metadata. Normal bridging and routing packets from physical
ports have a Tunnel Id value of 0. To simplify programming, this table provides a default rule that passes
through packets with Tunnel Id 0 that do not match any higher priority rules. Logical ports are not supported
in DNOS-OF, so the Tunnel Id will always be 0.
All packets in the Bridging and Routing flow must have a VLAN. The VLAN Flow Table can do VLAN filtering
for tagged packets and VLAN assignment for untagged packets. If the packet has more than one VLAN tag,
the outermost VLAN Id is the one used for forwarding.
The Termination MAC Flow Table matches destination MAC addresses to determine whether to bridge or
route the packet and, if routing, whether it is unicast or multicast. MAC learning is supported using a “virtual”
flow table that is logically synchronized with the Bridging Flow Table.
When MAC learning is enabled, DNOS-OF does a lookup in the Bridging Flow Table using the source MAC,
outermost VLAN Id, and IN_PORT. A miss is reported to the controller using a Packet In message. Logically this
occurs before the Termination MAC Flow Table lookup. The MAC Learning Flow Table cannot be directly read
or written by the controller. The MAC Learning Flow Table has a “virtual” table number which is reported to
the Controller in a table miss Packet-In message. It does not appear as part of the pipeline since its table
number assignment would violate the OpenFlow requirement for packets to traverse tables in monotonically
increasing order.