Open vSwitch in Neutron Performance Challenges and Hardware O ffl oad - - PowerPoint PPT Presentation

open vswitch in neutron
SMART_READER_LITE
LIVE PREVIEW

Open vSwitch in Neutron Performance Challenges and Hardware O ffl oad - - PowerPoint PPT Presentation

Open vSwitch in Neutron Performance Challenges and Hardware O ffl oad Date: Hong Kong, 6th Nov. 2013 Authors: Yongsheng Gong gongysh@unitedstack.com Bo Liang liang.bo@99cloud.net 1 197 Deployments Hyper-V 5% Nicira 5% Brocade 3% big


slide-1
SLIDE 1

Date: Authors:

Open vSwitch in Neutron

1

Performance Challenges and Hardware Offload

Hong Kong, 6th Nov. 2013 Yongsheng Gong gongysh@unitedstack.com Bo Liang liang.bo@99cloud.net

slide-2
SLIDE 2

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

197 Deployments

2 Hyper-V 5% Nicira 5% Brocade 3% big switch 2% NEC 2% Source Reference: http://www.openstack.org/summit/portland-2013/session-videos/presentation/

  • penstack-user-committee-update-and-survey-results
slide-3
SLIDE 3

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Agendas

3

1

Open vSwitch usages in Neutron

2

Open vSwitch & Openflow

3

Problem Statement

4

Acceleration Solutions

slide-4
SLIDE 4

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Open vSwitch usages in Neutron

4

slide-5
SLIDE 5

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Popular Deployment

5

Public Switch 10.10.1.0/24

  • CONTROLLER
  • KEYSTONE

NOVA-COMPONENTS GLANCE NEUTRON-SERVER CINDER

  • NETWORK NODE
  • OVS-AGENT

DHCP-AGENT L3-AGENT METADATA-AGENT

  • COMPUTE NODE
  • NOVA-COMPUTE

OVS-AGENT

Private Switch 172.16.0.0/24

OVS OVS

slide-6
SLIDE 6

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

  • COMPUTE NODE

OVS

phynet gre br-int

  • COMPUTE NODE

OVS

phynet gre br-int

  • COMPUTE NODE

OVS

phynet gre br-int

VM Traffic Path

6

slide-7
SLIDE 7

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

VLAN Bridges

7

  • Router

br-int br-ex

br-eth1 qr-c0bfa11f-ce(tag=1) tapcfbfc01f-a1(tag=1)

10.0.0.1 10.0.0.2

eth1 qg-9c24ade1c0-c1 eth2

  • br-int

br-eth1 (veth) tap99c710cc-ce(tag=1) tapa98bfce2c-11(tag=1) eth1

vlan100 74.125.31.101 74.125.31.1 74.125.31.254 10.0.0.3 10.0.0.4 veth

slide-8
SLIDE 8

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

GRE Bridges

8

  • br-tun

Router

br-int br-ex

gre-2(remote_ip=“1.1.1.2”)

patch-int (peer=patch-tun) patch-int (peer=patch-tun) qr-c0bfa11f-ce(tag=1) tapcfbfc01f-a1(tag=1) ★

10.0.0.1

10.0.0.2

eth1

1.1.1.1

qg-9c24ade1c0-c1 eth2

  • br-tun

br-int

gre-2(remote_ip=“1.1.1.1”)

patch-int (peer=patch-tun) patch-int (peer=patch-tun) tap99c710cc-ce(tag=1) tapa98bfce2c-11(tag=1) eth1

1.1.1.2

74.125.31.101

74.125.31.1 74.125.31.254 10.0.0.3 10.0.0.4

slide-9
SLIDE 9

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Neutron Workflow

9

1

Start Neutron-Server

2

Start Open vSwitch Agent OVS ETH1 ETH2

BR-INT BR-EX BR-TUN

3

Start L3-Agent

4

Start DHCP-Agent

5

Start METADATA-Agent

QDHCP QROUTER

6

Create Networks

7

Create Routers

VM1

8

Boot VMs dnsmasq gives ip: 10.0.0.2 set gateway 10.0.0.1

slide-10
SLIDE 10

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

GRE Tunnel

10 Host1 Host2 Host3 Tunnel 1-2 Tunnel 1-3 Tunnel 2-3

slide-11
SLIDE 11

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Open vSwitch & Openflow

11

slide-12
SLIDE 12

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Open vSwitch & Openflow

12 OVS Openfmow Controller Secure Channel Openfmow Protocol BR

1 2 3 4 5 6 7

L2 switching:“in_port=*,actions=output:7”

incoming packet packet

Broadcast:“in_port=1,actions=output:flood”

incoming packet packet packet packet packet packet packet

  • vsdb
slide-13
SLIDE 13

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Flow Tables with L2 Population

13 Table 10

LEARN_FROM_TUN

Table 2

GRE_TUN_TO_LV

Table 0 Table 1

PATCH_LV_TO_TUN

Table 20

UCAST_TO_TUN

Table 21

FLOOD_TO_TUN

dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 1 Patch in port in_port=2 in_port=1 dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 2 GRE Tunnel Port

  • vs bridge br-tun
slide-14
SLIDE 14

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Problem Statement

14

slide-15
SLIDE 15

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

GRE Head

15 OUTER IP HEADER GRE HEADER INNER IP HEADER PAYLOAD GRE HEADER Checksum Key Sequence Number Reserved Protocol C K S Reserved VER HTTP Server MTU Compatible Problem

slide-16
SLIDE 16

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

MTU Comparison

16

mtu1400 mtu 1500

slide-17
SLIDE 17

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

GRE Tunnel Extensibility

17

Tunnels: N - 1

slide-18
SLIDE 18

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Flow Match

18 user space kernel Source Destination

  • First Packet
  • Subsequent
slide-19
SLIDE 19

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Improved Architecture

19

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int

  • COMPUTE NODE

OVS/LinuxBridge

phynet br-int A Switch Running OVS A Switch Running OVS Tunnel Between Switchs

slide-20
SLIDE 20

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Other Solutions

  • Flow Matching
  • DPDK, PF_RING, netmap
  • GRE Tunnel
  • VxLAN

20

slide-21
SLIDE 21

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

OVS Hardware Comparison

21

  • vs

centec v330

slide-22
SLIDE 22

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

OVS Debugging Tips

  • Test basic connectivity
  • Use tcpdump to see if expected packets are on the

wire

  • Try it without OVS
  • Use “ovs-ofctl dump-flows bridge” to see if packets

hit the flows

22

slide-23
SLIDE 23

PAGE:

OPEN VSWITCH USAGES IN NEUTRON

Date: Hong Kong, 6th Nov. 2013 Authors: Yongsheng Gong, Bo Liang

23

Thanks!

That’s all for today