i
Contents
Configuring OpenFlow ···················································································· 1
Overview ···························································································································································· 1
OpenFlow switch ········································································································································ 1
OpenFlow port ············································································································································ 1
OpenFlow instance ···································································································································· 2
OpenFlow flow table ··································································································································· 3
Group table ················································································································································ 5
Meter table ················································································································································· 5
OpenFlow channel ····································································································································· 5
Protocols and standards ···························································································································· 7
OpenFlow configuration task list ························································································································ 7
Configuring OpenFlow instances ······················································································································· 8
Creating an OpenFlow instance ················································································································· 8
Configuring the OpenFlow instance scope ································································································ 8
Creating flow tables for an OpenFlow instance ·························································································· 9
Setting the controller mode ························································································································ 9
Setting the maximum number of flow entries for an extensibility flow table ············································· 10
Configuring inband management VLANs ································································································· 10
Configuring OpenFlow to forbid MAC address learning ··········································································· 11
Forbidding an OpenFlow instance from reporting the specified types of ports to controllers ··················· 11
Configuring the default action of table-miss flow entries ·········································································· 11
Setting the datapath ID ···························································································································· 11
Activating or reactivating an OpenFlow instance ····················································································· 12
Configuring controllers for an OpenFlow switch ······························································································ 12
Configuring controllers and main connections ························································································· 13
Setting the connection interruption mode ································································································· 13
Setting OpenFlow timers ·································································································································· 13
Configuring an OpenFlow instance to support dynamic MAC addresses ························································ 14
Enabling packet loss prevention for OpenFlow forwarding ·············································································· 14
Enabling an OpenFlow instance to perform QinQ tagging for double-tagged packets passing an extensibility
flow table ·························································································································································· 15

Disabling logging for successful flow table modifications ················································································ 15
Refreshing all Layer 3 flow entries in the MAC-IP flow table for an OpenFlow instance ································· 15
Displaying and maintaining OpenFlow ············································································································· 16
OpenFlow configuration example ···················································································································· 16
Network requirements ······························································································································ 16
Configuration procedure ··························································································································· 17
Verifying the configuration ························································································································ 17
Appendixes ··································································································· 19
Appendix A Application restrictions ·················································································································· 19
Matching restrictions ································································································································ 19
Instruction restrictions ······························································································································ 19
Restrictions for merging the action list into the action set ········································································ 20
Packet-out messages restrictions ············································································································ 20
Packet-in messages restrictions ·············································································································· 21
LLDP frame matching ······························································································································ 21
Flow table modification messages restrictions ························································································· 21
Appendix B MAC-IP flow table ························································································································· 22
Capabilities supported by the MAC-IP flow table ····················································································· 22
MAC-IP flow table restrictions ·················································································································· 23
Table-miss flow entry of MAC-IP flow tables ···························································································· 23
Dynamic aware ········································································································································ 24
MAC-IP flow table cooperating with extensibility flow table ····································································· 24
Appendix C VLAN tagging and untagging flow tables ····················································································· 25
Capabilities supported by the VLAN tagging flow table ··········································································· 25
Capabilities supported by the VLAN untagging flow table ······································································· 25