SlideShare a Scribd company logo
1 of 16
Southbound Plugins 
in OpenDaylight 
Srini Seetharaman 
Nov 2014
Life of a Packet for AD-SAL Apps 
1. A packet arriving at Switch1 will 
be sent to the appropriate plugin 
managing the switch 
2. The plugin will parse the packet, 
generate an event for SAL 
3. SAL will dispatch the packet to 
the modules listening for 
DataPacket 
4. Module handles packet and 
sends packet_out through 
IDataPacketService 
5. SAL dispatches the packet to the 
modules listening for DataPacket 
6. OpenFlow message sent to 
appropriate switch 
2 
ARP Handler 
IListenDataPacket 
L2 Learning s/w 
Service Abstraction Layer (SAL) 
OpenFlow 
protocol plugin 
OpenFlow 
J 
IPluginOutDataPacketService 
IPluginInDataPacketService 
OpenFlow 
Switch1 
Switch2 
Switch3 
IListenDataPacket 
IDataPacketService 
(1) 
(2) 
(3) 
(3) 
(5) 
(4) 
(6)
Intro to AD-SAL (API-driven SAL) 
• Statically defined shim layer that handles event going from 
application to switch, and vice-versa 
• In above example, statically defined Java interfaces (i.e., the 
API) are used by each layer to specify events they handle 
‒ E.g., L2 learning switch implements IListenDataPacket API. So, when event 
arrives arrives in SAL, it is appropriately converted (or normalized) and sent to 
the Application by calling the appropriate receivePacket() method 
public interface IListenDataPacket { 
/** 
* Handler for receiving the packet. 
* 
* @param inPkt Packet received 
* @return An indication if the packet should still be processed 
* or we should stop it. 
*/ 
PacketResult receiveDataPacket(RawPacket inPkt); 
}
Intro to MD-SAL (Model-driven SAL) 
• Data store and access models is core of the worflow 
4
AD-SAL OVSDB Plugin
OVSDB Plugin 
OpenvSwitch 
Schema 
Database, Table, Column schema 
Library 
Hardware_VTEP 
Schema 
Northbound 
OVSDBClient 
and connection 
OVSDB Repository
Open_vSwitch Schema
Hardware_VTEP Schema
OVSDB Plugin Main Impl Classes 
9 
Connection 
Service 
Row/Node 
Notifications 
Inventory 
Service 
Listens to new 
connections 
• On new connection 
updates inventory by 
calling 
processTableUpdates() 
and 
notifyNodeAdded() on 
inventory service 
• Kicks off the OVSDB 
monitor 
Keeps a local cache of all the 
information in the DB 
• On processTableUpdates 
being called, it updates 
cache, and performs 
setOFController if it’s a 
Bridge table in the OVS 
schema 
• Dispatches events to all 
other Inventory listeners 
Configuration Service 
Provider for OVSDB 
operations like insertRow, 
deleteRow, updateRow 
• When individual 
functions are called, it 
uses the OVSDB client 
to perform transactions 
• Also the conduit for all 
get calls for extracting 
DB data 
c c 
New node, and 
Table monitor 
events 
Table update setOFController 
Ovsdb 
configs 
Get 
queries 
Client 
transaction 
Some operations are specific 
to Open vSwitch schema
MD-SAL OpenFlowPlugin 
10
Data store at the Core 
• Workflow for sending a packet_out 
‒ Data plugged into RPC calls that go through the datastore 
‒ Both RPC and Data are modelled in Yang 
Your application 
Nicira Ext 
OF plugin 
Nicira Ext 
OF Java 
OpenFlow 
plugin 
OpenFlow 
Java 
Datastore 
(1) 
(2) 
(3) 
Switch1 Switch2 Switch3
Data store accessible through RestConf 
12
Event Workflow 
13
Modules Activated in Several Ways 
• Old way: Bundle-Activator 
‒ Bundle-Activator specified in pom.xml 
‒ Activator class defined that either inherits from 
AbstractBindingAwareConsumer or ComponentActivatorAbstractBase 
• New upcoming way: Config subsystem 
‒ Uses yang modeling language as a language for modeling the configuration, 
dependencies and state data for Modules. 
‒ For instance, in the l2switch repository, we see xml files that describe the 
different modules, MD-SAL dependencies and sequencing of loading: 
 ./packethandler/config/src/main/resources/initial/50-packethandler.xml 
 ./loopremover/config/src/main/resources/initial/52-loopremover.xml 
 ./arphandler/config/src/main/resources/initial/54-arphandler.xml 
 ./addresstracker/config/src/main/resources/initial/56-addresstracker.xml 
 ./hosttracker/config/src/main/resources/initial/57-hosttracker.xml 
 ./l2switch-main/config/src/main/resources/initial/58-l2switchmain.xml 
14
App Development 
15
OVSDB Plugin 
OpenvSwitch 
Schema 
Library 
Your application 
Nicira Ext 
OF plugin 
Nicira Ext 
OF Java 
OpenFlow 
plugin 
OpenFlow 
Java 
Your App 
Let’s try https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial/

More Related Content

