The FlowAdapter: Enable Flexible Multi-Table Processing On Legacy Hardware Heng Pan , Hongtao Guan, Junjie Liu (ICT, CAS) Wanfu Ding, Chengyong Lin (Huawei Technologies Co. Ltd.) Gaogang Xie (ICT, CAS) Motivation Heterogeneous OpenFlow Switches Different number of flow tables. Various match field types Diversity of controller-issued rules Elimination to the heterogeneity of OpenFlow switch Abstraction of hardware capabilities for rules Flexibility and programmability in the heterogeneous OpenFlow network. 2 HotSDN 2013 Motivation (cont.) Hardware Capability Hardware Capability 3 HotSDN 2013 Motivation (cont.) Hardware Capability Legacy Switch Hardware Capability 4 HotSDN 2013 Questions How to issue rules to switch hardware correctly? How to express packet processing functionality in a way that is independent of the specific capabilities of the switch hardware? How to capitalize on legacy data-plane hardware? 5 HotSDN 2013 Challenges Our goals To address the mismatch between the controller-issued rules and the capabilities of the hardware switches Challenges The unpredictability of controller-issued rules The types of match fields The flow tables involved The hardware capabilities of diverse switches …… The equivalent conversion of multi-stage flow tables 6 The match result The actions HotSDN 2013 Contributions Convert M-stage flow tables into N-stage flow tables equivalently Packet match result Packet match fields’ modification Packet execution actions Design and implement a adapter layer Allow programmers to write rules more flexibly Capitalize on more legacy switches 7 HotSDN 2013 Overview Architecture Software data plane To support flexible multi-stage rule tables Hardware data plane To achieves high-speed packets forwarding The FlowAdapter A mid layer let controller-rules fit hardware capabilities 8 HotSDN 2013 The FlowAdapter Enable controller-issued rules fit into hardware MTO Convert M-stage flow tables into One-stage flow table – M-stage flow tables are from software data plane – Flexibility and Scalability OTN Convert One-stage flow table into N-stage flow tables – N-stage flow tables are based on hardware capabilities – Limited by hardware Based on OpenFlow1.2 9 HotSDN 2013 Observation The pipeline processing of multi-stage flow tables is complex A flow entry may belong to many rules. Not all rules begin from flow table 0. What are Complete rules? Rules consist of many flow entries. The flow entries of the last table of the pipeline don’t contain the Goto-table instruction. 10 HotSDN 2013 Data structure Representing the pipeline Node type 11 Default: – This type nodes don’t contain match fields. – It is a table miss when the packet does not match a flow entry in a flow table. – The behavior storing in this type node will be executed when it occurs a table miss. Normal: – This type nodes contain match fields. – The Instruction set of the node will be executed if packets are matched against the node. HotSDN 2013 Data structure (cont.) Representing the pipeline N-tree 12 Type one – Root node is from flow table 0. – The root node and child nodes are normal type. Type two – Root node is the default type. – Child nodes are default type or normal type. Those normal type nodes are the root of type three N-tree. Type three – Root node is not from flow table 0. – The root node and Child nodes are normal type. HotSDN 2013 Data structure (cont.) 13 HotSDN 2013 Design and Implementation MTO Construct three types N-trees Using metadata to achieve the pipeline of M-stage flow tables Obtain leaf nodes Only need to get the leaf nodes of type 1 and type 3 N-trees A leaf node can represent a completed rule Generate One-stage flow table To construct a one-stage flow entry Eliminate redundant match fields and instructions – 14 E.g. Goto-Table and Write-Metadata instructions HotSDN 2013 Design and Implementation MTO (cont.) 15 HotSDN 2013 Design and Implementation OTN Initializing N-stage flow tables Being configured flexibly by programmers Including numbers and each table match fields Splitting One-stage flow table rules Constructing a flow entry for each N-stage flow table Padding match fields and instructions into those flow entries – Based on the configuration of N-stage flow table Deleting those flow entries which don’t contain any match field Inserting the flow entries into N-stage flow tables 16 HotSDN 2013 Design and Implementation OTN (cont.) Flow table Initialization One-stage flow table rules split 17 HotSDN 2013 Conclusions and Future work The FlowAdapter is a efficient Adaptation layer to enable controller-issued rules fit into hardware The conversion between M-stage flow tables and N-stage flow tables Improve the existing model Incremental update of the N-tree Improve the scalability of the FlowAdapter 18 HotSDN 2013 Thank you! More information: http://fi.ict.ac.cn