SlideShare a Scribd company logo
1 of 24
Distributed Virtual Router 
Introduced in the Juno Release of OpenStack Neutron 
Carl Baldwin 
DVR Illustrations courtesy of Jack McCann 
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
DVR Architecture 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Neutron deployment architecture without DVR 
neutron-server 
API 
auth 
ML2 plug-in 
database 
Network Service Node(s) 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 3 to change without notice. 
Compute hosts 
DHCP agent 
L3 agent 
message 
queue 
Metadata agent 
ovs agent 
Nova metadata 
ovs agent 
Open 
vSwitch 
Open 
vSwitch
Neutron deployment architecture with DVR 
neutron-server 
API 
auth 
ML2 plug-in 
database 
Metadata agent 
L3 agent 
message 
queue 
Network Service Node(s) 
Compute hosts 
DHCP agent 
Metadata agent Nova metadata 
L3 agent agent_mode = dvr 
ovs agent 
w/dvr agent 
Nova metadata 
ovs agent 
Open 
vSwitch 
Open 
vSwitch 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 4 to change without notice. 
enable_distibuted_routing = True 
programs DVR flow handling 
external network 
compute nodes on external 
network
API extension 
Adds ‘distributed’ attribute to ‘router’ object 
• Can be set by admin user through the API 
• Global default is set as “router_distributed” in neutron.conf 
• Default is False 
• The attribute is only visible to admin tenant in GET 
• Cannot be updated 
• Work in progress to allow update from False to True 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 5 to change without notice.
DVR – East-West (subnet-to-subnet) 
“VM1-1 
QRouter-X 
S1.1 S2.1 
br-int 
patch-tun 
eth0 
ARP for gw 
kept local 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 6 to change without notice. 
“VM2-1 
br-int 
patch-tun 
eth0 
QRouter-X 
S1.1 S2.1 
same gw IP/MAC 
on each node 
no remote bcast 
in to routers
DVR – North-South (floating IP) 
“VM1-1 
“VM2-1 
br-int 
QRouter-Y 
qr rfp-y 
floating IP namespace 
br-ex 
external-vlan 
eth0 
QRouter-X 
qr rfp-x 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 7 to change without notice. 
floating IP NAT in router ns 
default route via FIP-NS 
local addressing connects QR to FIP-NS 
floating IP host routes pointing to QR 
proxy-arp for floating IPs on br-ex 
(future option: BGP route injection) 
fpr-x fpr-y 
fg-u
DVR – North-South (default SNAT) 
br-int 
snat-Y 
qr qg-x 
br-ex 
external-vlan 
eth0 
snat-X 
qr qg-x 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 8 to change without notice. 
default SNAT in snat namespace 
default route via br-ex
Database 
router_extra_attributes 
router_id string uuid 
distributed boolean 
dvr_host_macs 
host string 255 
mac_address string 32 
ml2_dvr_port_bindings - port binding for all the 
ports associated to a DVR identified by router_id 
port_id string uuid 
host string 
router_id string uuid 
vif_type string 
vif_details string 
vnic_type string 
profile string 
cap_port_filter boolean 
driver string 
segment string 
status string 
csnat_l3_agent_bindings 
router_id string uuid 
l3_agent_id string uuid 
host_id string 
csnat_gw_port_id string uuid 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 9 to change without notice.
config file options 
neutron.conf 
[DEFAULT] 
router_distributed = False 
dvr_base_mac = fa:16:3f:00:00:00 
ovs_neutron_plugin.ini 
[agent] 
enable_distributed_routing = False # Make the l2 agent run in dvr mode 
l3_agent.ini 
[DEFAULT] 
agent_mode = legacy # legacy, dvr, or dvr_snat 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 10 to change without notice.
OVS Flow Handling 
How to Distribute the Router’s Internal Port 
• ARP Requests to Router Port are Blocked from the Tunnel 
• These ARP requests should only be seen by the local port 
• Source Mac is Mapped to Host Mac on Overlay Network 
• All traffic generated by the 
• A mac address is allocated for each compute host 
• Mapping must be done on both ends of the tunnel 
• Destination Mac Blocked from Overlay 
• These should go to the local port 
• They would create mac ambiguity in the overly 
• L2 Pre-Population is Required 
• “Prevent(s) multiple unicast of routed packets destined to remove VMs.” 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 11 to change without notice.
DVR Limitations 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Default SNAT still centralized 
snat-Y 
qr qg-x 
br-ex 
external-vlan 
eth1 
“VM1-1 
qrouter-X 
S1.1 S2.1 
br-int 
patch-tun 
eth0 
br-int 
patch-tun 
eth0 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 13 to change without notice.
Floating IP Namespace 
• Pros 
• Eliminates Need for Public Address/IR 
• Keeps IR Macs Off External Net 
• Cons 
• Extra Complexity in L3 Agent 
• Still Consumes a Public Address / CN 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 14 to change without notice. 
QRouter-Y 
qr rfp-y 
fpr-x fpr-y 
floating IP namespace 
fg-u 
eth0 
QRouter-X 
qr rfp-x 
br-ex 
external-vlan
Heavy L2 Integration 
• Led to Initial Dependence on OVS and Tunnel Protocols 
• Mitigate Scope Creep 
• Distributed Port Concept Needs to be Abstracted 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 15 to change without notice.
Firewall as a Service (FWaaS) Complexity 
• External Net Connects to Hypervisors 
• FWaaS is Needed There Too. 
• Asymmetric Routing Problem 
• E/W Routing 
“VM1-1 
QRouter-X 
S1.1 S2.1 
br-int 
patch-tun 
eth0 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 16 to change without notice. 
“VM2-1 
br-int 
patch-tun 
eth0 
QRouter-X 
S1.1 S2.1
Contributing DVR 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Initial Development on Havana 
Pros and Cons 
• Stable Code Base 
• No Risk of External Regression 
• Very Large Effort to Integrate 
• Upstream Moves Quickly 
• Subject to Regression 
• Comm. Standard Enforcment 
• Code Style 
• No Demand for Unit or Functional Tests 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 18 to change without notice.
Initial Development on Havana 
If We had to do it Over Again… 
• Contribute Smaller, More Focused Patches to Trunk 
• Start with Pure Refactoring Needed to Ease Development 
• Develop Unit Tests for Code that will be Modified 
• Move Gradually Beyond Refactoring to Other Improvements 
• Divide Implementation According to Themes 
• Develop Unit Tests (TDD) and Functional Tests to Prevent Regression 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 19 to change without notice.
Divided in to 7 Patches 
• Division According to Component 
• Patches Added Unused Code for Later Patches 
• Indicates there are themes that cross patch boundaries 
• Each Patch Had Multiple Active Authors 
• Indicates possibly more than one theme in the patch 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 20 to change without notice.
Handling Multiple Changes 
• Dependency Order Not Linear 
• Should it be? 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 21 to change without notice.
Handling Multiple Changes 
It is Never Linear!!! 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 22 to change without notice.
Handling Multiple Changes 
Enemy Number One! 
• Automatic Rebase Feature 
• Default behavior of “git review” 
• Most of the Time it is Disruptive 
• Sometimes it is Destructive 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 23 to change without notice.
Handling Multiple Changes 
Enemy Number One! 
• Clobbered API Extension!! 
• Happened More than Once 
• Use --no-rebase Always 
• Rebase on Merge Conflict 
• Work from the bottom up 
• Merge Faster 
• Smaller, more focused patches 
• Continuous community involvement 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 24 to change without notice.

