baseboxd and its OpenStack integration · baseboxd and its OpenStack integration Tobias Jungel –...
Transcript of baseboxd and its OpenStack integration · baseboxd and its OpenStack integration Tobias Jungel –...
Using OpenStack you get*
● Software router● Software tunneling● Software NAT
● Configure actual network hardware on your own and out of band
*) you can get more...
What you want
● Hardware Accelerated Routing● Hardware Accelerated Tunneling● Hardware Accelerated NAT● Fast Packet IO between VMs
General ASIC pipeline
Decap: GRE, NVGRE,VxLAN, MAC-in-MAC, ...
Port PortTunnelTermination
L2/L3/MPLS
ACL QoS ModificationsVLAN
Decap VLAN, Q-in-QFilter VLAN
BridgingRouting
Content AwareProcessing
Rate Limiting, Scheduling
Encap VLAN, Tunnels
Vendors Overview
● Manufacturer: Broadcom, Quanta, Accton, Delta Networks, Juniper, Cisco
● Reseller: DELL, IW Networks, Edge-Core, Agema Systems
● Switching Chip Designer: Broadcom*
*) yes, there some other
Control a BCM ASIC
Broadcom SDK
OpenNSL OF-DPAFastpath & ICOS, Ipinfusion,
BSN, pica8, cumulus, ...
Open SourceOpen API
ASIC
OpenNSL
● Kernel Network (KNET) Configuration● Layer 2 Address Management● Layer 3 Management● Link Monitoring and Notification● Port Configuration● Statistics● Spanning Tree Groups● Switch Control APIs● Trunking● Packet Transmit and Receive● VLAN Configuration● Warm Boot● Buffer Statistics Tracking (BST)● Packet Trace
OF-DPA
● Layer 2 Address Management● Layer 3 Management● Port and Flow Events● Port Configuration● Flow Statistics● Packet Transmit and Receive● VLAN Configuration● Tunnel Configuration (VxLAN)● MPLS Configuration (VPN, LER, LSR, TP)● QoS (classification, metering, marking,
shaping)● OAM (ITU G.8113.1 and Ethernet OAM
over MPLS-TP)
baseboxd
● Map physical switch interfaces to Linux as tap interfaces
● Send/receive packets via tap interfaces to/from switch
● Control switching tables via netlink● OF 1.3 is used as control protocol (with BCM
extensions)
Why?
baseboxd
Netlink
Quagga
BIRDIP
Ansible/Chef/Puppet/Salt/...
OpenFlowOF-Config
SNMP
collectd
User Space
Kernel Space
InterfacesRouting Bridging VLANnftables
Simple integration of existing tools:
baseboxd and CAR
baseboxd
CAR
OF-Switch 1 OF-Switch n
OpenFlow (and OF-Config)
OpenFlow (and OF-Config)CAR (Capability Aware Routing)● Capability detection● Topology detection● Detailed Network Statistics
OpenStack Neutron
Neutron Server
Core Plugins Services
ML2
Ven
dor
Plu
gins
Fire
wal
l
L3 R
oute
r
Load
Bal
ance
r
L3 R
oute
r
Type Drivers Mechanism Drivers
...
flat
gene
ve
gre
gre
flat
gene
ve
gre
Linu
x br
idge
OD
L
OV
S
Ven
dor
Plu
gin
OF-Switch
OpenStack Integration
OF-Switch
NeutronML2 Plugin
ServersServers
ServersServers
baseboxd
CAR
Netlink or using iproute2
OF-Switch
OpenStack Integration cont.
OF-Switch
Neutron Plugin
Servers vswitchServers vswitch
ServersServers
baseboxd
CAR
vswitchvswitch
Novascheduler
Embedding based onnetwork and computecapacity
What's up next?
● basebox– Finalize ML2 Plugin
– Finalize L3
– Support NAT
– OF-Config for switch configuration
– TTP to select the right driver
● OS integration– Involve nova scheduler for embedding