OpenFlow rules can be written to match on any combination of 12 items:
Ingress Port
Ethernet Source (Layer 2 source)
Ethernet Destination (Layer 2 Destination)
Ether Type
VLAN ID
VLAN Priority
IP Source
IP Destination
IP Protocol
IP ToS
TCP/UDP Source Port
TCP/UDP Destination Port
An example flow table entry for a layer2 port would look like this…
Rule:
In Port: e1/4
In VLAN: Untagged
Source Mac: 0024:2214:a5ba
Destination Mac: 0024:2025:2a44
Action: FORWARD
Out Port: e1/2
This essentially says that any Ethernet frames coming into ingress port ethernet1/4 with no vlan ID with a specific source and destination MAC address, forward it out port 1/2. Reminds me of a route-map at layer 3 but instead it's happening at layer 2 instead.
