Open vSwitch Advanced Features Tutorial-202309031730
# Open vSwitch Advanced Features Tutorial-202309031730
# Summary
The notes for ovs-advanced.rst tutorial.
# Terminology
- Open vSwitch
- OpenFlow
- Flow
- Table
- Priority
- action
- resubmit
- OVS Actions
- Load
- Learn
- strip_vlan
- output
- OVS Fields
- NXM_OF_VLAN_TCI
- NXM_OF_ETH_DST
- NXM_OF_ETH_SRC
- NXM_OF_IN_PORT
- NXM_OF_NX_REG0
- OVS Register
- Packets
- reserved multicast protocols
- IEEE 802.10 Spanning Tree Protocol(STP)
# Notes
The tutorial shows the example how to use OVS flow table to implement a MAC-learning switch with VLAN trunk and access port.
Below is the overview of the OVS flow tables for this tutorial:
Consider to understand how OpenFlow flow table works before continue.
The tutorial use 5 tables for pipeline.
flowchart LR
table0[table 0 Admission Control]
--> table1[table 1 VLAN Input Processing]
--> table2[table 2 MAC+LAN Learning for Ingress Port]
--> table3[table 3 Look up Destination Port]
--> table4[table 4 Output Processing]
We can turn this pipeline into couple of questions:
- How to drop packets in flow with?
- multicast source address
- reserved multicast protocols
- Spanning Tree Protocol(STP)
- How to create a default drop flow?
- How to create a flow with ovs action and what does action’s behavior?
- resubmit
- learn
- load
- strip_vlan
- What is register of OVS?
- What is NXM_NX_REG0?
- How to output packet in flow?
- How to handle below packets in the pipeline?
- Multicast
- Broadcast
- Unicast
- What does those OVS fields means?
NXM_OF_VLAN_TCI
NXM_OF_ETH_DST
NXM_OF_ETH_SRC
NXM_OF_IN_PORT
ovs-vsctl
- How to create port, interface, and bridge?
- How to show the tables and flow of bridge?
ovs-ofctl
- How to create flow?
- How to test the flow table with
ovs-appctl
?