7. Design Goals
Open vSwitch / Linux Bridge
Ryu OpenFlow
Controller
• Unified API
• Small Core
• Pluggable Open Architecture
• Multiple Vendor Support
• Extensible
10. neutron-server
REST API
SERVICE
RPC SERVICE
PLUGIN
REST API
SERVICE
RPC SERVICE
• REST API
• HTTP(S) Python WSGI Application
• Customary TCP port is 9696
• Exposes logical resources
• networks, subnets, ports, etc
• Request/Response Serialization
• RPC Service
• AMQP via Oslo messaging modules
• Enables bidirectional agent communication
• Optional
neutron-server
14. Plugin Extensions
• Add logical resources to the REST API
• Discovered by server at startup
• REST: /v2.0/extensions
• Common Extensions
• Binding, DHCP, L3, Provider, Quota, Security Group
• Other Extensions
• Allowed Addresses, Extra Routes, Metering
15. Monolithic Plugin
• Full implementation of core resources
• Two types:
• Proxy
• Direct control PLUGIN
16. ML2: Modular Layer 2 Plugin
• Full V2 Plugin Implementation
• Delegates calls to proper L2 drivers
• Two kinds of drivers
• Type Driver
• Mechanism Driver Mech Mgr
PLUGIN
Type Mgr
PLUGIN
19. L2 Agent
• Runs on hypervisor
• Watch and notify when devices added/removed
• Wires new devices to bridge
• Proper network segment
• Security Group Rules
25. Linux Network Namespace
• Isolated copy of network stack
• private loopback
• scope limited to namespace
• can reuse addresses
• Explicit configuration needed to connect
• Processes can spawn within namespace
lo
eth1
eth0
lo
eth1
eth0
lo
eth1
eth0
Host A B
br-int
27. L3 Agent How it’s implemented
• Manages Collection of Network Namespaces
• Isolated IP Stacks
• Forwarding Enabled
• net.ipv4.ip_forward=1
• Static Routing
• Metadata Proxy
lo
eth1
eth0
lo
qg-2
qr-1
lo
qg-b
qr-e
Host A B
br-ex
28. New in Icehouse
• 4 New Plugins/Drivers
• Stability Improvements
• Externally Tested Vendor Plugins
• Performance Improvements
29. Looking ahead to Juno
• Nova-Network Migration
• Distributed Virtual Routers
• IPv6
• Multi Vendor Service Support
30. More Information
• Cloud Administrator Guide
• http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html
• Network v2.0 API
• http://developer.openstack.org/api-ref-networking-v2.html