What's hot

The Openflow Soft Switch
The Openflow Soft SwitchThe Openflow Soft Switch
The Openflow Soft SwitchKrzysztof Rutka
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform ArchitectureOpenDaylight
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Dave Neary
 
Troubleshooting Tracebacks
Troubleshooting TracebacksTroubleshooting Tracebacks
Troubleshooting TracebacksJames Denton
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouverMason Mei
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and OpenstackDave Neary
 
Sfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceSfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceLinaro
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStackKamesh Pemmaraju
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchmestery
 
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
DEVNET-1164	Using OpenDaylight for Notification Driven WorkflowsDEVNET-1164	Using OpenDaylight for Notification Driven Workflows
DEVNET-1164 Using OpenDaylight for Notification Driven WorkflowsCisco DevNet
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecturePritesh Ranjan
 
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasOpenNebula Project
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015Arthur Berezin
 
DevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectDevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectJames Denton
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Routercarlbaldwin
 
Open stack HA - Theory to Reality
Open stack HA -  Theory to RealityOpen stack HA -  Theory to Reality
Open stack HA - Theory to RealitySriram Subramanian
 

What's hot (20)

The Openflow Soft Switch
The Openflow Soft SwitchThe Openflow Soft Switch
The Openflow Soft Switch
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform Architecture
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
 
Troubleshooting Tracebacks
Troubleshooting TracebacksTroubleshooting Tracebacks
Troubleshooting Tracebacks
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and Openstack
 
Sfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceSfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performance
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitch
 
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
DEVNET-1164	Using OpenDaylight for Notification Driven WorkflowsDEVNET-1164	Using OpenDaylight for Notification Driven Workflows
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
 
OpenDaylight nluug_november
OpenDaylight nluug_novemberOpenDaylight nluug_november
OpenDaylight nluug_november
 
L2 and L3 agent restructure
L2 and L3 agent restructureL2 and L3 agent restructure
L2 and L3 agent restructure
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015
 
MidoNet deep dive
MidoNet deep diveMidoNet deep dive
MidoNet deep dive
 
DevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectDevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network Architect
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Router
 
Open stack HA - Theory to Reality
Open stack HA -  Theory to RealityOpen stack HA -  Theory to Reality
Open stack HA - Theory to Reality
 

Viewers also liked

【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューションシスコシステムズ合同会社
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2Fei Ji Siao
 
Introduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylightIntroduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylightSDN Hub
 
L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)Motonori Shindo
 
OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)Motonori Shindo
 
OpenDaylight and YANG
OpenDaylight and YANGOpenDaylight and YANG
OpenDaylight and YANGCoreStack
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLANIndonesia Network Operators Group
 
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Naoki Miyanaga
 
Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Tail-f Systems
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsrranjithrajaram
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networkingSim Janghoon
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitchSim Janghoon
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchTe-Yen Liu
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...Cisco DevNet
 
Introduction to ACI APIs
Introduction to ACI APIsIntroduction to ACI APIs
Introduction to ACI APIsCisco DevNet
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewCisco DevNet
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch YongKi Kim
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, greSim Janghoon
 

Viewers also liked (20)

【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 
Introduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylightIntroduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylight
 
L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)
 
OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)
 
OpenDaylight and YANG
OpenDaylight and YANGOpenDaylight and YANG
OpenDaylight and YANG
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function Chaining
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
 
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
 
Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needs
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
 
Introduction to ACI APIs
Introduction to ACI APIsIntroduction to ACI APIs
Introduction to ACI APIs
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 

Similar to Using OVSDB and OpenFlow southbound plugins

Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...
Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...
Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...Timothy Spann
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 
Oracle RI ETL process overview.
Oracle RI ETL process overview.Oracle RI ETL process overview.
Oracle RI ETL process overview.Puneet Kala
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeDocker, Inc.
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practiceDocker, Inc.
 
Technical Overview of Apache Drill by Jacques Nadeau
Technical Overview of Apache Drill by Jacques NadeauTechnical Overview of Apache Drill by Jacques Nadeau
Technical Overview of Apache Drill by Jacques NadeauMapR Technologies
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorialKlausePaulino
 
Petro Gordiievych "From Java 9 to Java 12"
Petro Gordiievych "From Java 9 to Java 12"Petro Gordiievych "From Java 9 to Java 12"
Petro Gordiievych "From Java 9 to Java 12"LogeekNightUkraine
 
Fast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarFast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarTimothy Spann
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful ServicesThomas Graf
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionCcie Light
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2Markus Flechtner
 
JConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaJConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaTimothy Spann
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentationAzhar Khuwaja
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaMax Alexejev
 
Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf
 
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaA noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaData Con LA
 

Similar to Using OVSDB and OpenFlow southbound plugins (20)

Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...
Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...
Machine Intelligence Guild_ Build ML Enhanced Event Streaming Applications wi...
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Oracle RI ETL process overview.
Oracle RI ETL process overview.Oracle RI ETL process overview.
Oracle RI ETL process overview.
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to Practice
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
 
