Professional Documents
Culture Documents
Cloud Networking
#CLUS
Agenda
• Moving Packets in Software …
• Virtual Switches and SDN Controllers
• Performance
• Connecting to SP and DC Fabrics
• What about CNF’s?
• Conclusion
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Cisco Webex Teams
Questions?
Use Cisco Webex Teams to chat
with the speaker after the session
How
1 Find this session in the Cisco Live Mobile App
2 Click “Join the Discussion”
3 Install Webex Teams or go directly to the team space
4 Enter messages/questions in the team space
#CLUS © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
Moving Packets in Software
Reaching the VNF
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
PCIe 1
PCIe 2
770W AC 770W AC
PP PP P
PORT PORT S
2 1
SS
U
2
ACT LINK ACT LINK
M 2 1
CSR
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
Moving a Packet in Software
• Minimum size ethernet frame: 84 bytes
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
Receiving a Packet
Kernel User Space
Packet
Buffer
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
DMA
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Receiving a Packet
Kernel User Space
Packet
Buffer
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
IRQ Kernel
14 04
93 83
73 63
IRQ
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Receiving a Packet
Kernel User Space
Packet
Buffer
45
35
25
memcpy()
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Receiving a Packet
Kernel User Space
Packet sock_recv()
Buffer
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
Receiving a Packet
Kernel User Space
Packet
Buffer
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
No Free
32 22
12 02
OVERRUN
91 81
Buffers!
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
VPP
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
DPDK: PMD’s
Kernel User
Packet Application
Buffer
PMD
User Space
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
DPDK: PMD’s
Kernel User
Packet Application
Buffer
PMD
User Space
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
DMA
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
DPDK: PMD’s
Kernel User
Packet Application
Buffer
PMD
User Space
45
35
25
15
05
94
DMA
84
74 64
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Vector Packet Processing
Kernel User
Packet Application
Buffer
User Space
45
35
25
15
05
94
DMA
Happy
84
74 64
I-Cache!
54 44
34 24
Kernel
14 04
93 83
73 63
53 43
33 23
13 03
92 82
72 62
52
42
32 22
12 02
91 81
71 61
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
7
6
5
4
3
2
RX
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
VPP Modularity
mpls-
ethernet-
input
ip6-input ip6-lookup
arp-input
llc-input
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Virtual Switches
20
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
3M 22C
5 6 7 8 SCU
4
1 2 3
CSR
BRKCLD-2013
?
#CLUS
Host
Reaching the VNF
PCIe 1
PCIe 2
CA W0 77 CA W0 77
P PP PP
S TR OP TR OP
U SS
1 2
2
KNIL TCA KNIL TCA
1 2 M
45 35 25 15 05 94 84 74 64 54 44 34 24 14 04 93 83 73 63 53 43 33 23 13 03 92 82 72 62 52 42 32 22 12 02 91 81 71 61 51 41 31 21 11 01 9 8 7 6 5 4 3 2 1
XP2739C-K9N SUXEN OCSIC
21
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
3M 22C
5 6 7 8 SCU
4
1 2 3
VNF: CSR
NIC Driver
BRKCLD-2013
#CLUS
Host
Pass-Through
PCIe 1
PCIe 2
CA W0 77 CA W0 77
P PP PP
S TR OP TR OP
U SS
1 2
2
KNIL TCA KNIL TCA
1 2 M
45 35 25 15 05 94 84 74 64 54 44 34 24 14 04 93 83 73 63 53 43 33 23 13 03 92 82 72 62 52 42 32 22 12 02 91 81 71 61 51 41 31 21 11 01 9 8 7 6 5 4 3 2 1
XP2739C-K9N SUXEN OCSIC
22
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
3M 22C
5 6 7 8 SCU
4
1 2 3
CSR
BRKCLD-2013
VF
#CLUS
Host
Hardware VEB
PCI Express
.. VFn
Intel VT-d
.
VF2
VF1
PF
PCIe 1
PCIe 2
CA W0 77 CA W0 77
P PP PP
S TR OP TR OP
U SS
1 2
2
KNIL TCA KNIL TCA
SR-IOV
1 2 M
45 35 25 15 05 94 84 74 64 54 44 34 24 14 04 93 83 73 63 53 43 33 23 13 03 92 82 72 62 52 42 32 22 12 02 91 81 71 61 51 41 31 21 11 01 9 8 7 6 5 4 3 2 1
XP2739C-K9N SUXEN OCSIC
Virtual Switch: OVS 45
35
25
15
05
94
84
74 64
54 44
34 24
Miss! Miss!
14 04
93 83
73 63
53 43
33 23
Cache Cache
92 82
Processing
72 62
52
42
Install
32 22
Install
12 02
9
8
7
6
5
4
3
2
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
Virtual Switch: OVS 45
35
25
15
05
94
84
74 64
54 44
34 24
Hit!
14 04
93 83
73 63
53 43
33 23
Cache Cache
92 82
Processing
72 62
52
42
32 22
12 02
9
8
7
6
5
4
3
2
1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
OVS-DPDK 45
35
25
15
OVS
OVS-DPDK
13 03
92 82
72 62
52
42
32 22
12 02
Microflow Openflow
91 81
Cache
71 61
Processing
PMD
51 41
31 21
11 01
XP2739C-K9N SUXEN OCSIC
9
8
Megaflow
7
6
5
Cache
4
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Networking-vpp OS-api
EtcD
Subscribe Subscribe
VPP VPP
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
Control Plane OS-api
1
Request
Translate request
into desired state
EtcD
Desired state translated 3
into forwarding rules
VPP VPP
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
Data Plane
Compute-Node
VNF-a
vpp-agent
VPP
TOR
VNF-b
Pass-through
NIC
NIC VNF-x
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
Underlay vs Overlay
• API – OpenStack API end points for managing/using the NFVI
• External – Link to world beyond the cloud via OpenStack virtual routers (L3 agent)
• Management/Provisioning – PXE boot and OpenStack inter-service communication
• Provider – Link to existing infrastructure networks
• Tenant – Inter VM traffic via OpenStack tenant networks
• Storage – Ceph data replication traffic, access to Netapp or Cinder
• CVIM API – External access into CVIM mgmt. node, provides CVIM API
Provider
Management /
Provisioning
Tenant
Storage
OpenStack External
API
VTEP
header
VXLAN
Core VXLAN
Route on
destination VTEP Route on
destination VTEP
TOR TOR
VXLAN VXLAN
M 2 1
ACT LINK ACT LINK
2
SS
2 1 U M 2 1
PORT PORT S
PP PP P ACT LINK ACT LINK
2
770W AC 770W AC 2 1
SS
U
PORT PORT S
PP PP P
2 eICP
1 eICP
770W AC 770W AC
2 eICP
1 eICP
VPP VPP
VTEP Strip VXLAN Add VXLAN
VTEP
header header
IP
IP
CSR CSR
C22 M3
UCS 8 7 6 5
4
C22 M3
UCS 8 7 6 5
4
3 2 1
3 2 1
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
ACI Integration
S PINE S WITCH S PINE S WITCH
Controller 1 Controller 3
Controller 2 Storage 1
Storage 3 Storage 2
Compute 1 Compute 3
Compute 2 Compute 4
Compute 6 Compute 5
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
ACI Integration
S PINE S WITCH S PINE S WITCH
Controller 1 Controller 3
Controller 2 Storage 1
New Vlan Storage 3 Storage 2
Compute 6 Compute 5
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
ACI Integration
S PINE S WITCH S PINE S WITCH
Controller 1 Controller 3
Controller 2 Storage 1
Storage 3 Storage 2
Compute 6 Compute 5
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
Performance
Performance Numbers: Game on!
So we did:
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
Performance
• NUMA: NIC placement
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
Performance
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
SP and DC Fabric’s
Service Provider and the Challenge of Scale
VM
VM
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
Segment Routing
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
Architecture
Linecard -1 Compute - 1
Linecard -2
Compute - 2
Linecard -3
Linecard -4 Compute - 3
Compute - 4
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
SR EVPN: Data Path
NCS NCS
BGP BGP
NCS NCS
BGP BGP
Compute-x vpp-agent
BGP-LU vpp-forwarder
Compute-y vpp-agent
vpp-forwarder
BGP VPP-ctrl BGP VPP-ctrl BGP VPP-ctrl
Distributed State DB
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
SR Control Plane
RR RR
NCS NCS
BGP BGP
Compute-x vpp-agent
vpp-forwarder
BGP-EVPN
Compute-y vpp-agent
vpp-forwarder
BGP VPP-ctrl BGP VPP-ctrl BGP VPP-ctrl
Distributed State DB
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
SR Control Plane
RR RR
NCS NCS
BGP BGP
Compute-x vpp-agent
vpp-forwarder
Compute-y vpp-agent
vpp-forwarder
BGP VPP-ctrl BGP VPP-ctrl BGP VPP-ctrl
Distributed State DB
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 45
SR EVPN
NCS NCS
BGP BGP
Create Subnet
And VM
OS-api
Distributed State DB
Compute-x Compute-y
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
SR EVPN
RR
RR
NCS NCS
BGP BGP
OS-api
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
SR EVPN
NCS NCS
BGP BGP
Create Subnet
OS-api
in Openstack and
Controller-1 Controller-2 Controller-3
launch VM
BGP BGP BGP
Distributed State DB
Compute-x Compute-y
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
SR EVPN
NCS NCS
BGP BGP
Distributed State DB
Compute-x Compute-y
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
SR EVPN
NCS NCS
BGP BGP
Distributed State DB
Compute-x Compute-y
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
SR EVPN
NCS NCS
BGP BGP
OS-api VM is launched
Controller-1 Controller-2 Controller-3
BGP BGP BGP
Distributed State DB
Compute-x Compute-y
VM
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
SR EVPN: Data Path
NCS NCS
BGP BGP
Cisco VIM Tooling & Consistent Tooling & Consistent Tooling & Consistent Tooling &
Automation Automation Automation Automation
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
CCP
Or, What Kubernetes Does not Provide
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
Calico Cluser IP’s and Pod IP’s
RR
VM
VM
Loadbalancer node
K8’s Master
VM VM
Pod Pod Pod Pod
App App App App
App App
iBGP
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 56
Calico Data Plane
Container Container
Pod Pod
VM App App
Pod network namespace
App
Pod Pod
NIC driver
Host NIC
NIC NIC
1 or more
TOR hops
TOR
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
Conclusion
Conclusion
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
Complete your
online session • Please complete your session survey
evaluation after each session. Your feedback
is very important.
• Complete a minimum of 4 session
surveys and the Overall Conference
survey (starting on Thursday) to
receive your Cisco Live water bottle.
• All surveys can be taken in the Cisco Live
Mobile App or by logging in to the Session
Catalog on ciscolive.cisco.com/us.
Cisco Live sessions will be available for viewing
on demand after the event at ciscolive.cisco.com.
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
Continue your education
Demos in the
Walk-in labs
Cisco campus
#CLUS BRKCLD-2013 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 63
Thank you
#CLUS
#CLUS