Slides

advertisement
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
Download