the flowadapter : enable flexible multi-table processing on legacy hardware
Post on 23-Mar-2016
28 Views
Preview:
DESCRIPTION
TRANSCRIPT
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)
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.
Motivation
2 HotSDN 2013
Motivation (cont.)
3 HotSDN 2013
Hardware Capability
Hardware Capability
Motivation (cont.)
Hardware Capability
Hardware Capability
Legacy Switch
Rules
HotSDN 20134
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?
Questions
5 HotSDN 2013
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
Challenges
6 HotSDN 2013
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
Contributions
7 HotSDN 2013
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
Overview
8 HotSDN 2013
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
The FlowAdapter
9 HotSDN 2013
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.
Observation
10 HotSDN 2013
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.
Data structure
11 HotSDN 2013
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 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.
Data structure (cont.)
12 HotSDN 2013
Data structure (cont.)
13 HotSDN 2013
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
Design and Implementation
14 HotSDN 2013
MTO (cont.)
Design and Implementation
15 HotSDN 2013
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
Design and Implementation
16 HotSDN 2013
OTN (cont.)
Design and Implementation
17 HotSDN 2013
Flow table Initialization
One-stage flow table rules split
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
Conclusions and Future work
18 HotSDN 2013
Thank you!
More information: http://fi.ict.ac.cn
top related