Postgres clusters
Postgres clustersPostgres clusters
Postgres clusters
 
Technical Overview of Apache Drill by Jacques Nadeau
Technical Overview of Apache Drill by Jacques NadeauTechnical Overview of Apache Drill by Jacques Nadeau
Technical Overview of Apache Drill by Jacques Nadeau
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
 
Petro Gordiievych "From Java 9 to Java 12"
Petro Gordiievych "From Java 9 to Java 12"Petro Gordiievych "From Java 9 to Java 12"
Petro Gordiievych "From Java 9 to Java 12"
 
Fast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache PulsarFast Streaming into Clickhouse with Apache Pulsar
Fast Streaming into Clickhouse with Apache Pulsar
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
JConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaJConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with Java
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and Scala
 
Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7
 
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaA noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
 
Opendaylight overview
Opendaylight overviewOpendaylight overview
Opendaylight overview
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Using OVSDB and OpenFlow southbound plugins

  • 1. Southbound Plugins in OpenDaylight Srini Seetharaman Nov 2014
  • 2. Life of a Packet for AD-SAL Apps 1. A packet arriving at Switch1 will be sent to the appropriate plugin managing the switch 2. The plugin will parse the packet, generate an event for SAL 3. SAL will dispatch the packet to the modules listening for DataPacket 4. Module handles packet and sends packet_out through IDataPacketService 5. SAL dispatches the packet to the modules listening for DataPacket 6. OpenFlow message sent to appropriate switch 2 ARP Handler IListenDataPacket L2 Learning s/w Service Abstraction Layer (SAL) OpenFlow protocol plugin OpenFlow J IPluginOutDataPacketService IPluginInDataPacketService OpenFlow Switch1 Switch2 Switch3 IListenDataPacket IDataPacketService (1) (2) (3) (3) (5) (4) (6)
  • 3. Intro to AD-SAL (API-driven SAL) • Statically defined shim layer that handles event going from application to switch, and vice-versa • In above example, statically defined Java interfaces (i.e., the API) are used by each layer to specify events they handle ‒ E.g., L2 learning switch implements IListenDataPacket API. So, when event arrives arrives in SAL, it is appropriately converted (or normalized) and sent to the Application by calling the appropriate receivePacket() method public interface IListenDataPacket { /** * Handler for receiving the packet. * * @param inPkt Packet received * @return An indication if the packet should still be processed * or we should stop it. */ PacketResult receiveDataPacket(RawPacket inPkt); }
  • 4. Intro to MD-SAL (Model-driven SAL) • Data store and access models is core of the worflow 4
  • 6. OVSDB Plugin OpenvSwitch Schema Database, Table, Column schema Library Hardware_VTEP Schema Northbound OVSDBClient and connection OVSDB Repository
  • 9. OVSDB Plugin Main Impl Classes 9 Connection Service Row/Node Notifications Inventory Service Listens to new connections • On new connection updates inventory by calling processTableUpdates() and notifyNodeAdded() on inventory service • Kicks off the OVSDB monitor Keeps a local cache of all the information in the DB • On processTableUpdates being called, it updates cache, and performs setOFController if it’s a Bridge table in the OVS schema • Dispatches events to all other Inventory listeners Configuration Service Provider for OVSDB operations like insertRow, deleteRow, updateRow • When individual functions are called, it uses the OVSDB client to perform transactions • Also the conduit for all get calls for extracting DB data c c New node, and Table monitor events Table update setOFController Ovsdb configs Get queries Client transaction Some operations are specific to Open vSwitch schema
  • 11. Data store at the Core • Workflow for sending a packet_out ‒ Data plugged into RPC calls that go through the datastore ‒ Both RPC and Data are modelled in Yang Your application Nicira Ext OF plugin Nicira Ext OF Java OpenFlow plugin OpenFlow Java Datastore (1) (2) (3) Switch1 Switch2 Switch3
  • 12. Data store accessible through RestConf 12
  • 14. Modules Activated in Several Ways • Old way: Bundle-Activator ‒ Bundle-Activator specified in pom.xml ‒ Activator class defined that either inherits from AbstractBindingAwareConsumer or ComponentActivatorAbstractBase • New upcoming way: Config subsystem ‒ Uses yang modeling language as a language for modeling the configuration, dependencies and state data for Modules. ‒ For instance, in the l2switch repository, we see xml files that describe the different modules, MD-SAL dependencies and sequencing of loading:  ./packethandler/config/src/main/resources/initial/50-packethandler.xml  ./loopremover/config/src/main/resources/initial/52-loopremover.xml  ./arphandler/config/src/main/resources/initial/54-arphandler.xml  ./addresstracker/config/src/main/resources/initial/56-addresstracker.xml  ./hosttracker/config/src/main/resources/initial/57-hosttracker.xml  ./l2switch-main/config/src/main/resources/initial/58-l2switchmain.xml 14
  • 16. OVSDB Plugin OpenvSwitch Schema Library Your application Nicira Ext OF plugin Nicira Ext OF Java OpenFlow plugin OpenFlow Java Your App Let’s try https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial/