SlideShare a Scribd company logo
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.
Ad

More Related Content

What's hot (20)

The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Te-Yen Liu
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
Aliasgar Ginwala
 
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
KwonSun Bae
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
rajdeep
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
HungWei Chiu
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
Aliasgar Ginwala
 
Packet flow on openstack
Packet flow on openstackPacket flow on openstack
Packet flow on openstack
Achhar Kalia
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조
Seung-Hoon Baek
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
Trinath Somanchi
 
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
Thomas Morin
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Nalee Jang
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
APNIC
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
 
MPLS L3 VPN Deployment
MPLS L3 VPN DeploymentMPLS L3 VPN Deployment
MPLS L3 VPN Deployment
APNIC
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
Faisal Reza
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
Michael Klishin
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
JuHwan Lee
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
Sim Janghoon
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
Sim Janghoon
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Te-Yen Liu
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
Aliasgar Ginwala
 
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
KwonSun Bae
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
rajdeep
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
HungWei Chiu
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
Aliasgar Ginwala
 
Packet flow on openstack
Packet flow on openstackPacket flow on openstack
Packet flow on openstack
Achhar Kalia
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조
Seung-Hoon Baek
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
Trinath Somanchi
 
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
Thomas Morin
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Nalee Jang
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
APNIC
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
 
MPLS L3 VPN Deployment
MPLS L3 VPN DeploymentMPLS L3 VPN Deployment
MPLS L3 VPN Deployment
APNIC
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
Faisal Reza
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
Michael Klishin
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
JuHwan Lee
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
Sim Janghoon
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
Sim Janghoon
 

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
clayton_oneill
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutron
mestery
 
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 Tutorial
mestery
 
OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6
Shixiong 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 glance
SHAMEEM F
 
Neutron DVR
Neutron DVRNeutron DVR
Neutron DVR
Edgar Magana
 
Planification urbaine SNAT et SRAT
Planification urbaine SNAT et SRATPlanification urbaine SNAT et SRAT
Planification urbaine SNAT et SRAT
Archi 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 Tucker
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 내용 분석
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
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutron
rktidwell
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
markmcclain
 
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
Mirantis
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
 
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 2015
XebiaLabs
 
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
 
OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodes
clayton_oneill
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutron
mestery
 
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 Tutorial
mestery
 
OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6
Shixiong 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 glance
SHAMEEM F
 
Planification urbaine SNAT et SRAT
Planification urbaine SNAT et SRATPlanification urbaine SNAT et SRAT
Planification urbaine SNAT et SRAT
Archi 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 Tucker
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 내용 분석
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
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutron
rktidwell
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
markmcclain
 
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
Mirantis
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
 
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 2015
XebiaLabs
 
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
 
Ad

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
Rossella Sblendido
 
Hp helion meetup_networking_sdn
Hp helion meetup_networking_sdnHp helion meetup_networking_sdn
Hp helion meetup_networking_sdn
Marton 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.io
DevOps4Networks
 
2012 ah vegas remote networking fundamentals
2012 ah vegas   remote networking fundamentals2012 ah vegas   remote networking fundamentals
2012 ah vegas remote networking fundamentals
Aruba, a Hewlett Packard Enterprise company
 
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 Sanders
Jim St. Leger
 
Open stackbrief happylearning
Open stackbrief happylearningOpen stackbrief happylearning
Open stackbrief happylearning
Ligong 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 Hedlund
Chef Software, Inc.
 
Online spanish meetup #2
Online spanish meetup #2Online spanish meetup #2
Online spanish meetup #2
Alexandra N. Martinez
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller Umgebungen
Stefan Bergstein
 
Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740
Saurav Aich
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
LinuxCon ContainerCon CloudOpen China
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
Intel
 
Openstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackOpenstack meetup: NFV and Openstack
Openstack meetup: NFV and Openstack
Marie-Paule Odini
 
Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstack
Ikuo Kumagai
 
Juniper Contrail VNS A BASIC introduction
Juniper Contrail VNSA BASIC introductionJuniper Contrail VNSA BASIC introduction
Juniper Contrail VNS A BASIC introduction
MarketingArrowECS_CZ
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
matsunota
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
Digicomp Academy AG
 
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
Thomas Graf
 
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
Aruba, a Hewlett Packard Enterprise company
 
Hp helion meetup_networking_sdn
Hp helion meetup_networking_sdnHp helion meetup_networking_sdn
Hp helion meetup_networking_sdn
Marton 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.io
DevOps4Networks
 
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 Sanders
Jim St. Leger
 
Open stackbrief happylearning
Open stackbrief happylearningOpen stackbrief happylearning
Open stackbrief happylearning
Ligong 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 Hedlund
Chef Software, Inc.
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller Umgebungen
Stefan Bergstein
 
Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740Highavailability designs-for-juniper-netscreen-firewalls3740
Highavailability designs-for-juniper-netscreen-firewalls3740
Saurav Aich
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
Intel
 
Openstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackOpenstack meetup: NFV and Openstack
Openstack meetup: NFV and Openstack
Marie-Paule Odini
 
Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstack
Ikuo Kumagai
 
Juniper Contrail VNS A BASIC introduction
Juniper Contrail VNSA BASIC introductionJuniper Contrail VNSA BASIC introduction
Juniper Contrail VNS A BASIC introduction
MarketingArrowECS_CZ
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
matsunota
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
Digicomp Academy AG
 
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
Thomas Graf
 
Ad

Recently uploaded (20)

DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 

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.