More Related Content

What's hot

OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?Yongyoon Shin
 
Vxlan control plane and routing
Vxlan control plane and routingVxlan control plane and routing
Vxlan control plane and routingWilfredzeng
 
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
 
[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우NAVER D2
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201Manabu Ori
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutronrktidwell
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVRToru Makabe
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, greSim Janghoon
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)JuHwan Lee
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
ACI MultiFabric 소개
ACI MultiFabric 소개ACI MultiFabric 소개
ACI MultiFabric 소개Woo Hyung Choi
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)rootfs32
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 

What's hot (20)

OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?
 
Vxlan control plane and routing
Vxlan control plane and routingVxlan control plane and routing
Vxlan control plane and routing
 
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
 
[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우
 
EVPN for Cloud Builders
EVPN for Cloud BuildersEVPN for Cloud Builders
EVPN for Cloud Builders
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutron
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
Neutron packet logging framework
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging framework
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
ACI MultiFabric 소개
ACI MultiFabric 소개ACI MultiFabric 소개
ACI MultiFabric 소개
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 

Viewers also liked

OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodesclayton_oneill
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutronmestery
 
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
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorialmestery
 
OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6Shixiong Shang
 
VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)Netwax Lab
 
Openstack glance
Openstack glanceOpenstack glance
Openstack glanceSHAMEEM F
 
