Presentation is loading. Please wait.

Presentation is loading. Please wait.

How Beacon Works David Erickson July 2011. The Bundle Basic Building Block JAR (zipfile) May Contain – Metadata* META-INF/MANIFEST.MF – Java Classes –

Similar presentations


Presentation on theme: "How Beacon Works David Erickson July 2011. The Bundle Basic Building Block JAR (zipfile) May Contain – Metadata* META-INF/MANIFEST.MF – Java Classes –"— Presentation transcript:

1 How Beacon Works David Erickson July 2011

2 The Bundle Basic Building Block JAR (zipfile) May Contain – Metadata* META-INF/MANIFEST.MF – Java Classes – Resources (xml, etc) – Other JAR files Bundle * Required

3 Many Bundles Working together Beacon Beacon is… Bundle

4 What can Bundles do? Share their Java Packages – Export-Package: net.beaconcontroller.core Consume other Java Packages – Import-Package: org.openflow.protocol Extend other Bundles – Fragments Run Code public void start() { listenSock = ServerSocketChannel.open(); new Thread(...)... }ServerSocketChannelThread

5 Advanced Bundles Dynamic – Stop, Start, Install, Replace while running Versioned – Can have multiple versions live simultaneously Explicit Dependencies – State which version(s) you need

6 What Bundles are available? Third party, basically anything – Just a JAR file with Metadata – Some may need YOU to generate the Metadata – Logging, Web Server, JSON parsing, Web framework, etc Beacon centric – OpenFlowJ (OF 1.0 Protocol) – Packet encoder/decoder (Ethernet, ARP, IPv4, LLDP, TCP, UDP) – Core, Learning Switch, Hub, Device Manager – Topology, Layer 2 Shortest Path Routing – ARP Proxy, DHCP Proxy, Multicast eliminator – Declarative routing (upload a text file) – Web UI

7 How do Bundles interact? Service Registry Topology Routing Service Registry ITopology Service ITopology Service Publishes Consumes

8 Core bundle connects switches Core publishes IBeaconProvider Other bundles use IBP Creates a pipeline… protected IBeaconProvider beaconProvider; public void startUp() { beaconProvider.addOFMessageListener(OFType.PACKET_IN, this); } How does the core work? Core Learning Switch Learning Switch IBeaconProvider “PacketIns Please!” public Command receive(IOFSwitch sw, OFMessage msg) { OFPacketIn pi = (OFPacketIn) msg; … return Command.CONTINUE; }

9 Pipeline Core PacketIn Decode Stats ETC Device Manager Device Manager Topology Routing

10 PacketIn Fully Multithreaded Core PacketIn Decode Device Manager Device Manager Topology Routing Thread

11 Not as far as we can tell Only gets faster, free JVM improvements But wait isn’t Java slow? Cbench Test, part of Oflops suite – PacketIn to PacketOut/FlowMod throughput test, fills controller input buffers – 10 loops, 32 switches, 10s per loop Test Machine – CPU: 1 x Intel Core i7 930 @ 3.33ghz, 9GB RAM, Ubuntu 10.04.1 x64 Controllers – Beacon, NOX (Destiny branch), Maestro http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons

12 Web UI Demo

13

14 Stable? Powering commercial controller offering – Multiple test deployments including Stanford’s network Running DNRC – 100 switches – Last 8 months Powering multiple internal and external research projects No known critical bugs

15 Resources Wiki – https://openflow.stanford.edu/display/Beacon/Home https://openflow.stanford.edu/display/Beacon/Home Bugtracker – https://openflow.stanford.edu/bugs/browse/BEACON https://openflow.stanford.edu/bugs/browse/BEACON Forum – https://openflow.stanford.edu/forums/forum/4-beacon-general/ https://openflow.stanford.edu/forums/forum/4-beacon-general/ Web Code Browser (At 1.0 release..) ME! Active development


Download ppt "How Beacon Works David Erickson July 2011. The Bundle Basic Building Block JAR (zipfile) May Contain – Metadata* META-INF/MANIFEST.MF – Java Classes –"

Similar presentations


Ads by Google