SlideShare a Scribd company logo
1 of 22
OVN – Virtual Networking for OVS
OVN - 101
Agenda
• Introduction – What is OVN ? Why its different?
• Openstack Neutron with OVN
• OVN architecture – DB schema and Utilities
• OVN – ACL and L3 Design
• OVN L2 – Deep dive – Example
• OVN Limitations
Introduction
“Open vSwitch is the most popular choice of virtual switch in OpenStack deployments. To
make OVS more effective in these environments, we believe the logical next step is to
augment the low-level switching capabilities with a lightweight control plane that provides
native support for common virtual networking abstractions.”
- OVN, uses a protocol called OVSDB (Open vSwitch Database), which is an open protocol defined in
RFC 7047 and has been used up until now as a management protocol to configure OVS.
What is OVN?
• Opensource Virtual Networking for OVS.
• Provides L2/L3 virtual Networking
• Logical Switches and Routers.
• Security groups
• L2/L3/L4 ACLs
• Multiple tunnel overlays (Geneve, STT and VxLAN)
• TOR-based and software-based logical-physical gateways
• Work on same platforms as OVS
• Linux (KVM and XEN).
• Containers
• DPDK
• Integration with Openstack and other CMS.
Why OVN is different ?
• Will not require any additional agents for functionality for simplified
deployment and debugging.
• Security groups using new in-kernel conntrack integration.
• More secure and faster than other methods.
• DPDK-based and hardware-accelerated gateways.
• Leverages new OVS DPDK port.
• Works with switches from Arista, Brocade, Cumulus, Dell, HP, Juniper, and
Lenovo
Openstack Neutron with OVN
• ML2 driver for OVN.
• Replaces OVS ML2 driver and Neutron’s OVS agent.
• Speaks OVSDB to configure OVN via its Northbound database.
• Only run Neutron API server – No other agents.
• No RabbitMQ ( except for notifications to ceilometer and other stuff).
• OVN DHCP agent (TODO)
Openstack Neutron with OVN - Overview
Neutron
DB
Neutron Server ovsdb-server
rabbitmq
ovn-northd
ovn-controller
neutron-*aas
OVN – Architecture
Openstack CMS (Neutron-Server)
OVN North bound DB
OVN – Northd
(daemon)
OVN South bound DB
ovn-controller
ovsdb-server ovs-vswitchd
ovn-controller
ovsdb-server ovs-vswitchd
openflowOVSDBOVSDB
openflow
OVSDB
OVSDB
OVSDB
Hypervisor 1 Hypervisor N
ovn-northd
Translate between the logical network elements configured by the CMS to the Northbound DB and
model them to the Southbound DB tables, which holds the physical/infrastructure bindings and the
logical flows which enable the logical connectivity.
Service Plugins
L3 Service Plugin OVN
ML2 Mechanism Driver
OVN Mech. Driver
OVN – Databases – Northbound DB
• Two clients
• CMS which translate its own notion of logical networking configuration into the OVN model (Openstack
Neutron for example, it translate neutron networks/ports/security groups into logical switches/logical
ports/ACL's).
• ovn-northd daemon, which translate this DB into the Southbound DB model.
• Describes the logical network in conventional network concepts with only virtual elements and the
connectivity between them.
• Like., logical switches, logical ports that connect to these switches and logical routers which connects between different
logical switches.
• Also ACL's which we can attach to logical switches and configure them for specific logical ports.
• Communication between the ovn-northd and the CMS is bidirectional.
• ovn-northd can update the CMS when a port operational status is up, indicating all needed hooks and configuration took
place (This is useful in the Neutron case as Neutron needs to indicate to Nova when a port is ready after deploying a VM).
CMS – Cloud Management System (here, Openstack)
OVN North bound DB
OVN – Databases – Southbound DB
• Data Classification
• Physical Network: Information about the chassis nodes in the system. This contains all the information
necessary to wire the overlay, such as IP addresses, supported tunnel types, and security keys.
• Logical Network: the topology of logical switches and routers, ACLs, firewall rules, and everything
needed to describe how packets traverse a logical network, represented as logical datapath flows.
• Bindings: The current placement of logical components (such as VMs and vifs) onto chassis and the
bindings between logical ports and MACs.
• The ovn-northd daemon populate the logical datapath flows, while the ovn-controller (OVN agent
in the hypervisor) populate the physical elements and the bindings.
• ovn-controller uses the DB information and connects to the local OpenVSwitch as an Openflow
controller to actually configure the needed flows for correct connectivity and also as an OVSDB
manager to read the local configurations.
OVN South bound DB
OVN – Database schema
ovn_nb :: OVN Northbound database schema
name (str)
ports (set of logical_ports)
acls (set of acls)
logical_switch
name (str)
type (str)
options (str-str)
parent_name (str)
tag (int 1-4095)
up (bool – port state)
enabled (bool – port state)
addresses (str)
port_security (str)
logical_port
priority (int 1-32767)
direction (str to-lport or
from-lport)
match (str)
action (str – allow-
rejected, drop, allow,
reject)
log (bool)
acl
name (str)
ports (str set of logical_router_ports)
default_gw (str)
logical_router
name (str)
network (str)
mac (str)
enabled (bool)
peer (attachment of LRP)
logical_router_port
Each of the tables in this database contains a special
column, named external_ids. This column has the
same form and purpose each place it appears.
OVN – Database schema
ovn-sb :: OVN Southbound database schema
name (str)
encaps (set of 1 or more
encaps)
vtep_logical_switches (set
of str)
chassis
Logical_datapath
(datapath_binding)
pipeline (str, ingress-
egress)
table_id (int 0-15)
priority (int 0-65,535)
match (str)
actions (str)
stage_name (str)
logical_flow
tunnel_key (int 1-
16,777,215)
logical_switch (nb-relation)
logical_router (nb-relation)
datapath_binding
type (str, one of stt, geneve or vxlan)
options (str-str)
ip (str, ipv4 addr of encap tep)
encap
datapath (datapath_binding)
tunnel_key (int, 32768-65535)
name (str)
ports (set of 1 or more weak
reference to Port_Bindings)
multicast_group
Each of the tables in this database contains a special column, named external_ids. This
column has the same form and purpose each place it appears.
datapath (datapath_binding)
logical_port (str)
chassis (str chassis)
tunnel_key (int, 1-32768)
mac (str)
type (str)
port_binding
OVN – Utilities
• ovn-nb - OVN_Northbound database schema
• This database is the interface between OVN and the cloud management system (CMS), such as OpenStack,
running above it. The CMS produces almost all of the contents of the database. The ovn-northd program
monitors the database contents, transforms it, and stores it into the OVN_Southbound database.
• ovn-sb - OVN_Southbound database schema
• This database holds logical and physical configuration and state for the Open Virtual Network (OVN) system
to support virtual network abstraction.
• ovn-nbctl - Open Virtual Network northbound db management utility
• This utility can be used to manage the OVN northbound database.
• ovn-sbctl - utility for querying and configuring OVN_Southbound database.
• ovn-northd - Open Virtual Network central control daemon
• Responsible for translating the high-level OVN configuration into logical configuration consumable by
daemons such as ovn-controller. It translates the logical network configuration in terms of conventional
network concepts, taken from the OVN Northbound Database, into logical datapath flows in
the OVN Southbound Database below it.
• ovn-controller - Open Virtual Network local controller
• ovn-controller-vtep - Open Virtual Network local controller for vtep enabled physical switches.
OVN – Security Groups
• Existing way
• Requires extra linux bridge and
vEth pair per VM.
• Uses Iptables.
• Using OVN ACLs
• Uses kernel conntrack module
directly from OVS.
• Design benefits.
• No complicated pipeline.
• Faster* -- Fewer hops and veth ports.VM VM
Linux
Bridge
Linux
Bridge
OVS (br-int)
eth eth
tap tap
veth
veth veth
veth
VM VM
OVS (br-int)
eth eth
tap tap
OVN – L3 design
• Neutron L3 Agent – Current design
• Agent based.
• Used the Linux IP stack and iptables.
• Forwarding.
• NAT.
• Overlapping IP address support using namespaces
• OVN L3 design
• Native support for IPv4 and IPv6.
• Distributed.
• ARP/ND suppression.
• Flow caching improves performance.
• Without OVN: multiple per-packet routing layers.
• With OVN: cache sets dest mac, decrements TTL.
• No use of Neutron L3 agent
OVN L2 – Deep dive
• Multi node Openstack Setup with OVN plugin.
• 3 VM’s
• one in the controller node (VM1) and
• two in the other compute node (VM2 and VM3)
• All connected to the “private” network.
Network Topology
OVN recognizes, two nodes on Chassis with Geneve tunnel
Between them, it's important to note that the tunnel was
created only when VM’s from the same logical network were
actually deployed in the two nodes.
Tunnel port created on br-int.
Router namespace creation remains unaffected.
The OVN Southbound DB Binding table has entries that link
between the logical elements configured in the Northbound
DB and their location in the physical infrastructure.
OVN L2 – Deep dive
Flow tables at each Node:
Table 0 - Network classification and incoming tunnel traffic dispatching.
Table 16 - Ingress Port Security (This table blocks broadcast/multicast src addresses and
also logical VLANs as they are not yet supported)
Table 17 - Destination lookup, broadcast, multicast and unicast handling (and unknown
MACs)
Table 18 – ACL (not implemented)
Table 19 - Egress Port Security
Table 64 - Output table (Logical to Physical or Local - last step in the pipeline which now
need to send the packet to the correct port (local or over a tunnel to other compute
node))
OVN – an example – On HV1
Name Ports
LS1 LP1, LP2
Name MAC
LP1 AA11
LP2 BB22
Chassis Name Encap IP address
HV1 Geneve* 10.0.0.10
HV2 Geneve* 10.0.0.11
Datapath Match Action
LS1 eth.dst = AA11 LP1
LS1 eth.dst = BB22 LP2
LS1 eth.dst = <broadcast> LP1, LP2
Logical switch
Logical port
Chassis (ovn-controller)
Bindings (ovn-controller)
Pipeline (ovn-northd)
Logical Port Name Chassis Name
LP1 HV1
*Geneve: Generic Network Virtualization Encapsulation
OVN – an example – LP2 arrives on HV2
Name Ports
LS1 LP1, LP2
Name MAC
LP1 AA11
LP2 BB22
Chassis Name Encap IP address
HV1 Geneve 10.0.0.10
HV2 Geneve 10.0.0.11
Datapath Match Action
LS1 eth.dst = AA11 LP1
LS1 eth.dst = BB22 LP2
LS1 eth.dst = <broadcast> LP1, LP2
Logical switch
Logical port
Chassis (ovn-controller)
Bindings (ovn-controller)
Pipeline (ovn-northd)
` Chassis Name
LP1 HV1
LP2 HV2
OVN - Limitations
• HA/Redundancy
• ovsdb-server is not distributed, which means you cannot have a cluster or redundancy/high
availability to your instance which has a critical job in the process.
• Scale
• since ovsdb-server is not distributed it also does not support load sharing, this means that all
controllers connect to the same instance and hence can introduce bottlenecks on busy
setups, this doesn't scale up well.
• Different environments might have different requirements
• Different users might need different solutions for DB distribution in regards to latency /
configuration changes / resource availability to run the control plane software / SLA regarding
configuration loses and so on, this approach means that ovsdb-implementation must support
all possible use cases.
• Locked-In Solution
• User/Cloud admin is locked to a single solution implementation which is not necessary
related to network virtualization
References & more reading
• http://docs.openstack.org/developer/networking-ovn/readme.html
• http://galsagie.github.io/tags/#OVN
• http://benpfaff.org/~blp/dist-docs/ovn-architecture.7.html
• https://wiki.opnfv.org/_media/ovn-opnfv-summit2015.pdf
• http://openvswitch.org/support/slides/OVN_Tokyo.pdf
• http://openvswitch.org/pipermail/discuss/2015-
November/019317.html
• http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2015-
November/006641.html
Happy Switching … 

More Related Content

What's hot

OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale testAliasgar Ginwala
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch YongKi Kim
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)JuHwan Lee
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on LinuxEtsuji Nakai
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개OpenStack Korea Community
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)sangyun han
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Nalee Jang
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기영우 김
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Nalee Jang
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsThomas Morin
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX, Inc.
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)Dan Wendlandt
 
Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Romana Project
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpJames Denton
 

What's hot (20)

OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNs
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 

Viewers also liked

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
 
vnf-managers-you-must-know
vnf-managers-you-must-knowvnf-managers-you-must-know
vnf-managers-you-must-knowTrinath Somanchi
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options Netronome
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerSasha Goldshtein
 
Generalized Virtual Networking, an enabler for Service Centric Networking and...
Generalized Virtual Networking, an enabler for Service Centric Networking and...Generalized Virtual Networking, an enabler for Service Centric Networking and...
Generalized Virtual Networking, an enabler for Service Centric Networking and...Stefano Salsano
 
OpenFlow 1.5.1
OpenFlow 1.5.1OpenFlow 1.5.1
OpenFlow 1.5.1jungbh
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...VirtualTech Japan Inc.
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2Fei Ji Siao
 

Viewers also liked (9)

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
 
vnf-managers-you-must-know
vnf-managers-you-must-knowvnf-managers-you-must-know
vnf-managers-you-must-know
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
 
Generalized Virtual Networking, an enabler for Service Centric Networking and...
Generalized Virtual Networking, an enabler for Service Centric Networking and...Generalized Virtual Networking, an enabler for Service Centric Networking and...
Generalized Virtual Networking, an enabler for Service Centric Networking and...
 
OpenFlow 1.5.1
OpenFlow 1.5.1OpenFlow 1.5.1
OpenFlow 1.5.1
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 

Similar to OVN - Basics and deep dive

Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouverMason Mei
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...NETWAYS
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauseryfauser
 
lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxJesicaDcruz1
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchmestery
 
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNIntroduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNHungWei Chiu
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410bRichard Kuo
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and AutomationAdam Johnson
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first partlilliput12
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Cloud Native Day Tel Aviv
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
PLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecturePLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecturePROIDEA
 
Disaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityDisaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityOpen Networking Summit
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014yfauser
 
Design and Performance Characteristics of Tap-as-a-Service
Design and Performance Characteristics of Tap-as-a-ServiceDesign and Performance Characteristics of Tap-as-a-Service
Design and Performance Characteristics of Tap-as-a-Servicesoichi shigeta
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayyfauser
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)Mario Cho
 

Similar to OVN - Basics and deep dive (20)

Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
10 sdn-vir-6up
10 sdn-vir-6up10 sdn-vir-6up
10 sdn-vir-6up
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 
lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptx
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitch
 
Raga_SDN_NSX_1
Raga_SDN_NSX_1Raga_SDN_NSX_1
Raga_SDN_NSX_1
 
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNIntroduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDN
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410b
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
PLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecturePLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecture
 
Disaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityDisaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High Availability
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
Design and Performance Characteristics of Tap-as-a-Service
Design and Performance Characteristics of Tap-as-a-ServiceDesign and Performance Characteristics of Tap-as-a-Service
Design and Performance Characteristics of Tap-as-a-Service
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-day
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)
 

More from Trinath Somanchi

Demystifying OpenStack for NFV
Demystifying OpenStack for NFVDemystifying OpenStack for NFV
Demystifying OpenStack for NFVTrinath Somanchi
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenTrinath Somanchi
 
Creating a Safer, Smarter ride - NFV for Automotive
Creating a Safer, Smarter ride - NFV for AutomotiveCreating a Safer, Smarter ride - NFV for Automotive
Creating a Safer, Smarter ride - NFV for AutomotiveTrinath Somanchi
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecurityTrinath Somanchi
 
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..Trinath Somanchi
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101Trinath Somanchi
 
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and Solutions
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and SolutionsSecuring NFV and SDN Integrated OpenStack Cloud: Challenges and Solutions
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and SolutionsTrinath Somanchi
 
Distributed VNF Management - Architecture and Use cases
Distributed VNF Management - Architecture and Use casesDistributed VNF Management - Architecture and Use cases
Distributed VNF Management - Architecture and Use casesTrinath Somanchi
 

More from Trinath Somanchi (8)

Demystifying OpenStack for NFV
Demystifying OpenStack for NFVDemystifying OpenStack for NFV
Demystifying OpenStack for NFV
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco Heaven
 
Creating a Safer, Smarter ride - NFV for Automotive
Creating a Safer, Smarter ride - NFV for AutomotiveCreating a Safer, Smarter ride - NFV for Automotive
Creating a Safer, Smarter ride - NFV for Automotive
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
 
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..
OpenStack Collaboration made in heaven with Heat, Mistral, Neutron and more..
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101
 
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and Solutions
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and SolutionsSecuring NFV and SDN Integrated OpenStack Cloud: Challenges and Solutions
Securing NFV and SDN Integrated OpenStack Cloud: Challenges and Solutions
 
Distributed VNF Management - Architecture and Use cases
Distributed VNF Management - Architecture and Use casesDistributed VNF Management - Architecture and Use cases
Distributed VNF Management - Architecture and Use cases
 

Recently uploaded

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

OVN - Basics and deep dive

  • 1. OVN – Virtual Networking for OVS OVN - 101
  • 2. Agenda • Introduction – What is OVN ? Why its different? • Openstack Neutron with OVN • OVN architecture – DB schema and Utilities • OVN – ACL and L3 Design • OVN L2 – Deep dive – Example • OVN Limitations
  • 3. Introduction “Open vSwitch is the most popular choice of virtual switch in OpenStack deployments. To make OVS more effective in these environments, we believe the logical next step is to augment the low-level switching capabilities with a lightweight control plane that provides native support for common virtual networking abstractions.” - OVN, uses a protocol called OVSDB (Open vSwitch Database), which is an open protocol defined in RFC 7047 and has been used up until now as a management protocol to configure OVS.
  • 4. What is OVN? • Opensource Virtual Networking for OVS. • Provides L2/L3 virtual Networking • Logical Switches and Routers. • Security groups • L2/L3/L4 ACLs • Multiple tunnel overlays (Geneve, STT and VxLAN) • TOR-based and software-based logical-physical gateways • Work on same platforms as OVS • Linux (KVM and XEN). • Containers • DPDK • Integration with Openstack and other CMS.
  • 5. Why OVN is different ? • Will not require any additional agents for functionality for simplified deployment and debugging. • Security groups using new in-kernel conntrack integration. • More secure and faster than other methods. • DPDK-based and hardware-accelerated gateways. • Leverages new OVS DPDK port. • Works with switches from Arista, Brocade, Cumulus, Dell, HP, Juniper, and Lenovo
  • 6. Openstack Neutron with OVN • ML2 driver for OVN. • Replaces OVS ML2 driver and Neutron’s OVS agent. • Speaks OVSDB to configure OVN via its Northbound database. • Only run Neutron API server – No other agents. • No RabbitMQ ( except for notifications to ceilometer and other stuff). • OVN DHCP agent (TODO)
  • 7. Openstack Neutron with OVN - Overview Neutron DB Neutron Server ovsdb-server rabbitmq ovn-northd ovn-controller neutron-*aas
  • 8. OVN – Architecture Openstack CMS (Neutron-Server) OVN North bound DB OVN – Northd (daemon) OVN South bound DB ovn-controller ovsdb-server ovs-vswitchd ovn-controller ovsdb-server ovs-vswitchd openflowOVSDBOVSDB openflow OVSDB OVSDB OVSDB Hypervisor 1 Hypervisor N ovn-northd Translate between the logical network elements configured by the CMS to the Northbound DB and model them to the Southbound DB tables, which holds the physical/infrastructure bindings and the logical flows which enable the logical connectivity. Service Plugins L3 Service Plugin OVN ML2 Mechanism Driver OVN Mech. Driver
  • 9. OVN – Databases – Northbound DB • Two clients • CMS which translate its own notion of logical networking configuration into the OVN model (Openstack Neutron for example, it translate neutron networks/ports/security groups into logical switches/logical ports/ACL's). • ovn-northd daemon, which translate this DB into the Southbound DB model. • Describes the logical network in conventional network concepts with only virtual elements and the connectivity between them. • Like., logical switches, logical ports that connect to these switches and logical routers which connects between different logical switches. • Also ACL's which we can attach to logical switches and configure them for specific logical ports. • Communication between the ovn-northd and the CMS is bidirectional. • ovn-northd can update the CMS when a port operational status is up, indicating all needed hooks and configuration took place (This is useful in the Neutron case as Neutron needs to indicate to Nova when a port is ready after deploying a VM). CMS – Cloud Management System (here, Openstack) OVN North bound DB
  • 10. OVN – Databases – Southbound DB • Data Classification • Physical Network: Information about the chassis nodes in the system. This contains all the information necessary to wire the overlay, such as IP addresses, supported tunnel types, and security keys. • Logical Network: the topology of logical switches and routers, ACLs, firewall rules, and everything needed to describe how packets traverse a logical network, represented as logical datapath flows. • Bindings: The current placement of logical components (such as VMs and vifs) onto chassis and the bindings between logical ports and MACs. • The ovn-northd daemon populate the logical datapath flows, while the ovn-controller (OVN agent in the hypervisor) populate the physical elements and the bindings. • ovn-controller uses the DB information and connects to the local OpenVSwitch as an Openflow controller to actually configure the needed flows for correct connectivity and also as an OVSDB manager to read the local configurations. OVN South bound DB
  • 11. OVN – Database schema ovn_nb :: OVN Northbound database schema name (str) ports (set of logical_ports) acls (set of acls) logical_switch name (str) type (str) options (str-str) parent_name (str) tag (int 1-4095) up (bool – port state) enabled (bool – port state) addresses (str) port_security (str) logical_port priority (int 1-32767) direction (str to-lport or from-lport) match (str) action (str – allow- rejected, drop, allow, reject) log (bool) acl name (str) ports (str set of logical_router_ports) default_gw (str) logical_router name (str) network (str) mac (str) enabled (bool) peer (attachment of LRP) logical_router_port Each of the tables in this database contains a special column, named external_ids. This column has the same form and purpose each place it appears.
  • 12. OVN – Database schema ovn-sb :: OVN Southbound database schema name (str) encaps (set of 1 or more encaps) vtep_logical_switches (set of str) chassis Logical_datapath (datapath_binding) pipeline (str, ingress- egress) table_id (int 0-15) priority (int 0-65,535) match (str) actions (str) stage_name (str) logical_flow tunnel_key (int 1- 16,777,215) logical_switch (nb-relation) logical_router (nb-relation) datapath_binding type (str, one of stt, geneve or vxlan) options (str-str) ip (str, ipv4 addr of encap tep) encap datapath (datapath_binding) tunnel_key (int, 32768-65535) name (str) ports (set of 1 or more weak reference to Port_Bindings) multicast_group Each of the tables in this database contains a special column, named external_ids. This column has the same form and purpose each place it appears. datapath (datapath_binding) logical_port (str) chassis (str chassis) tunnel_key (int, 1-32768) mac (str) type (str) port_binding
  • 13. OVN – Utilities • ovn-nb - OVN_Northbound database schema • This database is the interface between OVN and the cloud management system (CMS), such as OpenStack, running above it. The CMS produces almost all of the contents of the database. The ovn-northd program monitors the database contents, transforms it, and stores it into the OVN_Southbound database. • ovn-sb - OVN_Southbound database schema • This database holds logical and physical configuration and state for the Open Virtual Network (OVN) system to support virtual network abstraction. • ovn-nbctl - Open Virtual Network northbound db management utility • This utility can be used to manage the OVN northbound database. • ovn-sbctl - utility for querying and configuring OVN_Southbound database. • ovn-northd - Open Virtual Network central control daemon • Responsible for translating the high-level OVN configuration into logical configuration consumable by daemons such as ovn-controller. It translates the logical network configuration in terms of conventional network concepts, taken from the OVN Northbound Database, into logical datapath flows in the OVN Southbound Database below it. • ovn-controller - Open Virtual Network local controller • ovn-controller-vtep - Open Virtual Network local controller for vtep enabled physical switches.
  • 14. OVN – Security Groups • Existing way • Requires extra linux bridge and vEth pair per VM. • Uses Iptables. • Using OVN ACLs • Uses kernel conntrack module directly from OVS. • Design benefits. • No complicated pipeline. • Faster* -- Fewer hops and veth ports.VM VM Linux Bridge Linux Bridge OVS (br-int) eth eth tap tap veth veth veth veth VM VM OVS (br-int) eth eth tap tap
  • 15. OVN – L3 design • Neutron L3 Agent – Current design • Agent based. • Used the Linux IP stack and iptables. • Forwarding. • NAT. • Overlapping IP address support using namespaces • OVN L3 design • Native support for IPv4 and IPv6. • Distributed. • ARP/ND suppression. • Flow caching improves performance. • Without OVN: multiple per-packet routing layers. • With OVN: cache sets dest mac, decrements TTL. • No use of Neutron L3 agent
  • 16. OVN L2 – Deep dive • Multi node Openstack Setup with OVN plugin. • 3 VM’s • one in the controller node (VM1) and • two in the other compute node (VM2 and VM3) • All connected to the “private” network. Network Topology OVN recognizes, two nodes on Chassis with Geneve tunnel Between them, it's important to note that the tunnel was created only when VM’s from the same logical network were actually deployed in the two nodes. Tunnel port created on br-int. Router namespace creation remains unaffected. The OVN Southbound DB Binding table has entries that link between the logical elements configured in the Northbound DB and their location in the physical infrastructure.
  • 17. OVN L2 – Deep dive Flow tables at each Node: Table 0 - Network classification and incoming tunnel traffic dispatching. Table 16 - Ingress Port Security (This table blocks broadcast/multicast src addresses and also logical VLANs as they are not yet supported) Table 17 - Destination lookup, broadcast, multicast and unicast handling (and unknown MACs) Table 18 – ACL (not implemented) Table 19 - Egress Port Security Table 64 - Output table (Logical to Physical or Local - last step in the pipeline which now need to send the packet to the correct port (local or over a tunnel to other compute node))
  • 18. OVN – an example – On HV1 Name Ports LS1 LP1, LP2 Name MAC LP1 AA11 LP2 BB22 Chassis Name Encap IP address HV1 Geneve* 10.0.0.10 HV2 Geneve* 10.0.0.11 Datapath Match Action LS1 eth.dst = AA11 LP1 LS1 eth.dst = BB22 LP2 LS1 eth.dst = <broadcast> LP1, LP2 Logical switch Logical port Chassis (ovn-controller) Bindings (ovn-controller) Pipeline (ovn-northd) Logical Port Name Chassis Name LP1 HV1 *Geneve: Generic Network Virtualization Encapsulation
  • 19. OVN – an example – LP2 arrives on HV2 Name Ports LS1 LP1, LP2 Name MAC LP1 AA11 LP2 BB22 Chassis Name Encap IP address HV1 Geneve 10.0.0.10 HV2 Geneve 10.0.0.11 Datapath Match Action LS1 eth.dst = AA11 LP1 LS1 eth.dst = BB22 LP2 LS1 eth.dst = <broadcast> LP1, LP2 Logical switch Logical port Chassis (ovn-controller) Bindings (ovn-controller) Pipeline (ovn-northd) ` Chassis Name LP1 HV1 LP2 HV2
  • 20. OVN - Limitations • HA/Redundancy • ovsdb-server is not distributed, which means you cannot have a cluster or redundancy/high availability to your instance which has a critical job in the process. • Scale • since ovsdb-server is not distributed it also does not support load sharing, this means that all controllers connect to the same instance and hence can introduce bottlenecks on busy setups, this doesn't scale up well. • Different environments might have different requirements • Different users might need different solutions for DB distribution in regards to latency / configuration changes / resource availability to run the control plane software / SLA regarding configuration loses and so on, this approach means that ovsdb-implementation must support all possible use cases. • Locked-In Solution • User/Cloud admin is locked to a single solution implementation which is not necessary related to network virtualization
  • 21. References & more reading • http://docs.openstack.org/developer/networking-ovn/readme.html • http://galsagie.github.io/tags/#OVN • http://benpfaff.org/~blp/dist-docs/ovn-architecture.7.html • https://wiki.opnfv.org/_media/ovn-opnfv-summit2015.pdf • http://openvswitch.org/support/slides/OVN_Tokyo.pdf • http://openvswitch.org/pipermail/discuss/2015- November/019317.html • http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2015- November/006641.html