Planification urbaine SNAT et SRAT
Planification urbaine SNAT et SRATPlanification urbaine SNAT et SRAT
Planification urbaine SNAT et SRATArchi Guelma
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerLew Tucker
 
20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석rootfs32
 
20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석rootfs32
 
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
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutronmarkmcclain
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveMirantis
 
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...Jigserv Digital
 
Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015XebiaLabs
 
The Urban Resilience Summit: Executive Summary (2014)
The Urban Resilience Summit: Executive Summary (2014)The Urban Resilience Summit: Executive Summary (2014)
The Urban Resilience Summit: Executive Summary (2014)The Rockefeller Foundation
 
Liliana mendes aula vhc GENOTIPO 3 share
Liliana mendes aula vhc GENOTIPO 3 shareLiliana mendes aula vhc GENOTIPO 3 share
Liliana mendes aula vhc GENOTIPO 3 shareLiliana Mendes
 
IT Week 2016 春 | IoT本格化の切り札
IT Week 2016 春 | IoT本格化の切り札IT Week 2016 春 | IoT本格化の切り札
IT Week 2016 春 | IoT本格化の切り札SORACOM,INC
 

Viewers also liked (20)

OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodes
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutron
 
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 ...
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6
 
VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)
 
Openstack glance
Openstack glanceOpenstack glance
Openstack glance
 
Neutron DVR
Neutron DVRNeutron DVR
Neutron DVR
 
Planification urbaine SNAT et SRAT
Planification urbaine SNAT et SRATPlanification urbaine SNAT et SRAT
Planification urbaine SNAT et SRAT
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew Tucker
 
20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석
 
20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석20150818 jun lee_openstack juno release 내용 분석
20150818 jun lee_openstack juno release 내용 분석
 
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)
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...
Designing digital strategies a practitioners approach - Vinay Krishna - Jigse...
 
Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015
 
The Urban Resilience Summit: Executive Summary (2014)
The Urban Resilience Summit: Executive Summary (2014)The Urban Resilience Summit: Executive Summary (2014)
The Urban Resilience Summit: Executive Summary (2014)
 
Liliana mendes aula vhc GENOTIPO 3 share
Liliana mendes aula vhc GENOTIPO 3 shareLiliana mendes aula vhc GENOTIPO 3 share
Liliana mendes aula vhc GENOTIPO 3 share
 
IT Week 2016 春 | IoT本格化の切り札
IT Week 2016 春 | IoT本格化の切り札IT Week 2016 春 | IoT本格化の切り札
IT Week 2016 春 | IoT本格化の切り札
 

Similar to OpenStack Neutron's Distributed Virtual Router

Hp helion meetup_networking_sdn
Hp helion meetup_networking_sdnHp helion meetup_networking_sdn
Hp helion meetup_networking_sdnMarton Kiss
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioDevOps4Networks
 
Virtualization & Network Connectivity
Virtualization & Network Connectivity Virtualization & Network Connectivity
Virtualization & Network Connectivity itplant
 
DPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al SandersDPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al SandersJim St. Leger
 
Open stackbrief happylearning
Open stackbrief happylearningOpen stackbrief happylearning
Open stackbrief happylearningLigong Duan
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundChef Software, Inc.
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller UmgebungenStefan Bergstein
 
Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740Saurav Aich
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvIntel
 
Openstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackOpenstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackMarie-Paule Odini
 
Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstackIkuo Kumagai
 
Juniper Contrail VNS A BASIC introduction
Juniper Contrail VNSA BASIC introductionJuniper Contrail VNSA BASIC introduction
Juniper Contrail VNS A BASIC introductionMarketingArrowECS_CZ
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitmatsunota
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PROIDEA
 

