Openswitch
Openswitch
Paul Sim
Cloud Consultant
[email protected]
Index
OpenvSwitch Overview
OpenvSwitch Architecture
Configuration
OpenvSwitch Demo
Virtual Network with OpenvSwitch
OpenStack with OpenvSwitch
Use-case
OpenvSwitch Overview
OpenvSwitch Architecture
user space
ovs-vsctl
ovsdb-client
ovs-appctl
ovs-dpctl
ovs-brcompatd
Remote
OpenvSwitch db
OVS Management
(JSON RPC)
ovsdb-server
ovs-vswitchd
OpenFlow
Controller
OpenFlow
Kernel space
ovs-ofctl
brcompat.ko
Netlink
openvswitch.ko
Kernel Datapath(Fast Path)
VM
tap
vNIC
OpenvSwitch Architecture
VM
VM
vNIC
vNIC
tap1
tap2
Port
Flow table
vnet0
vnet1
Packet flows
br-ovs
bond0
eth0
eth2
eth1
eth2
Bridge
Interface
OpenvSwitch Architecture
Configuration
Table
Open_vSwitch
Bridge
Port
Interface
QoS
Purpose
Open vSwitch conguration
Bridge conguration
Port conguration
One physical network device in a Port
Quality of Service conguration
Queue
Mirror
Port mirroring
Controller
Manager
NetFlow
NetFlow conguration
SSL
sFlow
Capability
SSL conguration
sFlow conguration
Capability configuration
$man ovs-vswitchd.conf.db
Configuration sample(1)
~$ sudo ovs-vsctl show
225d73cc-15b3-4db5-9b45-e783f7c49a10
Bridge br-tun
Port "gre-3"
Interface "gre-3"
type: gre
options: {in_key=flow, out_key=flow, remote_ip="
Bridge br-int
192.168.0.10"}
Port "tap1"
Port br-tun
tag: 1
Interface br-tun
Interface "tap1"
type: internal
Port "tap2"
Port patch-int
tag: 1
Interface patch-int
Interface "tap2"
type: patch
Port br-int
options: {peer=patch-tun}
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Configuration sample(2)
VM
VM
vNIC
vNIC
tap1
tap2
br-int
gre3
patch-tun
patch-int
br-tun
eth0
External IP
eth1
192.168.0.20
eth2
192.168.10.20
GRE tunnel
192.168.0.10
eth0
VM
VM
VM
VM
vNIC
vNIC
vNIC
vNIC
tap1
tap2
tap1
tap2
OpenvSwitch Bridge
gre-1
GRE tunnel
gre-1
OpenvSwitch Bridge
eth1
eth1
Switch
Tunneling network
192.168.0.0/24
eth0
eth0
eth0
eth0
Controller node
Network node
Compute node - 1
Compute node - 2
Nova
Keystone
Neutron - Server
Neutron agent
Neutron agent
Glance
Horizon
Neutron L3-agent
Neutron
OpenvSwitch Plug-in
Neutron
OpenvSwitch Plug-in
Nova compute
Nova compute
eth1
eth2
eth1
eth2
eth1
eth2
Management 192.168.0.0/24
Data 192.168.10.0/24
eth1
eth2
Compute node - 1
gre-2
gre-2
qr~~~
br-tun
qg~~~
br-tun
tap~~~
VM
VM
tap1
tap2
Tunnel
br-ext
gre-1
br-int
eth0
gre-1
br-int
eth0
VM
VM
VM
VM
VM
VM
vNIC
vNIC
vNIC
vNIC
vNIC
vNIC
OpenFlow
OpenvSwitch
Hypervisor
NSX Controller
Cluster
Hypervisor
NIC
NIC
Switch
Overlay networking
GRE & STT
Centralized Controller
MAC-over-GRE
ARP Proxy : No MAC flooding
Security : OpenvSwitch
Use-case - MidoNet
VM
vNIC
VM
vNIC
VM
MidoNet
Agent
VM
vNIC
vNIC
MidoNet
Agent
Distributed
Database
OpenvSwitch
Hypervisor
Hypervisor
NIC
MidoNet
Controller
NIC
Switch
Use-case - Pica8
High performance and ultra-low latency packet switching of OpenvSwitch using Intel
DPDK(Data Plane Development Kit) acceleration technology.
DPDK vSwitch suggests modified Qemu and OpenvSwitch.
6WIND clams 6WINDGate shows 10x faster performance than standard OpenvSwitch.
http://www.6wind.com/wp-content/uploads/PDF/prod/6WIND-Virtual-Switch-Product-Brief.pdf