190 likes | 290 Views
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
E N D
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.) GaogangXie (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. HotSDN 2013
Motivation (cont.) Hardware Capability Hardware Capability HotSDN 2013
Motivation (cont.) Rules Hardware Capability Legacy Switch Hardware Capability 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? 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 • 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 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 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 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. HotSDN 2013
Data structure • Representing the pipeline • Node type • 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 • 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 typeornormal 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.) 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 • E.g. Goto-Table and Write-Metadata instructions HotSDN 2013
Design and Implementation • MTO (cont.) 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 HotSDN 2013
Design and Implementation • OTN (cont.) Flow table Initialization One-stage flow table rules split 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 HotSDN 2013
Thank you! More information: http://fi.ict.ac.cn