Similar to OpenStack Neutron's Distributed Virtual Router (20)

L2 and L3 agent restructure
L2 and L3 agent restructureL2 and L3 agent restructure
L2 and L3 agent restructure
 
Hp helion meetup_networking_sdn
Hp helion meetup_networking_sdnHp helion meetup_networking_sdn
Hp helion meetup_networking_sdn
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
 
2012 ah vegas remote networking fundamentals
2012 ah vegas   remote networking fundamentals2012 ah vegas   remote networking fundamentals
2012 ah vegas remote networking fundamentals
 
Virtualization & Network Connectivity
Virtualization & Network Connectivity Virtualization & Network Connectivity
Virtualization & Network Connectivity
 
DPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al SandersDPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al Sanders
 
Open stackbrief happylearning
Open stackbrief happylearningOpen stackbrief happylearning
Open stackbrief happylearning
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
 
Online spanish meetup #2
Online spanish meetup #2Online spanish meetup #2
Online spanish meetup #2
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller Umgebungen
 
Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
 
Openstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackOpenstack meetup: NFV and Openstack
Openstack meetup: NFV and Openstack
 
Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstack
 
Juniper Contrail VNS A BASIC introduction
Juniper Contrail VNSA BASIC introductionJuniper Contrail VNSA BASIC introduction
Juniper Contrail VNS A BASIC introduction
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
2012 ah vegas top10 tips from aruba tac
2012 ah vegas   top10 tips from aruba tac2012 ah vegas   top10 tips from aruba tac
2012 ah vegas top10 tips from aruba tac
 
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

