HP OpenFlow Plugin and Libraries
description
Transcript of HP OpenFlow Plugin and Libraries
![Page 1: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/1.jpg)
www.opendaylight.org
HP OpenFlow Plugin and LibrariesJune 30, 2014
![Page 2: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/2.jpg)
www.opendaylight.org2
We are new to this community and have taken the opportunity to learn and explore where we can help and how we can contribute.
One way we hope to contribute is by sharing the learnings we’ve gathered from productizing our SDN controller.
Our efforts to support OpenFlow on the various HP switches and the performance challenges that we’ve overcome is one of the first steps that we are hoping to take to contribute back to the community.
Why We Are Here
![Page 3: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/3.jpg)
www.opendaylight.org3
Performance is important especially for productization
It is our experience that performance is affected both by how the SAL is structured how the controller handles I/O
Performance
![Page 4: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/4.jpg)
www.opendaylight.org
We are able to achieve consistent and sustained performance of ~3Mpps.
Performance Numbers
4Xeon 2.93 GHz 24 core PC with 12 GB RAM
![Page 5: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/5.jpg)
www.opendaylight.org5
Xeon 2.93 GHz 24 core PC with 12 GB RAM
![Page 6: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/6.jpg)
www.opendaylight.org6
Demo
![Page 7: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/7.jpg)
www.opendaylight.org7
Abstraction Abstract access to the network model
IOLoop Efficient handling of connections and I/O
Testing & Quality Maintain high level of coverage and regression
How We Got There
![Page 8: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/8.jpg)
www.opendaylight.org8
Allows caching to provide fast access to commonly used views
Allows us to summarize and extract information from the data, without forcing app users to process the model directly
Allows us to change the underlying implementation and optimize how we acquire, process, distribute, and track the data
Abstraction
![Page 9: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/9.jpg)
www.opendaylight.org9
We started out with Netty, but discovered a critical limitation Fails to aggressively pack multiple messages into a
single frame Performance capped at ~1.2Mpps
We adapted an existing network I/O library allowing us to achieve throughput of ~3Mpps
The I/O library itself is capable of 10s of Mpps, the ~3Mpps is performance obtained end-to-end, including encoding/decoding of packets, network service processing, etc…
IOLoop
![Page 10: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/10.jpg)
www.opendaylight.org10
Unit test code coverage >80% Extensive Javadoc documentation
Testing & Quality
![Page 11: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/11.jpg)
www.opendaylight.org11
Deep Dive
![Page 12: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/12.jpg)
www.opendaylight.org12
System Abstraction
NETCONF
Node Host Link Topo Path Flow PacketBase
Drivers
Service & Model
Node
Suppliers & Brokers
Host Link Topo Path Flow Packet
Node Host Link Topo Path Flow PacketBase
Drivers
Drivers
SNMPOpenFlow . . .
API
API
Managers
Suppliers
Protocols
Facets
![Page 13: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/13.jpg)
www.opendaylight.org13
OpenFlow Subsystem Overview
![Page 14: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/14.jpg)
www.opendaylight.org14
Connection & I/O
![Page 15: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/15.jpg)
www.opendaylight.org
Packet Ins
15
![Page 16: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/16.jpg)
www.opendaylight.org16
CBench Packet Flow
![Page 17: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/17.jpg)
www.opendaylight.org17
Demo
![Page 18: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/18.jpg)
www.opendaylight.org18
Q&A
![Page 19: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/19.jpg)
www.opendaylight.org19
Backup Slides
![Page 20: HP OpenFlow Plugin and Libraries](https://reader036.fdocuments.in/reader036/viewer/2022062518/568149b6550346895db6edef/html5/thumbnails/20.jpg)
www.opendaylight.org20
Create, Encode, & Decode Messages