Advanced Concepts ofDMVPN (Dynamic Multipoint VPN) PDF
Advanced Concepts ofDMVPN (Dynamic Multipoint VPN) PDF
Questions?
Use Cisco Spark to communicate
with the speaker after the session
How
1. Find this session in the Cisco Live Mobile App
2. Click “Join the Discussion”
3. Install Spark or go directly to the space
4. Enter messages/questions in the space
Physical: 172.17.0.1
Tunnel0: 10.0.0.1
Static known
IP address
Physical: dynamic
Tunnel0: 10.0.0.12
Dynamic
unknown
IP addresses Spoke B
.1
192.168.2.0/24
Physical: dynamic
Tunnel0: 10.0.0.11
Spoke A
.1 ...
192.168.1.0/24
DMVPN and IPv6
• IPv6 Passenger over DMVPN (IPv4 or IPv6) Transport
• IPv6 Passenger Addresses:
• NHRP requires IPv6 Unicast Global
• Routing Protocol requires IPv6 Link-local
• NHRP automatically registers both Unicast Global and Link-local Addresses
• IPv4 or IPv6 infrastructure transport network (separate mGRE tunnel interfaces)
• Both IPv4 and IPv6 (dual stack) can be over the same DMVPN mGRE tunnel
• (IPv4 and/or IPv6) Passenger over DMVPN IPv6 Transport
• Use IKEv2 for IPsec encryption key management
• Standard IPv6 configuration on Outside (WAN) interface
• IPv4 and IPv6 transports require separate DMVPNs (mGRE tunnels)
• DMVPN IPv4 DMVPN IPv6 spoke to spoke via hub
• WAN interface may support both IPv4 and IPv6 (dual stack)
DMVPN and IPv6 – Configuration
crypto ikev2 keyring DMVPN interface Tunnel0
peer DMVPNv6 ip address 10.0.0.11 255.255.255.0
address ::/0 ...
pre-shared-key cisco123v6 ip nhrp network-id 100000
peer DMVPNv4 ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
address 0.0.0.0 0.0.0.0 ...
preshared-key cisco123v4 ipv6 address 2001:DB8:0:100::B/64
! ...
crypto ikev2 profile DMVPNv6 ipv6 nhrp network-id 100006
match identity remote address ::/0 ipv6 nhrp nhs 2001:DB8:0:100::1 nbma 172.17.0.1 multicast
authentication local pre-share ...
authentication remote pre-share tunnel source Serial1/0
keyring DMVPN tunnel mode gre multipoint
dpd keepalive 30 5 on-demand tunnel protection ipsec profile DMVPNv4
crypto ikev2 profile DMVPNv4 !
match identity remote address 0.0.0.0 0.0.0.0 interface Tunnel1
authentication local pre-share ip address 10.0.6.11 255.255.255.0
authentication remote pre-share ...
keyring DMVPN ip nhrp network-id 100000
dpd keepalive 30 5 on-demand ip nhrp nhs 10.0.6.1 nbma 2001:DB8:0:FFFF:1::1 multicast
! ...
crypto ipsec profile DMVPNv6 ipv6 address 2001:DB8:0:106::B/64
set transform-set DMVPN ...
set ikev2-profile DMVPNv6 ipv6 nhrp network-id 100006
! ipv6 nhrp nhs 2001:DB8:0:106::1 nbma 2001:DB8:0:FFFF:1::1 multicast
crypto ipsec profile DMVPNv4 ...
set transform-set DMVPN tunnel source Serial1/0
set ikev2-profile DMVPNv4 tunnel mode gre multipoint ipv6
… tunnel protection ipsec profile DMVPNv6
interface Serial1/0 !
ip address 172.16.1.1 255.255.255.252 ip route 0.0.0.0 0.0.0.0 Serial1/0
ipv6 address 2001:DB8:0:FFFF:0:1:0:1/126 ipv6 route ::/0 Serial1/0
DMVPN and IPsec
• IPsec integrated with DMVPN, but not required
• Packets Encapsulated in GRE, then Encrypted with IPsec
• Supports both IKEv1 (ISAKMP) and IKEv2
• NHRP controls the tunnels, IPsec does the encryption
• Bringing up a tunnel
• NHRP signals IPsec to setup encryption
• ISAKMP/IKEv2 authenticates peer, generates SAs
• IPsec responds to NHRP and the tunnel is activated
• All NHRP and data traffic is Encrypted
• Bringing down a tunnel
• NHRP signals IPsec to tear down tunnel
• If encryption is cleared or lost IPsec can signal NHRP to clear the tunnel
• ISAKMP/IKEv2 Keepalives monitor remote crypto peers*
* BFD over DMVPN
DMVPN Encryption Scaling
Throughput depends on number
SLB Design and types of hub platforms
(7 GB) ASR1006+/RP2/ESP40
(6 GB) ASR1004+/RP2/ESP20
(4 GB) ASR100[1,2]-X/Integrated
Fair
• Summarize and metric control
Low Single Area over DMVPN
Link-State1 Faster
OSPF (multicast) (5/15) to (20/60)
only at area border (1500-2000) • Area = 0 (spokes in different areas)
• Automatic per hop metric (dynamic) • Area 0 (all spokes in same area)
increase
Good
Distance • Summarize and metric control
Medium
Faster Spokes: Stub/Stub-site
EIGRP Vector
(5/15) to (20/60)
at any node (4000-6000)
• Suppress EIGRP Queries
(multicast) • Automatic per hop metric (dynamic)
increase
iBGP
Good High • Hubs: route-reflector; iBGP local-AS;
Distance
Slower • Summarize and metric control (6000-10000) Dynamic neighbors;
BGP Vector
at any node • Metric: MED, Local-pref
(15/45) to (60/180) (iBGP: dynamic)
(unicast) • Manual metric control (eBGP: static) eBGP
• Metric: AS Path-length, Local-pref
1 Link-State is not a good match for NBMA style (hub-and-spoke) networks like DMVPN
Routing Protocol?
• Which routing protocol should I use?
• In general you would use the same routing protocol over DMVPN that you use in the
rest of your network, or over other WAN networks (like MPLS).
• BUT...
• EIGRP being an advanced distance vector protocol matches really well with DMVPN
network topologies
• BGP, specifically iBGP, runs well over DMVPN, but is more complicated to setup to
have it act more like an IGP than an EGP
• OSPF can run over DMVPN, BUT lower scaling and Area 0 issues can complicate the
network
• RIP can be used, but has longer hold time and limited metric values
• IS-IS cannot be used since it doesn’t run over IP
Routing Protocol Scaling
Estimate
ASR100x-(H)X
OSPF 4451-X ASR1004+/ESP20+
Estimate
ASR100x-(H)X ASR1009
EIGRP 4451-X ASR1004+/ESP40+ RP3/ESP200 Estimate
ASR100x-X ASR100x-HX
BGP 4451-X ASR1004+/ESP20+ ASR1004+/ESP100+ ASR1009/RP3/ESP200
Number of Branches
Redundancy
• Active-active redundancy model – two or more hubs per spoke
• All configured hubs are active and are routing neighbors with spokes
• Can use Backup NHS feature to activate a subset of configured hubs
• Can use ‘if-state nhrp’ and ‘backup interface ...’ to disable/enable a backup tunnel interface
• Routing protocol routes are used to determine traffic forwarding
• Single route: one tunnel (hub) at a time – primary/backup mode
• Multiple routes: multiple tunnels (hubs) – load-balancing mode (CEF, PfR)
• (ISAKMP/IKEv2)/IPsec
• Cannot use IPsec Stateful failover (NHRP isn’t supported)
• Invalid SPI recovery is not useful with DMVPN
no crypto isakmp invalid-spi-recovery
• ISAKMP/IKEv2 keepalives on spokes for DPD
• BFD over DMVPN for quicker spoke-hub and spoke-spoke failure discovery
Redundancy (cont)
• Can use single or multiple DMVPNs for redundancy
• Each mGRE interface is a separate DMVPN network using
• Same: Tunnel source (optional).
• Different: NHRP network-id and IP subnet, Tunnel key
• When using same tunnel source different tunnel keys, same IPsec profile (name) and shared
tunnel protection ipsec profile name shared
• Can “glue” mGRE interfaces into same DMVPN network (Phase 3 only)
• Same: NHRP network-id and authentication, Tunnel key (optional)
• Different: Tunnel source and IP subnet
• Spokes – two or more hubs (NHSs)
• Phase 1: (Hub-and-spoke)
• p-pGRE interfaces two or more DMVPN networks, one hub (NHS) on each
• Phase 1, 2 or 3: (Hub-and-spoke or Dynamic Mesh)
• mGRE interface one DMVPN network, two or more hubs (NHSs)
Redundancy (cont.)
• Hubs – interconnect and routing
• Phase 1: (Hub and spoke only)
• Interconnect hubs directly over physical link, p-pGRE or mGRE tunnel
• Can exchange routing through any of these paths
• Same or different routing protocol as with spokes
• Phase 2: (Dynamic Mesh)
• Must interconnect hubs over same mGRE tunnel as spokes, daisy-chain as NHSs
• Must exchange routing over DMVPN network
• Must use same routing protocol as with spokes
• Phase 3: (Dynamic Mesh)
• Interconnect hubs over same or different mGRE tunnel (same NHRP Network-id)
• Must exchange routing over a DMVPN network
• Same or different routing protocol as with spokes
Spoke-Spoke and Spoke-Hub Tunnels
Considerations
• Resiliency
• BFD over DMVPN for quick spoke-hub and/or spoke-spoke tunnel recovery
• Can also use ISAKMP/IKEv2 keepalives, but doesn’t test data channel – Spokes only
crypto {isakmp keepalive | ikev2 dpd} initial retry [on-demand | periodic] (Recommend: initial=30, retry=5)
crypto {isakmp | ikev2} nat keepalive interval (Recommend: interval=30)
• Path Selection
• NHRP will always try to build spoke-spoke tunnel
• No bandwidth/latency measurement of spoke-spoke vs. spoke-hub-spoke paths
• Can do interesting things with Smart-spoke feature
• Overloading routers
• CPU or memory IKE Call Admission Control (CAC) – Hubs
crypto call admission limit ike {sa | in-negotiation} max-SAs (Default: no-limit)
crypto ikev2 limit max-in-negotiation-sa max-SAs {inbound | outbound} (Default: inbound: 40, outbound: 400)
show crypto call admission statistics
• Bandwidth Design for expected traffic
• Hub-spoke versus Spoke-spoke; Spoke-spoke availability is best effort
Best Practices
• mGRE Tunnel configuration
• Both Hubs and Spokes
tunnel source interface-name
bandwidth <from WAN-interface> (as starting point, may adjust)
ip mtu 1400; ip tcp adjust-mss 1360
• NHRP
• Spokes
ip nhrp holdtime 600*
ip nhrp shortcut*
ip nhrp nhs {hub-tunnel-ip | dynamic} nbma {hub-nbma-ip | hub-fqdn} multicast (12.4(20)T)
• Hubs
ip nhrp redirect * Default in 16.3
ip nhrp map multicast dynamic*
ip nhrp server-only
Best Practices (cont)
• Routing
• Phase 2 – RP advertises routes with remote spoke as the next-hop
• EIGRP: (hubs) no ip [next-hop-self | split-horizon] eigrp as, (all) use delay to adjust metric
• OSPF: (all) ip ospf network broadcast; (spokes only) ip ospf priority 0
• BGP: iBGP (hubs) route-reflectors; (spokes) neighbor hub next-hop-self
Physical: (dynamic)
Tunnel0: 10.0.0.12 Physical: (dynamic)
Tunnel1: 10.0.1.12 Tunnel0: 10.0.0.12
Spoke B Spoke B .1
Physical: (dynamic) .1
Tunnel0: 10.0.0.11 Physical: (dynamic)
Tunnel1: 10.0.1.11 192.168.2.0/24 Tunnel0: 10.0.0.11 192.168.2.0/24
Spoke A Spoke A
.1 .1 ...
192.168.1.0 /24 192.168.1.0/24
= Dynamic Spoke-to-spoke
Multiple DMVPNs versus Single DMVPN
• Multiple DMVPNs
• Best for Hub-and-spoke only
• Easier to manipulate RP metrics between DMVPNs for Load-sharing
• EIGRP – Route tags, Delay; iBGP – Communities, MED; OSPF – Cost
• Performance Routing (PfR) selects between interfaces
• Load-balancing over multiple ISPs (physical paths)
• Load-balance data flows over tunnels Better statistical load-balancing
• Single DMVPN
• Best for spoke-spoke DMVPN
• Can only build spoke-spoke within a DMVPN not between DMVPNs*
• Slightly more difficult to manipulate RP metrics within DMVPN for Load-sharing
• EIGRP – Route tags, delay; iBGP – Communities, MED; OSPF – Can’t do
• Load-balancing over multiple ISPs (physical paths)
• Load-balance tunnel destinations over physical paths Worse statistical load-balancing
DMVPN Combination Designs
Retail/Franchise Dual ISP
ISP ISP
1 2
Spoke-to-hub tunnels
Spoke-to-hub tunnels
Spoke-to-spoke tunnels
Spoke-to-spoke tunnels
Spoke-hub-hub-spoke tunnel
DMVPN Combination Designs (cont)
Hierarchical Server Load Balancing
Spoke-to-hub tunnels
Spoke-to-spoke tunnels
Spoke-to-hub tunnels
Spoke-to-spoke tunnels
Hub-to-hub tunnel
Network Virtualization
Separate DMVPN mGRE tunnel per VRF (VRF-lite)
• Hub routers handle all DMVPNs VRF-lite
• Multiple Hub routers for redundancy and load
• IGP used for routing protocol over
DMVPNs on Spokes and Hubs
• Address family per VRF
• Routing neighbor per spoke per VRF
• BGP used only on the hub
• Redistribute between IGP and BGP for
import/export of routes between VRFs
• “Internet” VRF for Internet access and routing
between VRFs
• Global routing table used for routing
DMVPN tunnel packets VRF-A tunnels
VRF-B tunnels
VRF-A to VRF-B Path (optional)
Network Virtualization
MPLS over DMVPN – 2547oDMVPN
• MPLS VPN over DMVPN 2547oDMVPN
• Single DMVPN/mGRE tunnel on all routers
• Multiple Hub routers for redundancy and load
• MPLS configuration – routers are PEs
• Spoke to spoke via hub and direct shortcut
• MPLS labels via NHRP, ‘mpls nhrp’ (15.4(1)S, 15.4(2)T)
• Replaces ‘mpls ip’; No LDP
• Routing
• Global for routing DMVPN tunnel packets
• IGP for routing outside of DMVPN
• MP-BGP for routing over DMVPN
• Redistribute between IGP and BGP for over DMVPN
• Import/export routes between VRFs and Global (or
Internet VRF) VRF-A tunnels
VRF-B tunnels
• One routing neighbor per spoke VRF-A/B Tunnels
DMVPN designs for IWAN
• Multiple DMVPNs • PfRv3 interoperability
• One per physical transport network • Dynamic path selection
• Path diversity • Per application
• Load Balancing
• Separate failure domains
• Brownout circumvention
• Each Phase 3 DMVPN • Communicates with NHRP via RIB
• Single layer hub-and-spoke; • Triggers secondary spoke-spoke tunnels
hierarchical not currently supported
• Single Overlay Routing Domain
• Physical WAN interface in f-VRF
• Simplified operations and support
• Single Hub; Multi-Hub
• Simple ECMP load-balancing and
• PfRv3 Multi-NH and Multi-DC features
• MTT (Multiple Tunnel Termination) feature primary path provisioning
• Spoke-Spoke dynamic tunnels • EIGRP or BGP
• PfRv3 gets secondary path directly from RP
• Per-Tunnel QOS
Basic DMVPN Design for IWAN
Dual (multi)DMVPN Dual (multi)Hub
Internet DMVPN
MPLS DMVPN 192.168.100.0/24
192.168.20.0/24
Dynamic Spoke-to-spoke 192.168.10.0/24
.2 .1
.2 .1 Physical: 172.16.0.5
Tunnel0: 10.0.0.2
Physical: 172.16.0.1 Physical: 172.17.0.5 Loop0: 172.18.1.1
Tunnel0: 10.0.0.1 Tunnel1: 10.0.1.1 Physical: 172.17.0.1
Loop0: 172.18.0.1 Loop0: 172.18.0.2 Tunnel1: 10.0.1.2
Loop0: 172.18.1.2
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
Physical: (dynamic) Physical: (dynamic)
192.168.1.0 /24 Tunnel0: 10.0.0.12 Tunnel1: 10.0.1.12
Spoke B1 .1 .2 Spoke B2
192.168.2.0 /24
VPN Selection
Use Case/ DMVPN GETVPN FlexVPN SSLVPN Easy VPN IPsec VPN
(mGRE, (CM, sVTI,
Solution p-pGRE)
(Tunnel-less) (dVTI, IKEv2) (TLS) (IKEv1)
p-pGRE)
used Mapping entry was used in last 60 seconds to forward data traffic
implicit Mapping entry from source information in NHRP resolution request packet
NHRP mapping
Physical: 172.17.0.1
Routing Table Tunnel0: 10.0.0.1 192.168.0.0/24 Conn.
Physical: (dynamic)
Tunnel0: 10.0.0.12
Physical: (dynamic)
Tunnel0: 10.0.0.11
192.168.1.0/24 Conn.
192.168.2.0/24 Conn.
Physical: 172.16.2.1
(dynamic)
Tunnel0: 10.0.0.12
Physical: 172.16.1.1
(dynamic)
Tunnel0: 10.0.0.11
192.168.1.0/24 Conn.
192.168.2.0/24 Conn.
Physical: 172.16.2.1
Tunnel0: 10.0.0.12
Physical: 172.16.1.1
Tunnel0: 10.0.0.11
Spoke B 192.168.2.1/24
Spoke A
192.168.1.1/24
• Refreshing entries
• Send another Resolution request and reply
• Resolution request/reply sent over direct tunnel
• If entry expires it is removed
• If using IPsec and last entry using this NBMA address
• Trigger IPsec to remove IPsec and ISAKMP/IKEv2 SAs
NHRP Purge Messages
• Used to clear invalid NHRP mapping information from the network
• NHRP “local”, “(no socket)” mapping entries
• Created when sending an NHRP resolution reply
• Copy of mapping information sent in reply
• Entry tied to corresponding entry in routing table
• Keeps list of nodes where resolution reply was sent – ‘show ip nhrp detail’
• If routing table changes so that local mapping entry is no longer valid
• Purge message is sent to each NHRP node in list
• NHRP nodes clear that mapping from their table
• Purge messages forwarded over direct tunnel if available, otherwise sent via routed path
Phase 3 – NHRP and Routing Table
Data Packet Forwarding
• When NHRP resolution is received
• Insert mapping information in mapping table replacing Incomplete/Temporary mapping
• Insert NHRP routing entry in Routing Table (RT)
• NHRP NET/Mask is longer (more specific) than RT Net/Mask
• Add new route owned by NHRP (Type = H)
• NHRP Net/Mask is equal to RT Net/Mask
• Add Override Alternate Next-hop (% flag)
• Route still owned by original owner
• NHRP Net/Mask is shorter (less specific) than RT Net/Mask
• Increase (make more specific) NHRP mask to = RT Mask
• Add Override Alternate Next-hop (% flag)
• Route still owned by original owner
• Insert connected route for tunnel next-hop of NHRP parent mapping (nhop flag)
Phase 3 – NHRP and RT
Routing Table
#show ip route
H 192.168.11.0/24 [250/1] via 10.0.1.11, 00:01:02
D % 192.168.128.0/24 [90/3200000] via 10.0.2.16, 00:50:56, Tunnel0
NHRP
Routes #show ip route next-hop-override | section H|%
H 192.168.11.0/24 [250/1] via 10.0.1.11, 00:01:02
D % 192.168.128.0/24 [90/3200000] via 10.0.2.16, 00:50:56, Tunnel0
[NHO][90/1] via 10.0.0.1, 00:00:40, Tunnel0
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
Multiple Tunnel Termination (MTT)
• Issue
• Multiple DMVPN clouds (IWAN Transports) terminating on the same Hub
• Spoke-spoke tunnels don’t always get built
• Data packets CEF switched between DMVPNs
• No NHRP Redirect sent No Spoke-spoke tunnel
• NHRP Resolution (NHRP) switched between DMVPNs
• Hub answers NHRP resolution No Spoke-spoke tunnel
• Spoke-spoke traffic continues to traverse the hub
• Solution
• Forward NHRP and Data traffic out the same DMVPN on which it arrived
• Install regular and secondary routes into RIB
• Part 1: NHRP traffic; controlled by NHRP control plane
• Part 2: Data plane traffic forwarding; controlled by FIB/CEF (future)
• Spoke-spoke tunnel
DMVPN without MTT
Routing preferred via MPLS
192.168.1.0/24 (10) 10.0.0.11 Hub Router
MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF MPLSMPLS L
S
• Send NHRP Redirect MPLS
L
• Forward NHRP Resolution
A CEF
Request MPLSMPLS
N
• Spoke-spoke
I
N
DMVPN Tunnel1
10.0.1.0/24
E
T
NHRP
DMVPN without MTT
Routing preferred via MPLS (cont)
192.168.1.0/24 (10) 10.0.0.11 Hub Router
MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF MPLSMPLS L
S
• Send NHRP Redirect MPLS
L
• Forward NHRP Resolution
A CEF
Request MPLSMPLS
N
• Spoke-spoke
I
• CEF INETMPLS DMVPN Tunnel1
N
E
• Don’t send NHRP Redirect 10.0.1.0/24
T
• No spoke-spoke NHRP
DMVPN without MTT
ECMP routing via MPLS and INET
192.168.1.0/24 (10) 10.0.0.11 Hub Router
(10) 10.0.1.11 MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
(10) 10.0.1.12 Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF inbound MPLS L
S
• Forward: 50% MPLS
• Send NHRP Redirect MPLS L
• NHRP Resolution Request A CEF
• 50% Forward MPLS (spoke-spoke) N
• 50% Hub answers (no spoke-spoke) I
N
DMVPN Tunnel1
10.0.1.0/24
E
T
NHRP
DMVPN without MTT
ECMP routing via MPLS and INET (cont)
192.168.1.0/24 (10) 10.0.0.11 Hub Router
(10) 10.0.1.11 MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
(10) 10.0.1.12 Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF inbound MPLS L
S
• Forward: 50% MPLS
• Send NHRP Redirect MPLS L
• NHRP Resolution Request A CEF
• 50% Forward MPLS (spoke-spoke) N
• 50% Hub answers (no spoke-spoke) I
• Forward: 50% INET DMVPN Tunnel1
N
• Don’t send NHRP Redirect 10.0.1.0/24
E
T
• No spoke-spoke NHRP
• CEF inbound INET (similar)
Kinds of RIB Paths
• Regular next-hops/paths
• Most common kind of paths, often equal cost but could be unequal cost.
• Governed by 'maximum-paths <n>' (up to 32)
• Installed in the RIB and passed to FIB/CEF for immediate use
• Repair next-hop/path
• Special paths that are used for IP FRR, BGP PIC, etc.
• Only ONE repair path (per-prefix) for one or more regular paths.
• Installed in the RIB and passed to FIB/CEF, but NOT USED as long as
one or more regular next hops are active.
• Secondary next-hops/paths
• Special loop free paths that are typically inferior to regular and repair paths.
• Governed by 'maximum-secondary-paths <n>' (up to 32; default 0).
• Installed in RIB but not passed to FIB
16.3.2, 16.4.1, 15.6(3)M2, 15.5(3)S5
DMVPN with MTT (Part 1)
Routing via MPLS and INET (ECMP or secondary)
192.168.1.0/24 (10) 10.0.0.11 Hub Router
(10) 10.0.1.11 MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
(10) 10.0.1.12 Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF inbound MPLS L
S
• Forward: 50% MPLS
• Send NHRP Redirect MPLS L
• NHRP Resolution Request A CEF
• 100% Forward MPLS (spoke-spoke) N
• Forward: 50% INET I
• Don’t send NHRP Redirect N
DMVPN Tunnel1
E
• No spoke-spoke 10.0.1.0/24
T
NHRP
• CEF inbound INET (similar)
On Roadmap
DMVPN with MTT (Part 2)
Routing via MPLS and INET (ECMP or secondary)
192.168.1.0/24 (10) 10.0.0.11 Hub Router
[SEC] (20) 10.0.1.11 MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
[SEC] (20) 10.0.1.12 Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF inbound MPLS L
S
• CEF Forward: 100% MPLS
• Send NHRP Redirect MPLS L
• NHRP Resolution Request A CEF
• 100% Forward MPLS (spoke-spoke) N
I
N
DMVPN Tunnel1
10.0.1.0/24
E
T
NHRP
DMVPN with MTT (Part 2)
Routing via MPLS and INET (ECMP or secondary)
192.168.1.0/24 (10) 10.0.0.11 Hub Router
[SEC] (20) 10.0.1.11 MPLS
192.168.2.0/24 (10) 10.0.0.12 INET
[SEC] (20) 10.0.1.12 Global 10.0.0.0/24 M
P
DMVPN Tunnel0
• CEF inbound MPLS L
S
L
• CEF inbound INET A CEF
• CEF Forward 100% INET N
• Send NHRP Redirect INET I
• NHRP Resolution Request N
DMVPN Tunnel1
E
• 100% Forward INET (spoke-spoke) 10.0.1.0/24
T
NHRP
DMVPN with Multiple Tunnel Termination (MTT)
(16.3.2, 16.4.1)
• Configure Routing Protocol to insert secondary routes BGP:
maximum-secondary-paths [eibgp|ibgp] <x>
• Mandatory on Hub; Recommended on Spokes (IOS/XE*) EIGRP:
topology base
• Part 1: maximum-secondary-paths <x>
Encrypted
• MPLS
• Single mGRE tunnel interface for all VRFs – ‘mpls nhrp’
• MPLS maps per VRF LAN interfaces (‘vrf forwarding <vrf>’) to/from single tunnel
• Single MP-BGP routing neighbor per spoke regardless of number of VRFs
• MPLS just on the DMVPN or part of a larger MPLS network
• Hub is an MPLS P/PE
• Spokes can be an MPLS PE or P/PE
• VRF RD and RT tags must match on all DMVPN PE routers
Network Segmentation over DMVPN
VRFs on the DMVPN
• VRF definition on the DMVPN nodes
• Define VRFs used on that node
• VRF-lite:
• Defined VRFs will match the configured VRFs on mGRE tunnels and LAN interfaces
• MPLS:
• Hubs: Must define all VRFs, even if no local interface uses that VRF*
• Spokes: Must define all VRFs used at spoke site, even if no local interface uses that VRF*
Spoke1
192.168.x.y/24 Spoke3
192.168.x.y/24
.12,.12,.12
.10.x .20.x .120.1
.110.1 .1 .2 .32.x
.1 .2 .132.1
Spoke2 .22.x .122.1 .2 .1
192.168.x.y/24 .1 .2 .34.x
.24.x .134.1
.124.1 .2 .1
.1 .2
Separate DMVPNs – VRF-lite
Spoke-spoke
Bus. #1, #2, #3
WAN
LAN
Spoke 1 Bus. #1 Separate
mGRE tunnels
LAN Internet
Bus. #1 “global”
WAN Interface
WAN
LAN
Spoke 2 Bus. #2
Hub
LAN Server
Interface
Bus. #3 LANs
VRF config vrf definition Yellow vrf definition Red vrf definition Green
rd 1:1 rd 2:2 rd 3:3
route-target export 1:1 route-target export 2:2 route-target export 3:3
EIGRP routing route-target import 1:1 route-target import 2:2 route-target import 3:3
over DMVPN ! ! !
interface Tunnel0 interface Tunnel1 interface Tunnel2
No BGP config vrf forwarding Yellow vrf forwarding Red vrf forwarding Green
ip address 10.0.0.12 255.255.255.0 ip address 10.0.2.12 255.255.255.0 ip address 10.0.4.12 255.255.255.0
ip nhrp authentication Yellow ip nhrp authentication Red ip nhrp authentication Green
ip nhrp network-id 100 ip nhrp network-id 102 ip nhrp network-id 104
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1
ipmulticast
nhrp nhs 10.0.2.1 nbma 172.17.0.1
ipmulticast
nhrp nhs 10.0.4.1 nbma 172.17.0.1 multicast
tunnel key 100 tunnel key 102 tunnel key 104
! ! !
router eigrp 1 router eigrp 1 router eigrp 1
no auto-summary no auto-summary no auto-summary
! ! !
address-family ipv4 vrf Yellow address-family ipv4 vrf Red address-family ipv4 vrf Green
network 10.0.0.0 0.0.0.255 network 10.0.2.0 0.0.0.255 network 10.0.4.0 0.0.0.255
network 192.168.20.0 network 192.168.22.0 network 192.168.24.0
autonomous-system 1 autonomous-system 1 autonomous-system 1
exit-address-family exit-address-family exit-address-family
! ! !
interface Ethernet0/0 interface Ethernet1/0 interface Ethernet2/0
vrf forwarding Yellow vrf forwarding Red vrf forwarding Green
ip address 192.168.20.1 255.255.255.0
ip address 192.168.22.1 255.255.255.0
ip address 192.168.24.1 255.255.255.0
Separate DMVPNs – VRF-lite
Routing Tables – Hub
vrf Outside S*
C
0.0.0.0/0 [1/0] via 172.17.0.2
172.17.0.0/30 is directly connected, Serial4/0
DMVPN
10.0.0.0/24
MPLS VPN
(10,12,14)
.11 .13
Spoke1
MPLS PE
MPLS CE Spoke3
Spoke2 .12 MPLS PE
MPLS CE
192.168./24 MPLS PE .20.x .120.1
.10.x .1 .2
.110.1 192.168./24 .32.x
.2 .1 .22.x .132.1
192.168./24 .122.1 .1 .2
.1 .2
.34.x .134.1
MPLS CE .24.x .124.1 .1 .2
.1 .2
MPLS over DMVPN – 2547oDMVPN
Spoke-spoke: (Bus. #1)
Spoke-spoke: (Bus. #2, #3)
mGRE Tunnel
WAN
LAN
Spoke 1 Bus. #1 MPLS P/PE
Internet
LAN “global”
Bus. #1
WAN
WAN
LAN
Spoke 2 Bus. #2
LAN
Hub
Bus. #3 Server
Interface
LANs
LAN
Bus. #2 WAN
Spoke 3
LAN
Bus. #3
Hub-spoke: (Bus. #1);
mGRE Tunnel (Bus. #1, #2, #3); (Bus. #2, #3)
MPLS PE
MPLS over DMVPN – 2547oDMVPN
Hub Configuration – BU VRFs
No import vrf definition Yellow vrf definition Red vrf definition Green
from Internet rd 1:1 rd 2:2 rd 3:3
route-target export 1:1 route-target export 2:2 route-target export 3:3
No EIGRP routing route-target import 1:1 route-target import 2:2 route-target import 3:3
! ! !
over tunnel interface Ethernet0/0 interface Ethernet1/0 interface Ethernet2/0
vrf forwarding Yellow vrf forwarding Red vrf forwarding Green
ip address 192.168.0.1 255.255.255.0 ip address 192.168.2.1 255.255.255.0 ip address 192.168.4.1 255.255.255.0
VRF ip tcp adjust-mss 1360 ip tcp adjust-mss 1360 ip tcp adjust-mss 1360
! ! !
router eigrp 1 router eigrp 1 router eigrp 1
! ! !
EIGRP routing address-family ipv4 vrf Yellow address-family ipv4 vrf Red address-family ipv4 vrf Green
over LAN and default-metric 1000 100 255 1 1500 default-metric 1000 100 255 1 1500 default-metric 1000 100 255 1 1500
redistribute redistribute bgp 1 redistribute bgp 1 redistribute bgp 1
with BGP network 192.168.0.0 network 192.168.2.0 network 192.168.4.0
autonomous-system 1 autonomous-system 1 autonomous-system 1
exit-address-family exit-address-family exit-address-family
! ! !
router bgp 1 router bgp 1 router bgp 1
BGP routing over ! ! !
DMVPN and for address-family ipv4 vrf Yellow address-family ipv4 vrf Red address-family ipv4 vrf Green
route import/export redistribute connected redistribute connected redistribute connected
redistribute static redistribute static redistribute static
redistribute eigrp 1 redistribute eigrp 1 redistribute eigrp 1
default-information originate default-information originate default-information originate
exit-address-family exit-address-family exit-address-family
Static route ! ! !
ip route vrf Yellow 0.0.0.0 0.0.0.0 – ip route vrf Red 0.0.0.0 0.0.0.0 – ip route vrf Green 0.0.0.0 0.0.0.0 –
for default Ethernet3/0 192.168.254.2 Ethernet3/0 192.168.254.2 Ethernet3/0 192.168.254.2
MPLS over DMVPN – 2547oDMVPN
Hub Configuration – Internet VRF
vrf definition Internet
rd 10:10
route-target export 10:10
route-target import 10:10
Import VRF routes route-target import 1:1
route-target import 2:2
into Internet route-target import 3:3
!
address-family ipv4
import map No-Default
exit address-family
!
interface Ethernet3/0
vrf forwarding Internet
Don’t import ip address 192.168.254.1 255.255.255.0
!
Default router eigrp 1
!
address-family ipv4 vrf Internet
default-metric 1000 100 255 1 1500
redistribute bgp 1
network 192.168.254.0
EIGRP routing autonomous-system 1
to Internet exit-address-family
!
router bgp 1
!
address-family ipv4 vrf Internet
network 192.168.254.0
redistribute eigrp 1
exit-address-family
!
access-list 20 deny host 0.0.0.0
access-list 20 permit any
!
route-map No-Default permit 10
match ip address 20
MPLS over DMVPN – 2547oDMVPN
Hub Configuration – MP-BGP over DMVPN
interface Tunnel0
ip address 10.0.0.1 255.255.255.0
ip nhrp authentication MPLS
ip nhrp network-id 1000
NHRP distributes mpls nhrp
MPLS Labels mpls mtu 1400
tunnel key 1000
tunnel vrf Outside
!
router bgp 1
bgp router-id 10.0.0.1
Spokes are dynamic neighbors bgp listen range 10.0.0.0/24 peer-group Spokes
and route-reflector clients neighbor Spokes peer-group
neighbor Spokes remote-as 1
neighbor Spokes update-source Tunnel0
!
address-family vpnv4
neighbor Spokes activate
neighbor Spokes send-community extended
Hub is IP next-hop neighbor Spokes route-reflector-client
neighbor spokes next-hop-self all
(DMVPN Phase 3)
exit-address-family
!
MPLS over DMVPN – 2547oDMVPN
Spoke2 Configuration – BU VRFs
DMVPN
10.0.0.0/24
.11 .13
Spoke1
MPLS P/PE
Spoke3
Spoke2 .12 MPLS P/PE
MPLS P/PE
192.168.x.y/24
.120.1 .132.1
MPLS PE .110.1 MPLS PE
.122.1 .134.1
192.168.x.y/24 MPLS PE
.124.1 192.168.x.y/24
MPLS over DMVPN – Extending an MPLS
Spoke-spoke: (Bus. #1)
Spoke-spoke: (Bus. #2, #3)
WAN
MPLS
LDP MPLS NHRP
P/PE
Hub
P/PE
WAN
Spoke 2
WAN
MPLS MPLS
LDP LDP
P/PE
Spoke 3 MPLS
WAN
P/PE LDP
Spoke B 192.168.2.1/24
Spoke A
192.168.1.1/24
10.0.0.1 172.17.0.1 (*) 10.0.0.1 172.17.0.1 (*)
10.0.0.12 ??? 10.0.0.11 172.16.1.1
Spoke B 192.168.2.1/24
Spoke A
192.168.1.1/24
10.0.0.1 172.17.0.1 (*)
10.0.0.1 172.17.0.1 (*) 10.0.0.11 172.16.1.1
10.0.0.11 172.16.1.1 (l) 10.0.0.12 172.16.2.1 (l)
10.0.0.12 ???
172.16.2.1
192.168.0.0/24 10.0.0.1
192.168.0.0/24 10.0.0.1 192.168.1.0/24 10.0.0.11
192.168.1.0/24 Conn.
192.168.2.0/24 Conn.
192.168.2.0/24 10.0.0.12
10.0.0.1 172.17.0.1
10.0.0.1 172.17.0.1 10.0.0.11 172.16.1.1
incomplete
10.0.0.12 172.16.2.1
incomplete
Phase 2 – NHRP Resolution Response Processing
• Receive NHRP Resolution reply
• If using IPsec (tunnel protection …) then
• Trigger IPsec to setup ISAKMP and IPsec SAs for tunnel
• Data packets still forwarded via spoke-hub-…-hub-spoke path
• IPsec triggers back to NHRP when done
• Install new mapping in NHRP mapping table
• Send trigger to CEF to complete corresponding CEF adjacency
• Data packets now forwarded via direct spoke-spoke tunnel by CEF
• NHRP no longer involved
Phase 2 – Refresh or Remove Dynamic mappings
• Dynamic NHRP mapping entries have finite lifetime
• Controlled by ‘ip nhrp holdtime …’ on source of mapping (spoke)
• Background process checks mapping entry every 60 seconds
• Process-switching
• Used flag set each time mapping entry is used
• If used flag is set and expire time < 120 seconds then refresh entry, otherwise clear used flag
• CEF-switching
• If expire time < 120 seconds, CEF Adjacency entry marked “stale”
• If “stale” CEF Adjacency entry is then used, signal to NHRP to refresh entry
• Another resolution request is sent to refresh entry
• Resolution request via NHS path; reply via direct tunnel
• If entry expires it is removed
• If using IPsec Trigger IPsec to remove IPsec/ISAKMP SAs
Phase 3 – NHRP Resolution Reply (Prior to 15.2(1)T – ISR, 7200)
S* 0.0.0.0/0 [1/0] via 172.16.1.2 Session-id:1844, Status:UP-ACTIVE, IKE count:1, CHILD count:1
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/28 is directly connected, FastEthernet0 T-id Local Remote fvrf/ivrf Status
1 172.17.1.1/500 172.17.0.5/500 MPLS/none READY
Routing Table: MPLS
Gateway of last resort is 172.17.1.2 to network 0.0.0.0 Encr: AES-CBC, keysize: 256, PRF: SHA512, Hash: SHA512,
DH Grp:5, Auth sign: PSK, Auth verify: PSK
S* 0.0.0.0/0 [1/0] via 172.17.1.2 Life/Active Time: 86400/1290 sec
172.17.0.0/16 is variably subnetted, 2 subnets, 2 masks Child sa: local selector 172.17.1.1/0 - 172.17.1.1/65535
C 172.17.1.0/28 is directly connected, FastEthernet1 remote selector 172.17.0.5/0 - 172.17.0.5/65535
ESP spi in/out: 0xF8C63D42/0x66DEA87D
DMVPN with IWAN DIA
Router
MPLS f-VRF
INTERNET f-VRF
Global W
A
DMVPN Tunnel0 N
0
L
A DIA packets
N “route” between
Global and f-VRF W
A
N
1
DMVPN Tunnel1
DMVPN with IWAN DIA
• Outbound
• Block learning default through tunnel
• Access-list: deny default; match everything else
• Route-map: if match “learn” route
• Apply route-map in Routing Protocol
• EIGRP: use “distribute-list ... in <tunnel-interface>
• BGP: use “neighbor ... in”
• Static default route in global table forwarding out Internet WAN interface
• ip route 0.0.0.0 0.0.0.0 <Internet-WAN> <next-hop>|dhcp <admin-distance>
• Inbound
• Policy-based routing (PBR)
• access-list: match internal networks
• route-map: if match use global routing table
DMVPN with IWAN DIA
Inbound Outbound
interface FastEthernet0 router eigrp 1
description INTERNET distribute-list route-map BLOCK-DEFAULT in Tunnel0
vrf forwarding INTERNET [distribute-list route-map BLOCK-DEFAULT in Tunnel1]
ip address 172.16.1.1 255.255.255.240 network 10.0.0.0 0.0.1.255
ip policy route-map INET-INTERNAL network 192.168.1.0
! !
ip access-list extended INTERNAL-NETS ip access-list standard ALL-EXCEPT-DEFAULT
permit ip any 10.0.0.0 0.0.1.255 deny 0.0.0.0
permit ip any 192.168.0.0 0.0.255.255 permit any
permit ip any 172.20.0.0 0.0.255.255 !
route-map BLOCK-DEFAULT permit 10
route-map INET-INTERNAL permit 10 match ip address ALL-EXCEPT-DEFAULT
match ip address INTERNAL-NETS !
set global ip route 0.0.0.0 0.0.0.0 FastEthernet0 172.16.1.2 10
! !
DMVPN with IWAN DIA
Before After
Spoke1#show ip eigrp topology Spoke1#sho ip eigrp topology
P 192.168.10.0/24, 1 successors, FD is 2918400 P 192.168.10.0/24, 1 successors, FD is 2918400
via 10.0.1.2 (2918400/332800), Tunnel1 via 10.0.1.2 (2918400/332800), Tunnel1
via 10.0.0.1 (3020800/332800), Tunnel0 via 10.0.0.1 (3020800/332800), Tunnel0
P 172.20.1.0/24, 1 successors, FD is 409600 P 172.20.1.0/24, 1 successors, FD is 409600
via 192.168.1.2 (409600/128256), Ethernet0/0 via 192.168.1.2 (409600/128256), Ethernet0/0
P 192.168.0.0/21, 1 successors, FD is 2892800 P 192.168.0.0/21, 1 successors, FD is 2892800
via 10.0.1.2 (2892800/307200), Tunnel1 via 10.0.1.2 (2892800/307200), Tunnel1
via 10.0.0.1 (2995200/307200), Tunnel0 via 10.0.0.1 (2995200/307200), Tunnel0
P 192.168.1.0/24, 1 successors, FD is 281600 P 192.168.1.0/24, 1 successors, FD is 281600
via Connected, Ethernet0/0 via Connected, Ethernet0/0
P 0.0.0.0/0, 1 successors, FD is 2918400 P 0.0.0.0/0, 0 successors, FD is Infinity
via 10.0.1.2 (2918400/2636800), Tunnel1 via 10.0.1.2 (2918400/2636800), Tunnel1
via 10.0.0.1 (3020800/2636800), Tunnel0
MPLS Internet
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
Physical: (dynamic) Physical: (dynamic) 192.168.13.0/14
192.168.1.0 /24 Tunnel0: 10.0.0.12 Tunnel1: 10.0.1.12
192.168.11.0/24 Spoke B1 .1 .2 Spoke B2
192.168.2.0 /24
192.168.12.0/24
DMVPN with Routing Protocol
Routing Protocol – Both paths
SpokeA# show ip eigrp topology In RIB MPLS
Default over MPLS P 0.0.0.0/0, 0 successors, FD is Infinity Not in RIB INET
via 10.0.1.2 (1769472000/1048576000), Tunnel1
P 10.0.1.0/24, 1 successors, FD is 1376256000
Tunnel subnets via Connected, Tunnel1
P 10.0.0.0/24, 1 successors, FD is 1638400000
via Connected, Tunnel0
Data Summary Route P 192.168.0.0/21, 1 successors, FD is 1703936000
via 10.0.1.2 (1703936000/393216000), Tunnel1
via 10.0.0.1 (1966080000/393216000), Tunnel0
Local Subnet P 192.168.1.0/24, 1 successors, FD is 131072000
via Connected, Ethernet0/0
P 192.168.10.0/24, 1 successors, FD is 1769472000
Data Specific Routes via 10.0.1.2 (1769472000/458752000), Tunnel1
via 10.0.0.1 (2031616000/458752000), Tunnel0
P 192.168.11.0/24, 1 successors, FD is 196608000
via 192.168.1.2 (196608000/131072000), Ethernet0/0
P 192.168.13.0/24, 1 successors, FD is 2228224000
via 10.0.1.2 (2228224000/1507328000), Tunnel1
Not including MC/BR
Loopback Routes via 10.0.0.1 (2752512000/1769472000), Tunnel0
DMVPN with Routing Protocol
RIB – Path via MPLS
SpokeA# show ip route MPLS
INET
Static Default for DIA Gateway of last resort is 172.16.1.2 to network 0.0.0.0
MPLS Internet
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
192.168.13.0/14
192.168.1.0 /24
192.168.11.0/24
Forwarding over Primary DMVPN
NHRP RIB
SpokeA# show ip nhrp SpokeA# show ip route Parent Routes
10.0.1.13/32 via 10.0.1.13 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
Tunnel1 created 00:04:23, expire 00:04:19 C 10.0.0.0/24 is directly connected, Tunnel0
Type: dynamic, Flags: router nhop rib L 10.0.0.11/32 is directly connected, Tunnel0
NBMA address: 172.17.3.1 C 10.0.1.0/24 is directly connected, Tunnel1
192.168.1.0/24 via 10.0.1.11 L 10.0.1.11/32 is directly connected, Tunnel1
Tunnel1 created 00:04:25, expire 00:01:36 H 10.0.1.13/32 is directly connected, 00:05:28, Tunnel1
Type: dynamic, Flags: router unique local D 192.168.0.0/21 [90/13312000] via 10.0.1.2, 00:11:02, Tunnel1
NBMA address: 172.17.1.1 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
(no-socket) C 192.168.1.0/24 is directly connected, Ethernet0/0
192.168.3.0/24 via 10.0.1.13 L 192.168.1.1/32 is directly connected, Ethernet0/0
Tunnel1 created 00:01:40, expire 00:04:19 H 192.168.3.0/24 [250/1] via 10.0.1.13, 00:03:06, Tunnel1
Type: dynamic, Flags: router rib D 192.168.10.0/24 [90/13824000] via 10.0.1.2, 00:11:02, Tunnel1
NBMA address: 172.17.3.1 D 192.168.11.0/24 [90/1536000] via 192.168.1.2, 00:11:02, Ethernet0/0
192.168.11.0/24 via 10.0.1.11 D % 192.168.13.0/24 [90/17408000] via 10.0.1.2, 00:11:02, Tunnel1
Tunnel1 created 00:04:02, expire 00:01:57 [NHO][90/1] via 10.0.1.13, 00:05:28, Tunnel1
Type: dynamic, Flags: router unique local
NBMA address: 172.17.1.1
(no-socket)
192.168.13.0/24 via 10.0.1.13
Tunnel1 created 00:04:02, expire 00:01:57
Type: dynamic, Flags: router rib nho
NBMA address: 172.17.3.1
Forwarding over Secondary DMVPN (nhrp route-watch)
Dual DMVPN MC
Physical: 192.168.10.3
Internet DMVPN
192.168.10.0/24 Loop0: 172.18.0.10
MPLS DMVPN
.2 .1
Primary path
Hub1 Hub2
nhrp route-watch Physical: 172.16.0.1 Physical: 172.17.0.5
no nhrp route-watch Tunnel0: 10.0.0.1 Tunnel1: 10.0.1.1
Loop0: 172.18.0.1 Loop0: 172.18.0.2
MPLS Internet
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
192.168.13.0/14
192.168.1.0 /24
192.168.11.0/24
Forwarding over Secondary DMVPN (nhrp route-watch)
NHRP RIB
SpokeA# show ip nhrp SpokeA# show ip route
10.0.0.13/32 via 10.0.0.13 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
Tunnel0 created 00:01:01, expire 00:05:07 C 10.0.0.0/24 is directly connected, Tunnel0
Type: dynamic, Flags: router nhop L 10.0.0.11/32 is directly connected, Tunnel0
NBMA address: 172.16.3.1 C 10.0.1.0/24 is directly connected, Tunnel1
192.168.1.0/24 via 10.0.0.11 L 10.0.1.11/32 is directly connected, Tunnel1
Tunnel0 created 00:01:01, expire 00:04:58 D 192.168.0.0/21 [90/13312000] via 10.0.1.2, 00:04:38, Tunnel1
Type: dynamic, Flags: router unique local 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
NBMA address: 172.16.1.1 C 192.168.1.0/24 is directly connected, Ethernet0/0
(no-socket) L 192.168.1.1/32 is directly connected, Ethernet0/0
192.168.3.0/24 via 10.0.0.13 D 192.168.10.0/24 [90/13824000] via 10.0.1.2, 00:04:38, Tunnel1
Tunnel0 created 00:01:00, expire 00:04:59 D 192.168.11.0/24 [90/1536000] via 192.168.1.2, 00:04:38, Ethernet0/0
Type: dynamic, Flags: router D 192.168.13.0/24 [90/17408000] via 10.0.1.2, 00:04:38, Tunnel1
NBMA address: 172.16.3.1
192.168.11.0/24 via 10.0.0.11 NHRP mapping entries not in RIB
Tunnel0 created 00:00:52, expire 00:05:07 No matching Parent Route
Type: dynamic, Flags: router unique local
NBMA address: 172.16.1.1
(no-socket)
192.168.13.0/24 via 10.0.0.13
Tunnel0 created 00:00:52, expire 00:05:07
Type: dynamic, Flags: router
NBMA address: 172.16.3.1
Forwarding over Secondary DMVPN (no nhrp route-watch)
Dual DMVPN MC
Physical: 192.168.10.3
Internet DMVPN
192.168.10.0/24 Loop0: 172.18.0.10
MPLS DMVPN
.2 .1
Primary path
Hub1 Hub2
nhrp route-watch Physical: 172.16.0.1 Physical: 172.17.0.5
no nhrp route-watch Tunnel0: 10.0.0.1 Tunnel1: 10.0.1.1
Loop0: 172.18.0.1 Loop0: 172.18.0.2
MPLS Internet
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
192.168.13.0/14
192.168.1.0 /24
192.168.11.0/24
Forwarding over Secondary DMVPN (no nhrp route-watch)
NHRP RIB
SpokeA# show ip nhrp SpokeA# show ip route
10.0.0.13/32 via 10.0.0.13 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
Tunnel0 created 00:00:36, expire 00:05:25 C 10.0.0.0/24 is directly connected, Tunnel0
Type: dynamic, Flags: router nhop rib L 10.0.0.11/32 is directly connected, Tunnel0
NBMA address: 172.16.3.1 H 10.0.0.13/32 is directly connected, 00:00:34, Tunnel0
192.168.1.0/24 via 10.0.0.11 C 10.0.1.0/24 is directly connected, Tunnel1
Tunnel0 created 00:00:35, expire 00:05:24 L 10.0.1.11/32 is directly connected, Tunnel1
Type: dynamic, Flags: router unique local D 192.168.0.0/21 [90/13312000] via 10.0.1.2, 00:11:02, Tunnel1
NBMA address: 172.16.1.1 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
(no-socket) C 192.168.1.0/24 is directly connected, Ethernet0/0
192.168.3.0/24 via 10.0.0.13 L 192.168.1.1/32 is directly connected, Ethernet0/0
Tunnel0 created 00:00:34, expire 00:05:25 H 192.168.3.0/24 [250/1] via 10.0.0.13, 00:00:34, Tunnel0
Type: dynamic, Flags: router rib D 192.168.10.0/24 [90/13824000] via 10.0.1.2, 00:11:02, Tunnel1
NBMA address: 172.16.3.1 D 192.168.11.0/24 [90/1536000] via 192.168.1.2, 00:11:02, Ethernet0/0
192.168.11.0/24 via 10.0.0.11 D % 192.168.13.0/24 [90/17408000] via 10.0.1.2, 00:11:02, Tunnel1
Tunnel0 created 00:00:24, expire 00:05:35 [NHO][90/1] via 10.0.0.13, 00:00:28, Tunnel0
Type: dynamic, Flags: router unique local
NBMA address: 172.16.1.1 No Check for Parent Routes
(no-socket)
192.168.13.0/24 via 10.0.0.13
Tunnel0 created 00:00:24, expire 00:05:35
Type: dynamic, Flags: router rib nho
NBMA address: 172.16.3.1
Building spoke-spoke tunnels with NHRP and PfRv3
• PfRv3 Controlled Data flows
• Forwards data flows over both primary and secondary DMVPN
• PfR controls any load-balancing
• Uses PfR Loopback as next-hop (Ex: 172.18.0.x)
• NHRP triggered to build spoke-spoke tunnel over both DMVPNs
• NHRP mapping entries to Loopback (Ex: 172.18.0.x)
• NHRP modifies RIB for Loopback next-hop
• If routing changes PfR controlled flows quickly rerouted
MPLS Internet
Physical: (dynamic)
Tunnel0: 10.0.0.13
Physical: (dynamic) Tunnel1: 10.0.1.13
Tunnel0: 10.0.0.11 Loop0: 172.18.0.13
Tunnel1: 10.0.1.11
Loop0: 172.18.0.11
Spoke C
.1
Spoke A 192.168.3.0/24
.1
192.168.13.0/14
192.168.1.0 /24
192.168.11.0/24
Forwarding over Primary and Secondary DMVPN
NHRP RIB
SpokeA# show ip nhrp brief SpokeA# show ip route next-hop-override
Target Via NBMA Mode Intfc 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
10.0.0.1/32 10.0.0.1 172.16.0.1 static Tu0 C 10.0.0.0/24 is directly connected, Tunnel0
10.0.0.11/32 10.0.0.11 172.16.1.1 dyn,loc Tu0 L 10.0.0.11/32 is directly connected, Tunnel0
10.0.0.13/32 10.0.0.13 172.16.3.1 dyn,rib Tu0 H 10.0.0.13/32 is directly connected, 00:08:40, Tunnel0
172.18.0.11/32 10.0.0.11 172.16.1.1 dyn,loc Tu0 C 10.0.1.0/24 is directly connected, Tunnel1
172.18.0.13/32 10.0.0.13 172.16.3.1 dyn,nho Tu0 L 10.0.1.11/32 is directly connected, Tunnel1
10.0.1.2/32 10.0.1.2 172.17.0.5 static Tu1 H 10.0.1.13/32 is directly connected, 00:09:05, Tunnel1
10.0.1.11/32 10.0.1.11 172.17.1.1 dyn,loc Tu1 172.18.0.0/32 is subnetted, 8 subnets
10.0.1.13/32 10.0.1.13 172.17.3.1 dyn,rib Tu1 D 172.18.0.1 [90/12800640] via 10.0.0.1, 02:07:25, Tunnel0
172.18.0.11/32 10.0.1.11 172.17.1.1 dyn,loc Tu1 D 172.18.0.2 [90/10752640] via 10.0.1.2, 02:07:25, Tunnel1
172.18.0.13/32 10.0.1.13 172.17.3.1 dyn,nho Tu1 D 172.18.0.10 [90/13312640] via 10.0.1.2, 02:07:25, Tunnel1
192.168.1.0/24 10.0.1.11 172.17.1.1 dyn,loc Tu1 C 172.18.0.11 is directly connected, Loopback0
192.168.3.0/24 10.0.1.13 172.17.3.1 dyn,rib Tu1 D % 172.18.0.13 [90/16384640] via 10.0.1.2, 02:04:46, Tunnel1
192.168.11.0/24 10.0.1.11 172.17.1.1 dyn,loc Tu1 [NHO][90/1] via 10.0.0.13, 00:02:19, Tunnel0
192.168.13.0/24 10.0.1.13 172.17.3.1 dyn,nho Tu1 [NHO][90/1] via 10.0.1.13, 00:08:40, Tunnel1
D 192.168.0.0/21 [90/13312000] via 10.0.1.2, 02:07:25, Tunnel1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Ethernet0/0
L 192.168.1.1/32 is directly connected, Ethernet0/0
H 192.168.3.0/24 [250/1] via 10.0.1.13, 00:09:05, Tunnel1
D 192.168.10.0/24 [90/13824000] via 10.0.1.2, 02:04:46, Tunnel1
D 192.168.11.0/24 [90/1536000] via 192.168.1.2, 02:07:25, Ethernet0/0
D % 192.168.13.0/24 [90/17408000] via 10.0.1.2, 02:04:46, Tunnel1
[NHO][90/1] via 10.0.1.13, 00:08:59, Tunnel1
Summary
Routing Protocol (RP), NHRP and PfRv3
• Routing protocol (RP) – destinations outside of the DMVPN
• Sets base forwarding for IWAN
• Set preference for one DMVPN or can setup up ECMP routes
• PfRv3 – optimize forwarding of flows over different DMVPN paths
• Find paths directly in RP database (except OSPF)
• PfR RIB forwards flows over paths to MC/BR Loopback next-hop
• Probe traffic over alternate paths
• NHRP – optimizes forwarding within a single DMVPN
• Shortcut (spoke-spoke) tunnels
• Triggered by data traffic and/or PfRv3 probe traffic
• Use ‘no nhrp route-watch’ to enable shortcut tunnels over alternate paths
• NHRP mapping/routes to MC/BR Loopback addresses
Agenda
• DMVPN Design Overview
• DMVPN General
• IWAN Specific
• NHRP Details
• NHRP Overview
• NHRP Registrations
• NHRP Resolutions/Redirects
• Recent and New Features
• Configuration, Resiliency,
Routing and Forwarding,
Centralized Control
Configuration Reduction
• Issue
• CLI commands need to be configured to recommended values because defaults are not
very useful.
• Solution
• Change CLI command defaults to recommended values
• Set other CLI commands as default so that they don’t have to be configured at all
• Derive CLI command values from other parts of the configuration so they don’t have to
be configured.
Configuration
• New defaults (IOS/XE 16.3) • Future Defaults & Auto-config.
• NHRP • NHRP
• Spoke: (ip/ipv6) • ip/ipv6 nhrp network-id #
• nhrp holdtime 600 • 1st: tunnel key #
• nhrp shortcut • 2nd: Interface tunnel#
• nhrp registration no-unique • Tunnel Defaults
• Hub: (ip/ipv6) • tunnel vrf <tunnel-source-vrf>
• nhrp holdtime 600
• Miscellaneous Defaults
• nhrp map multicast dynamic
• ip mtu
• nhrp max-send 10000 every 10 (15.5(3)[S,M]2)
• ip tcp adjust-mss
• bandwidth (inherit)
NHRP Original Configuration
interface Tunnel0
bandwidth 1000
ip address 10.0.0.1 255.255.255.0
Hub interface Tunnel0
bandwidth 1000
ip address 10.0.0.11 255.255.255.0
Spoke
no ip redirects no ip redirects
ip mtu 1400 ip mtu 1400
ip nhrp authentication test ip nhrp authentication test
ip nhrp map multicast dynamic ip nhrp map multicast 172.17.0.1
ip nhrp map multicast 172.17.0.1 ip nhrp map 10.0.0.1 172.17.0.1
ip nhrp map 10.0.0.1 172.17.0.1 ip nhrp map multicast 172.17.0.5
ip nhrp network-id 100000 ip nhrp map 10.0.0.2 172.17.0.5
ip nhrp holdtime 600 ip nhrp network-id 100000
ip nhrp nhs 10.0.0.1 ip nhrp holdtime 600
ip nhrp redirect ip nhrp nhs 10.0.0.1
ip tcp adjust-mss 1360 ip nhrp nhs 10.0.0.2
delay 1000 ip nhrp registration no-unique
tunnel source Serial2/0 ip nhrp shortcut
tunnel mode gre multipoint ip tcp adjust-mss 1360
tunnel key 100000 delay 1000
tunnel vrf Outside tunnel source Serial1/0
tunnel protection ipsec profile DMVPN tunnel mode gre multipoint
! tunnel key 100000
tunnel vrf Outside
tunnel protection ipsec profile DMVPN
!
NHRP NHS Configuration Reduction – IOS 12.4(20)
interface Tunnel0
• Main use of NHRP mapping is to ...
ip nhrp map multicast 172.17.0.1
Hub
create static mapping for NHS. ip nhrp map 10.0.0.1 172.17.0.1
...
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
• Combine associated NHRP ...
!
mapping and NHS commands
into a single line.
• Can still configure separate NHRP
mappings for other purposes. interface Tunnel0
...
ip nhrp map multicast 172.17.0.1
ip nhrp map 10.0.0.1 172.17.0.1
Spoke
ip nhrp map multicast 172.17.0.5
ip nhrp map 10.0.0.2 172.17.0.5
...
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
ip nhrp nhs 10.0.0.2 nbma 172.17.0.5 multicast
...
!
NHRP Configuration New Defaults – IOS/XE 16.3
interface Tunnel0
• Spoke: (ip/ipv6) ...
ip nhrp authentication test Hub
• nhrp holdtime 600 ip nhrp map multicast dynamic
ip nhrp network-id 100000
• nhrp shortcut ip nhrp holdtime 600
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
ip nhrp redirect
• nhrp registration no-unique ...
!
• Hub: (ip/ipv6)
• nhrp holdtime 600
• nhrp map multicast dynamic interface Tunnel0
...
ip nhrp authentication test
ip nhrp network-id 100000
Spoke
ip nhrp holdtime 600
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
ip nhrp nhs 10.0.0.2 nbma 172.17.0.5 multicast
ip nhrp registration no-unique
ip nhrp shortcut
...
!
Tunnel Configuration Automatic Settings – Future
interface Tunnel0
• NHRP network-id bandwidth 1000
ip address 10.0.0.11 255.255.255.0
• Set to tunnel key <value> if configured no ip redirects
ip mtu 1400
• Otherwise, set to tunnel interface <#> ip nhrp authentication test
ip nhrp network-id 100000
• Tunnel VRF ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
ip nhrp nhs 10.0.0.2 nbma 172.17.0.5 multicast
• Set to VRF of tunnel source interface ip tcp adjust-mss 1360
delay 1000
• MTU tunnel source Serial1/0
tunnel mode gre multipoint
• Set to 1400 bytes tunnel key 100000
tunnel vrf Outside
• Use tunnel source <interface> tunnel protection ipsec profile DMVPN
(IPv4/IPv6) MTU – (100/120) bytes !
interface Serial1/0
• MSS ip mtu 1500
vrf forwarding Outside
• Set to (IPv4/IPv6) MTU – (40/60) bytes ip address 172.16.1.1 255.255.255.252
serial restart-delay 0
end
NHRP Final Configuration
interface Tunnel0
bandwidth 1000
ip address 10.0.0.1 255.255.255.0
Hub interface Tunnel0
bandwidth 1000
ip address 10.0.0.11 255.255.255.0
Spoke
ip nhrp authentication test ip nhrp authentication test
ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
ip nhrp redirect ip nhrp nhs 10.0.0.2 nbma 172.17.0.5 multicast
delay 1000 delay 1000
tunnel source Serial2/0 tunnel source Serial1/0
tunnel mode gre multipoint tunnel mode gre multipoint
tunnel key 100000 tunnel key 100000
tunnel protection ipsec profile DMVPN tunnel protection ipsec profile DMVPN
! !
Agenda
• DMVPN Design Overview
• DMVPN General
• IWAN Specific
• NHRP Details
• NHRP Overview
• NHRP Registrations
• NHRP Resolutions/Redirects
• Recent and New Features
• Configuration, Resiliency,
Routing and Forwarding,
Centralized Control
Resiliency
• Issues
• Many backup NHSs configured, but don’t want them all up
• Quickly failover all spokes to alternate hubs when a hub fails
• Quickly failover a spoke to alternate hub when spoke-hub tunnel fails
• Solutions
• Backup and FQDN NHS
• Fast Hub Failover using BGP (BFD between hubs)
• BFD over DMVPN (BFD on spoke-hub and spoke-spoke tunnels)
Tunnel Health Monitoring
Interface State – 15.0(1)M
• Issue
• mGRE tunnel Interface is always “up”
• Can’t use standard backup/recovery mechanisms
• backup interface, static interface routes, …
interface Tunnel0
• Solution ip address 10.0.0.11 255.255.255.0
• New Command ‘if-state nhrp’ …
ip nhrp map multicast 172.17.0.1
• Monitor NHRP registration replies ip nhrp map 10.0.0.1 172.17.0.1
ip nhrp map multicast 172.17.0.5
• If all NHSs are “down” then set tunnel interface up/down ip nhrp map 10.0.0.2 172.17.0.5
• Continue to send NHRP registration requests …
ip nhrp nhs 10.0.0.1
• If a single NHS is “up” then set tunnel interface up/up ip nhrp nhs 10.0.0.2
…
• Combine with ‘backup interface ...’ if-state nhrp
• Backup (tunnel) interface only up when main interface is down. …
Tunnel Health Monitoring – Interface State (cont.)
#show ip nhrp nhs detail
10.0.0.1 RE req-sent 100 req-failed 0 repl-recv 90 (00:01:38 ago)
10.0.0.2 RE req-sent 125 req-failed 0 repl-recv 79 (00:01:38 ago)
#show interface tunnel0
Tunnel0 is up, line protocol is up
*Apr 19 21:32:52 NHRP: NHS-DOWN: 10.0.0.1
*Apr 19 21:32:52 NHRP: NHS 10.0.0.1 Tunnel0 vrf 0 Cluster 0 Priority 0 Transitioned to 'E' from 'RE'
*Apr 19 21:32:53 NHRP: NHS-DOWN: 10.0.0.2
*Apr 19 21:32:53 NHRP: NHS 10.0.0.2 Tunnel0 vrf 0 Cluster 0 Priority 0 Transitioned to 'E' from 'RE'
*Apr 19 21:33:02 %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to down
*Apr 19 21:33:02 NHRP: if_down: Tunnel0 proto IPv4
#show ip nhrp nhs detail
10.0.0.1 E req-sent 105 req-failed 0 repl-recv 90 (00:02:12 ago)
10.0.0.2 E req-sent 130 req-failed 0 repl-recv 79 (00:02:12 ago)
interface Tunnel0
…
ip nhrp nhs 10.0.0.1 nbma Hub1.cisco.com multicast priority 10 cluster 1
ip nhrp nhs 10.0.0.2 nbma 172.17.0.5 multicast priority 20 cluster 1
ip nhrp nhs 10.0.0.3 nbma 172.17.0.9 multicast priority 10 cluster 2
ip nhrp nhs 10.0.0.4 nbma 172.17.0.13 multicast priority 10 cluster 2
ip nhrp nhs cluster 1 max-connections 1
ip nhrp nhs cluster 2 max-connections 1
#show ip nhrp nhs
Legend: E=Expecting replies, R=Responding, W=Waiting
Tunnel0:
10.0.0.1 RE NBMA Address: 172.17.0.1 (Hub1.Cisco.com) priority = 10 cluster = 1
10.0.0.2 W NBMA Address: 172.17.0.5 priority = 20 cluster = 1
10.0.0.3 RE NBMA Address: 172.17.0.9 priority = 10 cluster = 2
10.0.0.4 W NBMA Address: 172.17.0.13 priority = 10 cluster = 2
Fast Hub Failover using BGP
• Normal forwarding • Hubs “watch” each other (cont.)
• Few summary routes advertised to • Track loss of trigger route
spokes • When lost
• Covering all spoke site networks • Install static null0 route with special
• May have separate summary for Hub site tag for the summary routes
networks • Use BGP route-map to increase the
• Use MED to load balance or prefer one Local-Pref on tagged routes
• Spokes use Local-Pref over MED
hub over the other
• Recovery
• Hubs “watch” each other • Remove static null0 route with special tag
• Use BFD on physical link or tunnel link • Local-Pref reverts back to normal
between hubs • Spokes go back to using MED
.11
.12
C 10.0.0.0/24 Tunnel0 C 10.0.0.0/24 Tunnel0
B 192.168.0.0/16 [200/0] 10.0.0.1 B 192.168.0.0/16 [200/0] 10.0.0.1
Spoke1 B 192.168.0.0/24 [200/0] 10.0.0.1 Spoke2 B 192.168.0.0/24 [200/0] 10.0.0.1
.1 C 192.168.1.0/24 Ethernet0/0 .1 C 192.168.2.0/24 Ethernet0/0
D 192.168.11.0/24 [90/307200] 192.168.1.2 D 192.168.12.0/24 [90/307200] 192.168.2.2
192.168.1.0/24 .2 B 192.168.252.0/22 [200/0] 10.0.0.1 192.168.2.0/24 .2 B 192.168.252.0/22 [200/0] 10.0.0.1
00:47:08.732: BFD-DEBUG Event: V1 FSM ld:17 handle:1 event:ECHO FAILURE state:UP (0)
00:47:08.732: BFD-DEBUG Event: notify client(BGP) IP:192.168.0.1, ld:17, handle:1, event:DOWN, cp independent failure (0)
00:47:09.888: RT: updating static 192.168.0.0/16 (0x0) : via 0.0.0.0 Nu0 1048578
00:47:09.888: RT: updating static 192.168.252.0/22 (0x0) : via 0.0.0.0 Nu0 104878
Fast Hub Failover using BGP
Spoke1 Debugs
00:48:00.725: %BGP-3-NOTIFICATION: sent to neighbor 10.0.0.1 4/0 (hold time expired) 0 bytes
00:48:00.725: %BGP-5-NBR_RESET: Neighbor 10.0.0.1 reset (BGP Notification sent)
00:48:00.725: %BGP-5-ADJCHANGE: neighbor 10.0.0.1 Down BGP Notification sent
00:48:00.725: %BGP_SESSION-5-ADJCHANGE: neighbor 10.0.0.1 IPv4 Unicast topology base removed from session
BGP Notification sent
00:48:00.725: RT: updating bgp 192.168.0.0/24 (0x0) : via 10.0.0.2 1048577 BGP Hub1 neighbor down (60 secs)
00:48:00.725: RT: closer admin distance for 192.168.0.0, flushing 1 routes
00:48:00.725: RT: add 192.168.0.0/24 via 10.0.0.2, bgp metric [200/25600]
Fast Hub Failover using BGP (failover) (after 1-2
60 secs)
RIB 192.168.253.0/24 .1
192.168.254.0/24 R2
BGP 192.168.255.0/24
.3 192.168.0.0/24
.1 .2
Hub1 Hub2
S 1.0.0.2 Null0
C 10.0.0.0/24 Tunnel0
B 192.168.0.0/16 Null0, Tag 200
.2 C 192.168.0.0/24 Ethernet0/0
.1
B 192.168.1.0/24 [150/25600] 10.0.0.11
B 192.168.2.0/24 [150/25600] 10.0.0.12
...
B 194.168.11.0/24 [150/332800] 10.0.0.11
B 194.168.12.0/24 [150/332800] 10.0.0.12
DMVPN ...
S 192.168.252.0/22 Null0, Tag 200
10.0.0.0/24 D 192.168.253.0/24 [90/537600] 192.168.0.3
...
.11
.12
C 10.0.0.0/24 Tunnel0 C 10.0.0.0/24 Tunnel0
B 192.168.0.0/16 [200/51200] 10.0.0.2 B 192.168.0.0/16 [200/51200] 10.0.0.2
Spoke1 B [200/0] 10.0.0.1
192.168.0.0/24 [200/25600] 10.0.0.2 Spoke2 B 192.168.0.0/24 [200/0] 10.0.0.1
[200/25600] 10.0.0.2
.1 C 192.168.1.0/24 Ethernet0/0 .1 C 192.168.1.0/24 Ethernet0/0
192.168.2.0/24
D 192.168.11.0/24 [90/307200] 192.168.1.2 D 192.168.11.0/24 [90/307200] 192.168.2.2
192.168.12.0/24 192.168.1.2
192.168.1.0/24 .2 B 192.168.252.0/22 [200/51200] 10.0.0.2 192.168.2.0/24 .2 B 192.168.252.0/22 [200/51200] 10.0.0.2
18:14:10.103: IKEv2:(SESSION ID = 1,SA ID = 2):Sending DELETE INFO message for IPsec SA [SPI: 0xAC54C857]
18:14:10.103: IKEv2:(SESSION ID = 1,SA ID = 2):Sending Packet [To 172.17.0.1:500/From 172.16.1.1:500/VRF i0:f0]
18:14:10.104: IKEv2:(SESSION ID = 1,SA ID = 2):Check for existing active SA
18:14:10.104: IKEv2:Searching Policy with fvrf 0, local address 172.16.1.1 Reset Crypto
18:14:10.105: IKEv2:(SESSION ID = 1,SA ID = 1):Generating IKE_SA_INIT message
18:14:10.105: IKEv2:(SESSION ID = 1,SA ID = 1):Sending Packet [To 172.17.0.1:500/From 172.16.1.1:500/VRF i0:f0]
18:14:12.010: IKEv2:(SESSION ID = 1,SA ID = 2):Retransmitting packet
18:14:12.010: IKEv2:(SESSION ID = 1,SA ID = 2):Sending Packet [To 172.17.0.1:500/From 172.16.1.1:500/VRF i0:f0]
BFD over DMVPN
Spoke-Spoke tunnel
18:46:52.695: NHRP: Receive Traffic Indication via Tunnel0 vrf global(0x0), packet size: 96
18:46:52.705: NHRP: Send Resolution Request for dest: 192.168.12.1 to nexthop: 192.168.12.1 src: 10.0.0.11
18:46:52.784: NHRP: Receive Resolution Request via Tunnel0 vrf global(0x0), packet size: 104
18:46:52.839: %BFD-6-BFD_SESS_CREATED: bfd_session_created, neigh 10.0.0.12 proc:NHRP, idb:Tunnel0 handle:7 act
18:46:52.839: NHRP: Send Resolution Reply via Tunnel0 vrf global(0x0), packet size: 132
18:46:52.875: %BFDFSM-6-BFD_SESS_UP: BFD session ld:2 handle:7 is going UP
18:46:52.875: NHRP: Receive Resolution Reply via Tunnel0 vrf global(0x0), packet size: 132 Normal tunnel down
(no data traffic) (10 min)
18:56:52.875: %BFD-6-BFD_SESS_DESTROYED: bfd_session_destroyed, ld:2 neigh proc:NHRP, handle:7 act
19:19:04.622: NHRP: Receive Traffic Indication via Tunnel0 vrf global(0x0), packet size: 96
19:19:04.632: NHRP: Send Resolution Request for dest: 192.168.12.1 to nexthop: 192.168.12.1 using our src: 10.0.0.11
19:19:04.703: NHRP: Receive Resolution Request via Tunnel0 vrf global(0x0), packet size: 104
19:19:04.734: %BFD-6-BFD_SESS_CREATED: bfd_session_created, neigh 10.0.0.12 proc:NHRP, idb:Tunnel0 handle:7 act
19:19:04.734: NHRP: Send Resolution Reply via Tunnel0 vrf global(0x0), packet size: 132
19:19:04.771: NHRP: Receive Resolution Reply via Tunnel0 vrf global(0x0), packet size: 132
19:19:04.782: %BFDFSM-6-BFD_SESS_UP: BFD session ld:10 handle:7 is going UP
19:19:24.209: %BFDFSM-6-BFD_SESS_DOWN: BFD session ld:10 handle:7,is going Down Reason: DETECT TIMER EXPIRED
19:19:24.209: BFD-DEBUG Event: notify client(NHRP) IP:10.0.0.12, ld:10, handle:7, event:DOWN, (0)
19:19:24.211: NHRP: Calling for delete of Tunnel Endpoints (VPN: 10.0.0.12, NBMA: 172.16.2.1) Abnormal tunnel down
19:19:24.211: %BFD-6-BFD_SESS_DESTROYED: bfd_session_destroyed, ld:10 neigh proc:NHRP, handle:7 act (BFD triggered) (20 sec)
19:19:24.800: NHRP: Receive Traffic Indication via Tunnel0 vrf global(0x0), packet size: 96
Agenda
NHRP summarization
• Current Behavior
• NHRP answers resolution request with most specific RIB network/mask
• Ability to summarize NHRP mappings and routes like RP routes
• ip nhrp summary-map { network/mask-length | network mask }
• Used in resolution responses instead of matching RIB network/mask* * NHRP summary network/mask
• Similar to a summary route for a Routing Protocol used even if more specific
than RIB network/mask
• Use Cases
• Summary of spoke subnets for NHRP resolution replies
• Fixes 1st subnet of summary route use at spoke, spoke-spoke refresh issue
• Default (0/0) NHRP /32 resolution replies mitigation rather than static routes
Physical: 172.16.2.1
Tunnel0: 10.0.0.12
Physical: 172.16.1.1
10.0.0.1/32 172.17.0.1 Tunnel0: 10.0.0.11 Spoke B
Spoke A
C 10.0.0.0/24 Tunnel0 10.0.0.1/32 172.17.0.1
B 192.168.0.0/16 10.0.0.1
C 192.168.1.0/24 Ethernet0/0 192.168.2.1/24 C 10.0.0.0/24 Tunnel0
B 192.168.11.0/24 Null0 B 192.168.0.0/16 10.0.0.1
192.168.1.1/24
D 192.168.11.0/27 192.168.1.2 C 192.168.2.0/24 Ethernet0/0
D 192.168.11.32/27 192.168.1.2 D 192.168.12.0/24 192.168.2.2
D 192.168.11.64/27 192.168.1.2
D 192.168.11.96/27 192.168.1.2
D 192.168.11.128/27 192.168.1.2
D 192.168.11.160/27 192.168.1.2
D 192.168.11.192/27 192.168.1.2
D 192.168.11.224/27 192.168.1.2
NHRP Summary Map
Without Summary-Map C 10.0.0.0/24 Tunnel0
B 192.168.0.0/16 Null0
NHRP mapping C 192.168.2.0/24 Ethernet0/0
10.0.0.11/32 172.16.1.1
10.0.0.12/32 172.16.2.2 192.168.0.1/24 C 192.168.0.0/24 Ethernet0/0
RIB Table B 192.168.1.0/24 10.0.0.11
B 192.168.2.0/24 10.0.0.12
10.0.0.1/32 172.17.0.1 Physical: 172.17.0.1 B 192.168.11.0/24 10.0.0.11
192.168.11.0/27 172.16.1.1 (l) Tunnel0: 10.0.0.1 B 192.168.12.0/24 10.0.0.12
10.0.0.1/32 172.17.0.1
192.168.11.32/27 172.16.1.1 (l) 10.0.0.11/32 172.16.1.1
192.168.11.64/27 172.16.1.1 (l) 192.168.11.0/27 172.16.1.1
192.168.11.96/27 172.16.1.1 (l) 192.168.11.32/27 172.16.1.1
192.168.11.128/27 172.16.1.1 (l) Physical: 172.16.2.1 192.168.11.64/27 172.16.1.1
192.168.11.160/27 172.16.1.1 (l) Tunnel0: 10.0.0.12 192.168.11.96/27 172.16.1.1
Physical: 172.16.1.1
192.168.11.192/27 172.16.1.1 (l) 192.168.11.128/27 172.16.1.1
Tunnel0: 10.0.0.11 Spoke B
192.168.11.224/27 172.16.1.1 (l) 192.168.11.160/27 172.16.1.1
Spoke A 192.168.11.192/27 172.16.1.1
C 10.0.0.0/24 Tunnel0 192.168.11.224/27 172.16.1.1
B 192.168.0.0/16 10.0.0.1
C 192.168.1.0/24 Ethernet0/0 192.168.2.1/24 C 10.0.0.0/24 Tunnel0
B 192.168.11.0/24 Null0 B 192.168.0.0/16 10.0.0.1
192.168.1.1/24 Ethernet0/0
D 192.168.11.0/27 192.168.1.2 C 192.168.2.0/24
D 192.168.11.32/27 192.168.1.2 H 192.168.11.0/27 10.0.0.11
D 192.168.11.64/27 192.168.1.2 H 192.168.11.32/27 10.0.0.11
D 192.168.11.96/27 192.168.1.2 H 192.168.11.64/27 10.0.0.11
D 192.168.11.128/27 192.168.1.2 H 192.168.11.96/27 10.0.0.11
D 192.168.11.160/27 192.168.1.2 H 192.168.11.128/27 10.0.0.11
D 192.168.11.192/27 192.168.1.2 H 192.168.11.160/27 10.0.0.11
D 192.168.11.224/27 192.168.1.2 H 192.168.11.192/27 10.0.0.11
H 192.168.11.224/27 10.0.0.11
D 192.168.12.0/24 192.168.2.2
NHRP Summary Map
With Summary-Map C 10.0.0.0/24 Tunnel0
B 192.168.0.0/16 Null0
NHRP mapping C 192.168.2.0/24 Ethernet0/0
10.0.0.11/32 172.16.1.1
10.0.0.12/32 172.16.2.2 192.168.0.1/24 C 192.168.0.0/24 Ethernet0/0
RIB Table B 192.168.1.0/24 10.0.0.11
B 192.168.2.0/24 10.0.0.12
Physical: 172.17.0.1 B 192.168.11.0/24 10.0.0.11
Tunnel0: 10.0.0.1 B 192.168.12.0/24 10.0.0.12
Physical: 172.16.2.1
Tunnel0: 10.0.0.12
10.0.0.1/32 172.17.0.1 Physical: 172.16.1.1
Tunnel0: 10.0.0.11 Spoke B 172.17.0.1
192.168.11.0/24 172.16.1.1 (s,l) 10.0.0.1/32
Spoke A 10.0.0.11/32 172.16.1.1
C 10.0.0.0/24 Tunnel0 192.168.11.0/24 172.16.1.1
B 192.168.0.0/16 10.0.0.1
C 192.168.1.0/24 Ethernet0/0 192.168.2.1/24 C 10.0.0.0/24 Tunnel0
B 192.168.11.0/24 Null0 B 192.168.0.0/16 10.0.0.1
192.168.1.1/24
D 192.168.11.0/27 192.168.1.2 C 192.168.2.0/24 Ethernet0/0
D 192.168.11.32/27 192.168.1.2 H 192.168.11.0/24 10.0.0.11
D 192.168.11.64/27 192.168.1.2 D 192.168.12.0/24 192.168.2.2
D 192.168.11.96/27 192.168.1.2
D 192.168.11.128/27 192.168.1.2
D 192.168.11.160/27 192.168.1.2
D 192.168.11.192/27 192.168.1.2
D 192.168.11.224/27 192.168.1.2
NHRP Route Advertisement
• Route advertisement between hub and spoke in NHRP registration message
• Ability to redistribute routes between NHRP and other routing protocols
• redistribute nhrp ...
• Control NHRP routing using standard ‘router nhrp ...’ CLI construct
• Not a replacement for regular routing protocols (EIGRP, BGP, ...)
• RPs handle much more complex networks
• For simple hub-spoke and spoke-spoke DMVPNs (IoT)
• 10,000s small spoke sites with one or few subnets
• 100,000s of spokes sites in hub-spoke IoT networks
• Preliminary scaling to 10,000 30,000+ spokes per hub (CSR)
Routing Protocol Features – BGP
• iBGP Local-AS (15.2(2)T, 15.1(3)S (CSCtj48063))
• Run iBGP over DMVPN
• Tunnel end-point routers may have different native BGP ASs
• Allows ‘neighbor ... local-as #’ and ‘neighbor ... remote-as #’ to be the same (iBGP)
• ’neighbor ... local-as #’ is different from local native BGP AS, ‘router bgp #’
• Almost like eBGP within the router between the native AS and the AS over DMVPN
• BGP Dynamic Neighbors to reduce configuration on hub
• Added IPv6 Dynamic Neighbor support in 16.3, 15.6(3)M
router bgp 65000
bgp listen range 10.0.0.0/24 peer-group spokes BGP Dynamic Neighbors
...
neighbor spokes peer-group
neighbor spokes remote-as 65001
neighbor spokes local-as 65001 iBGP Local-AS
...
Routing Protocol Features – EIGRP
• Equal Cost MultiPath (15.2(3)T, 15.2(1)S (CSCsj31328))
• Destination network is reachable via more than one DMVPN (mGRE tunnel)
and the ip next-hop needs to be preserved (Phase 2).
no ip next-hop-self eigrp <as> [no-ecmp-mode]
Spoke B
192.168.0.1/24
10.0.0.1 172.17.0.1 CPH 10.0.0.11 172.16.1.1
10.0.0.11 172.16.1.1 DPH 10.0.0.12 172.16.2.1
10.0.0.12 172.16.2.1 10.0.0.254 172.31.0.1
Phy: 172.17.0.1
192.168.0.0/16 10.0.0.1 192.168.0.0/16 Null0
Tu0: 10.0.0.254
Phy: 172.31.0.1
Tu0: 10.0.0.1
192.168.0.0/24 10.0.0.1 192.168.0.0/24 Ethernet0/0
192.168.1.0/24 10.0.0.11 192.168.1.0/24 10.0.0.11
192.168.2.0/24 10.0.0.12 192.168.2.0/24 10.0.0.12
Spoke B
10.0.0.1 172.17.0.1
10.0.0.1 172.17.0.1 10.0.0.254 172.31.0.1
10.0.0.254 172.31.0.1 = Control Plane tunnels
= Data Plane tunnels 192.168.0.0/16 10.0.0.1
192.168.0.0/16 10.0.0.1 192.168.2.0/24 Ethernet0/0
192.168.1.0/24 Ethernet0/0
Centralized Routing and NHS NHRP mapping
Tu0: 10.0.0.254
Phy: 172.31.0.1
Tu0: 10.0.0.1
192.168.0.0/24 10.0.0.1 192.168.0.0/24 Ethernet0/0
192.168.1.0/24 10.0.0.11 192.168.1.0/24 10.0.0.11
192.168.2.0/24 10.0.0.12 192.168.2.0/24 10.0.0.12
Spoke B
Spoke A
Phy: 172.16.2.1 192.168.2.1/24
192.168.1.1/24 Phy: 172.16.1.1
Tu0: 10.0.0.12
10.0.0.1 172.17.0.1 (16)
Tu0: 10.0.0.11 10.0.0.1 172.17.0.1 (16)
Tu0: 10.0.0.254
Phy: 172.31.0.1
Tu0: 10.0.0.1
192.168.0.0/24 10.0.0.1 192.168.0.0/24 Ethernet0/0
192.168.1.0/24 10.0.0.11 192.168.1.0/24 10.0.0.11
192.168.2.0/24 10.0.0.12 192.168.2.0/24 10.0.0.12
Spoke B
Spoke A
Phy: 172.16.2.1 192.168.2.1/24
192.168.1.1/24 Phy: 172.16.1.1
Tu0: 10.0.0.12
10.0.0.1/32 172.17.0.1 (16)
Tu0: 10.0.0.11 10.0.0.1/32 172.17.0.1 (16)
10.0.0.12/32 172.16.2.1 10.0.0.11/32 172.16.1.1
10.0.0.254/32 172.31.0.1 10.0.0.254/32 172.31.0.1
192.168.2.0/24 ???
192.168.2.1/32 172.16.2.1
= Control Plane tunnels 192.168.1.0/24 172.16.1.1
192.168.1.1/32
= Data Plane tunnels
192.168.0.0/16 10.0.0.1 = Dynamic spoke-spoke tunnel
192.168.0.0/16 10.0.0.1
192.168.1.0/24 Ethernet0/0 192.168.1.0/24 10.0.0.11
192.168.2.0/24 10.0.0.12 192.168.2.0/24 Ethernet0/0
Centralized Routing and NHS
• Summary
• Separation of Control and Data Planes
• ISP Managed DMVPN Service (CPH in ISP network, DPHs in customer network)
• Separate scaling for CPH (RP peers) and DPH (Encryption throughput)
• Uses the same DMVPN/mGRE infrastructure
• Main NHS at CPH, Natural backup NHS at DPH
• Future
• Download from CPH to spokes, NHS summary-map configuration for DPH
{ip | ipv6} nhrp summary-map {all-routed [nbma] | prefix [[nbma [preference pref]]} [multicast] [resolve]
[match {group group_name | geo-location geo-location | topo-location topo-location | attribute attr_type
attr_value}]
• All-routed: RP advertises summary temporary map to use NBMA as DPH
• Prefix: Default/summary prefix passed to spokes
• Resolve: Prefix is specified, but not NBMA forces resolution for all packets; hub-less model
• Match: Push different summary maps depending on attributes from spoke registration to CPH
Centralized Control
Extensible Security for Overlay Network (ESON)
• A Centralized Key Server Solution with pairwise key capability.
• Centralized management of policy & pairwise and group keys for IPsec overlay VPNs
• Leverages GetVPN control plane (GDOI/G-IKEv2) as underlying infrastructure
• GM-KS: G-IKEv2 Registrations for initial pull of policy & keying material
• KS-GM: KS pushes periodic rekeys (unicast/multicast)
• KS-KS: Multiple KSs for redundancy using COOP over IKEv2
Data Plane
PIP *(TEK)
GM – GM
• IPsec *(GM1-GM2 Pairwise key)
IPsec
GM1 / DMVPN *(GM1-GM2 pairwise key) GM2 / DMVPN
Hub/Spoke Hub/Spoke Data Plane Redundancy
Group Keys: TEK, KEK Group Keys: TEK, KEK GM – GM
GM1 Key Material GM2 Key Material • Redundant Hubs
GM1 Identity GM2 Identity
GM1-GM2 Pairwise key GM1-GM2 Pairwise key
DMVPN with ESON - Value Proposition
• Centralized key server and management
• Centralized authentication & authorization of GMs (DMVPN Hub/spoke)
• Centralized management of crypto policy and keys
• Crypto Control-plane/Data-plane separation, no IKEv2 or DH between GMs
• Easier to manage
• Elasticity of scale; Reduced setup latency; Virtualized Key Server
• Faster & more effective removal of compromised GMs
• Better enforcement of enterprise security policy & centralized trust management
• Allows varying key management schemes
• Group keys: Control Plane (PIP); Data Plane (Native Multicast)
• Pairwise keys for better security – Data Plane (Unicast)
• Various rekey policies/schemes are possible
IKEv2 with DMPVN
• DMVPN works with ISAKMP (IKEv1) and/or IKEv2
• Transparent to DMVPN
• Node can be responder for both ISAKMP and IKEv2
• Both ISAKMP and IKEv2 are configured.
• Node can be Initiator for either ISAKMP or IKEv2 not both
• Configure under the ‘crypto ipsec profile ...’
crypto isakmp policy 2 crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0
encr aes
crypto ipsec transform-set DMVPN esp-aes esp-sha-hmac
authentication pre-share
mode transport [require]
group 2
crypto ikev2 keyring DMVPN crypto ipsec profile DMVPN
peer DMVPN set transform-set DMVPN With initiate IKEv2
address 0.0.0.0 0.0.0.0 set ikev2-profile DMVPN Without initiate IKEv1
pre-shared-key cisco123
crypto ikev2 profile DMVPN interface Tunnel0
match identity remote address 0.0.0.0 ...
authentication local pre-share tunnel protection ipsec profile DMVPN
authentication remote pre-share
keyring DMVPN
Per-tunnel QoS
(hubspoke) 12.4(22)T; (spokehub, spokespoke) 15.5(1)S,T
interface Tunnel0
• QoS per tunnel on hub and spokes nhrp group name
…
• Dynamically select Hierarchical (parent/child) QoS Policy nhrp map group name1 service-policy output qos-template1
nhrp map group name2 service-policy output qos-template2
• Receiving Node: Configure NHRP group name on tunnel …
• Sending Node: Configure QoS template policies; Map NHRP group name to QoS template policy
• Nodes with same NHRP group name are mapped to separate instances of QoS policy
• Same policy used for both IPv4 and IPv6
• QoS policy applied at outbound physical interface
• Classification done before GRE encapsulation by tunnel
• ACL matches against Data IP packet
• Don’t configure ‘qos pre-classify’ on tunnel interface
• Shaping/policing done on physical after IPsec encryption
• On physical may have separate aggregate QoS policy
• With only a class-default shaper (15.2(2)T,S)
• CPU intensive; can reduce hub scaling by about 50% on software forwarding platforms
Per-tunnel QoS – Configurations
interface Tunnel0
class-map match-all typeA_voice
Hub and ip address 10.0.0.1 255.255.255.0 Hub
…
match access-group 100 Spokes ip nhrp map multicast dynamic
class-map match-all typeB_voice
nhrp group typeB
match access-group 100
class-map match-all typeA_Routing …
nhrp map group typeA service-policy output typeA_parent
match ip precedence 6
class-map match-all typeB_Routing nhrp map group typeB service-policy output typeB_parent
…
match ip precedence 6
ip nhrp redirect
…
policy-map typeA
class typeA_voice interface Tunnel0
priority 1000 ip address 10.0.0.[11,13] 255.255.255.0 Spoke1,3
class typeA_Routing …
bandwidth percent 20 nhrp group typeA
…
policy-map typeB nhrp map group typeA service-policy output typeA_parent
class typeB_voice nhrp map group typeB service-policy output typeB_parent
priority percent 20 …
class typeB_Routing ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
bandwidth percent 10 …
policy-map typeA_parent interface Tunnel0
class class-default ip address 10.0.0.12 255.255.255.0 Spoke2
shape average 3000000 …
service-policy typeA nhrp group typeB
…
policy-map typeB_parent nhrp map group typeA service-policy output typeA_parent
class class-default nhrp map group typeB service-policy output typeB_parent
shape average 2000000 …
service-policy typeB ip nhrp nhs 10.0.0.1 nbma 172.17.0.1 multicast
…
Per-tunnel QoS – QoS Output on Hub
Hub#show ip nhrp Hub#show policy-map multipoint tunnel 0 <spoke> output
10.0.0.11/32 via 10.0.0.11 Interface Tunnel0 172.16.1.1
Tunnel0 created 21:24:03, expire 00:04:01 Service-policy output: typeA_parent
Type: dynamic, Flags: unique registered Class-map: class-default (match-any)
NBMA address: 172.16.1.1 19734 packets, 6667163 bytes
Group: typeA shape (average) cir 3000000, bc 12000, be 12000
10.0.0.12/32 via 10.0.0.12
Tunnel0 created 21:22:33, expire 00:05:30 Service-policy : typeA
Type: dynamic, Flags: unique registered Class-map: typeA_voice (match-all) 3737 packets, 4274636 bytes
NBMA address: 172.16.2.1 Class-map: typeA_Routing (match-all) 14424 packets, 1269312 bytes
Group: typeB Class-map: class-default (match-any) 1573 packets, 1123215 bytes
10.0.0.13/32 via 10.0.0.13 Interface Tunnel0 172.16.2.1
Tunnel0 created 00:09:04, expire 00:04:05 Service-policy output: typeB_parent
Type: dynamic, Flags: unique registered Class-map: class-default (match-any)
NBMA address: 172.16.3.1 11420 packets, 1076898 bytes
Group: typeA shape (average) cir 2000000, bc 8000, be 8000
Hub#show ip nhrp group-map Service-policy : typeB
Class-map: typeB_voice (match-all) 1005 packets, 128640 bytes
Interface: Tunnel0 Class-map: typeB_Routing (match-all) 10001 packets, 880088 bytes
NHRP group: typeA Class-map: class-default (match-any) 414 packets, 68170 bytes
QoS policy: typeA_parent
Tunnels using the QoS policy: Interface Tunnel0 172.16.3.1
Tunnel destination overlay/transport address Service-policy output: typeA_parent
10.0.0.11/172.16.1.1 Class-map: class-default (match-any)
10.0.0.13/172.16.3.1 5458 packets, 4783903 bytes
NHRP group: typeB shape (average) cir 3000000, bc 12000, be 12000
QoS policy: typeB_parent Service-policy : typeA
Tunnels using the QoS policy: Class-map: typeA_voice (match-all) 4914 packets, 4734392 bytes
Tunnel destination overlay/transport address Class-map: typeA_Routing (match-all) 523 packets, 46004 bytes
10.0.0.12/172.16.2.1 Class-map: class-default (match-any) 21 packets, 14995 bytes
Thank you