OpenStack Neutron's Distributed Virtual Router

  • 1. Distributed Virtual Router Introduced in the Juno Release of OpenStack Neutron Carl Baldwin DVR Illustrations courtesy of Jack McCann © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 2. DVR Architecture © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 3. Neutron deployment architecture without DVR neutron-server API auth ML2 plug-in database Network Service Node(s) © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 3 to change without notice. Compute hosts DHCP agent L3 agent message queue Metadata agent ovs agent Nova metadata ovs agent Open vSwitch Open vSwitch
  • 4. Neutron deployment architecture with DVR neutron-server API auth ML2 plug-in database Metadata agent L3 agent message queue Network Service Node(s) Compute hosts DHCP agent Metadata agent Nova metadata L3 agent agent_mode = dvr ovs agent w/dvr agent Nova metadata ovs agent Open vSwitch Open vSwitch © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 4 to change without notice. enable_distibuted_routing = True programs DVR flow handling external network compute nodes on external network
  • 5. API extension Adds ‘distributed’ attribute to ‘router’ object • Can be set by admin user through the API • Global default is set as “router_distributed” in neutron.conf • Default is False • The attribute is only visible to admin tenant in GET • Cannot be updated • Work in progress to allow update from False to True © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 5 to change without notice.
  • 6. DVR – East-West (subnet-to-subnet) “VM1-1 QRouter-X S1.1 S2.1 br-int patch-tun eth0 ARP for gw kept local © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 6 to change without notice. “VM2-1 br-int patch-tun eth0 QRouter-X S1.1 S2.1 same gw IP/MAC on each node no remote bcast in to routers
  • 7. DVR – North-South (floating IP) “VM1-1 “VM2-1 br-int QRouter-Y qr rfp-y floating IP namespace br-ex external-vlan eth0 QRouter-X qr rfp-x © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 7 to change without notice. floating IP NAT in router ns default route via FIP-NS local addressing connects QR to FIP-NS floating IP host routes pointing to QR proxy-arp for floating IPs on br-ex (future option: BGP route injection) fpr-x fpr-y fg-u
  • 8. DVR – North-South (default SNAT) br-int snat-Y qr qg-x br-ex external-vlan eth0 snat-X qr qg-x © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 8 to change without notice. default SNAT in snat namespace default route via br-ex
  • 9. Database router_extra_attributes router_id string uuid distributed boolean dvr_host_macs host string 255 mac_address string 32 ml2_dvr_port_bindings - port binding for all the ports associated to a DVR identified by router_id port_id string uuid host string router_id string uuid vif_type string vif_details string vnic_type string profile string cap_port_filter boolean driver string segment string status string csnat_l3_agent_bindings router_id string uuid l3_agent_id string uuid host_id string csnat_gw_port_id string uuid © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 9 to change without notice.
  • 10. config file options neutron.conf [DEFAULT] router_distributed = False dvr_base_mac = fa:16:3f:00:00:00 ovs_neutron_plugin.ini [agent] enable_distributed_routing = False # Make the l2 agent run in dvr mode l3_agent.ini [DEFAULT] agent_mode = legacy # legacy, dvr, or dvr_snat © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 10 to change without notice.
  • 11. OVS Flow Handling How to Distribute the Router’s Internal Port • ARP Requests to Router Port are Blocked from the Tunnel • These ARP requests should only be seen by the local port • Source Mac is Mapped to Host Mac on Overlay Network • All traffic generated by the • A mac address is allocated for each compute host • Mapping must be done on both ends of the tunnel • Destination Mac Blocked from Overlay • These should go to the local port • They would create mac ambiguity in the overly • L2 Pre-Population is Required • “Prevent(s) multiple unicast of routed packets destined to remove VMs.” © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 11 to change without notice.
  • 12. DVR Limitations © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 13. Default SNAT still centralized snat-Y qr qg-x br-ex external-vlan eth1 “VM1-1 qrouter-X S1.1 S2.1 br-int patch-tun eth0 br-int patch-tun eth0 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 13 to change without notice.
  • 14. Floating IP Namespace • Pros • Eliminates Need for Public Address/IR • Keeps IR Macs Off External Net • Cons • Extra Complexity in L3 Agent • Still Consumes a Public Address / CN © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 14 to change without notice. QRouter-Y qr rfp-y fpr-x fpr-y floating IP namespace fg-u eth0 QRouter-X qr rfp-x br-ex external-vlan
  • 15. Heavy L2 Integration • Led to Initial Dependence on OVS and Tunnel Protocols • Mitigate Scope Creep • Distributed Port Concept Needs to be Abstracted © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 15 to change without notice.
  • 16. Firewall as a Service (FWaaS) Complexity • External Net Connects to Hypervisors • FWaaS is Needed There Too. • Asymmetric Routing Problem • E/W Routing “VM1-1 QRouter-X S1.1 S2.1 br-int patch-tun eth0 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 16 to change without notice. “VM2-1 br-int patch-tun eth0 QRouter-X S1.1 S2.1
  • 17. Contributing DVR © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 18. Initial Development on Havana Pros and Cons • Stable Code Base • No Risk of External Regression • Very Large Effort to Integrate • Upstream Moves Quickly • Subject to Regression • Comm. Standard Enforcment • Code Style • No Demand for Unit or Functional Tests © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 18 to change without notice.
  • 19. Initial Development on Havana If We had to do it Over Again… • Contribute Smaller, More Focused Patches to Trunk • Start with Pure Refactoring Needed to Ease Development • Develop Unit Tests for Code that will be Modified • Move Gradually Beyond Refactoring to Other Improvements • Divide Implementation According to Themes • Develop Unit Tests (TDD) and Functional Tests to Prevent Regression © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 19 to change without notice.
  • 20. Divided in to 7 Patches • Division According to Component • Patches Added Unused Code for Later Patches • Indicates there are themes that cross patch boundaries • Each Patch Had Multiple Active Authors • Indicates possibly more than one theme in the patch © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 20 to change without notice.
  • 21. Handling Multiple Changes • Dependency Order Not Linear • Should it be? © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 21 to change without notice.
  • 22. Handling Multiple Changes It is Never Linear!!! © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 22 to change without notice.
  • 23. Handling Multiple Changes Enemy Number One! • Automatic Rebase Feature • Default behavior of “git review” • Most of the Time it is Disruptive • Sometimes it is Destructive © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 23 to change without notice.
  • 24. Handling Multiple Changes Enemy Number One! • Clobbered API Extension!! • Happened More than Once • Use --no-rebase Always • Rebase on Merge Conflict • Work from the bottom up • Merge Faster • Smaller, more focused patches • Continuous community involvement © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject 24 to change without notice.