Migration
Migration
Migration
Objectives
Learning Objectives
Before you begin
Some sections of this lab are done in a terminal window. For each configuration, there is a
command window in the guide displaying the necessary commands to complete each step. In the
upper right-hand corner of each command window, there is a Copy button. Please use this
button to avoid making any entry mistakes.
The navigation bar on the left correspond to major sections of the lab.
Note!
SD-WAN_Migration_Lab.pptx (presented at Spring 2019 Partner/SE VT) explains
material in this lab. Note the diagrams showing where prefixes are advertised and
filtered.
Launching the lab topology
The certificate error can be ignored, or an exception can be added for the site.
Step 2: Download migration_v1.tar.gz . Click "Import" and provide this file. If you have an existing
topology running and don't see the dialog box below, go to Settings -> Reset All.
Step 3: Select 19.1.0 as the version and click "OK"
Step 4: Click on "Master View" then "Deploy". This topology takes 60-65 minutes to deploy on a
dCloud VM.
Note!
Instead of deploying one site at a time, deploying from Master View brings up the control
plane and all undeployed or modified sites in succession.
Retrieve device tokens
Get the token (One Time Password) for the SD-WAN devices which will be used in this topology.
The POC Tool has automation to fully deploy these devices, but for this migration lab, the devices
will be manually added to the overlay.
Note!
OTP activation is required for SD-WAN platforms without a TPM chip (e.g. vEdge Cloud
and CSR1000v XE SD-WAN). In this POC Tool lab, the vManage VM is deployed from
scratch and will generate unique tokens for devices even if the uploaded serial file (WAN
Edge List) is the same across POC Tool instances.
Step 1: vManage can be accessed as soon as "Control Plane" gets deployed on POC Tool. On
vManage, go to "Configuration" -> "Devices"
Step 2: Search for the following devices and copy their corresponding tokens. You may have to
expand the column for the token string to display fully.
CSR-00741509-DF53-4346-A1C1-6BFB3070118E
CSR-13C1E07F-88DC-4BD2-98C8-CFFE80B836C4
CSR-212D9E25-AD84-4E18-9725-B3CDEABFE1A8
CSR-330E65C0-8D52-41B2-940A-398119726CCE
CSR-48AE423E-2125-4877-8D00-C224BE0C38B6
Save the tokens on a text editor. These will be used in the subsequent labs.
Device console
Device console
To access a device’s CLI, click the site on the left navigation bar, right click on the device’s icon,
and click on “Console”. On the image below, we are accessing dc1-sjc-cedge1.
A console will appear on the bottom right side of the browser. You may open consoles from
different devices at the same time. These will appear as tabs.
Note!
To resize the window, click-and-drag the edges.
Note!
Font size can be also be resized (Ctrl – "-“ or “=”, use cmd key for Mac) while focus is on
the window.
Lab 2 prerequisite
Lab 2 prerequisite
Important!
In Lab 2, an IOS-XE device (br3-lax-ce) will be upgraded into XE SD-WAN. The steps
below are required in order for Lab 2 to be executed properly. This lab can be skipped if
you prefer to delete the IOS-XE CSR1000v and use POC Tool's automation to deploy an
XE SD-WAN CSR1000v in its place.
Step 1: On the Test Drive UI, go to the “BR3-LosAngeles” site, right-click on “br3-lax-ce” then
select “Console”
Step 2: Copy this line then paste on br3-lax-ce's console. (right click + “Paste” isn’t supported on
web console yet, use shortcut key Ctrl/Cmd-“V”)
Sample output:
br3-lax-ce#ssh -l cisco 192.168.150.1 "wget http://64.71.131.100:8888/poctool_labs/csr1000v-ucmk9.16.11.1a.S
Password: cisco
--2019-08-20 02:11:24-- http://64.71.131.100:8888/poctool_labs/csr1000v-ucmk9.16.11.1a.SPA.bin
Connecting to 64.71.131.100:8888... connected.
HTTP request sent, awaiting response... 200 OK
Length: 392928736 (375M) [application/octet-stream]
Saving to: ‘csr1000v-ucmk9.16.11.1a.SPA.bin’
csr1000v-ucmk9.16.11.1a.SPA.bin 100%[==================================================================
Sample output:
Copying the XE SD-WAN image into this device will take 4 minutes
Network Topology Diagram
DC Migration
Description
This lab is the equivalent of inserting new XE SD-WAN equipment as head-ends in the data
centers.
If the device being configured is already part of the network when it’s attached to a template, the
configuration is sent to the device immediately. If the device has not yet joined the network,
vManage pushes the configuration immediately after it learns that the device is present in the
network.
For dc1-sjc-cedge1, we’ll use CLI to join it the SD-WAN overlay (CLI mode). Once joined, it will
then be attached to a template and it becomes vManage mode.
dc1-sjc-cedge2 and dc2-fra-cedge1 will be attached to a template before they join the overlay,
and will pull configs as soon as their control plane comes up
As part of bringup, a root cert is manually installed. Virtual devices don’t have a TPM chip and
this lab is configured with Enterprise CA.
VPN0 transports are connected to both MPLS and Internet. VPN1 will be peered to DC core
routers via BGP and will receive routes from the underlay. These routes will be redistributed to
the overlay via OMP.
Filters will be configured from the DC core routers so only the default route and select prefixes
originating from the DC are advertised (and eventually redistributed on the overlay).
Objective
Apply CLI configuration on an XE SD-WAN device to have it join the network
Attach devices (ones which are already on the SD-WAN overlay and those yet to be
added) to a device template and see how configuration gets pushed.
Set devices’ configuration in a device template by uploading a CSV
Learn how to verify control plane and data plane using both vManage UI and the device’s
CLI
Modify the OMP and BGP templates to enable redistribution between these protocols
Understand redistribution between OMP-BGP and how routing occurs between the
underlay and overlay.
Before migration
After migration
Bring up first XE SD-WAN device in DC1
Step 1: On the Test Drive UI, go to the “DC1-SanJose” site, right-click on “dc1-sjc-cedge1” then
select “Console”
Step 2: If booted up without configs, skip configuration dialog and terminate autoinstall. Go to
config mode. Note, it’s not “config t”
Sample output:
--- System Configuration Dialog ---
<snip>
Router>enable
Router#config-transaction
Note!
If you can’t enter config mode, the SD-WAN processes on your lab device might still be
coming up. Try again in a few seconds.
Step 3: Copy the SD-WAN config block below (use the "Copy" button on the top right of the
widget to prevent formatting errors) then paste on dc1-sjc-cedge1's console. (right click + “Paste”
isn’t supported on web console yet, use shortcut key Ctrl/Cmd-“V”)
hostname dc1-sjc-cedge1
ip host vbond-test-drive 19.1.1.2
!
! FYI, below are the minimum 4 configs for PnP (which works only on
! physical devices). The PnP process starts once it reaches the vbond
system
system-ip 1.10.1.1
site-id 10
organization-name "Viptela-POC-Tool - 19827"
vbond vbond-test-drive
!
!
! configs for connectivity
!
interface GigabitEthernet1
ip address 10.1.254.10 255.255.255.252
no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.1.254.9
!
!
! bring up the SD-WAN tunnel
!
interface Tunnel1
ip unnumbered GigabitEthernet1
tunnel source GigabitEthernet1
tunnel mode sdwan
!
sdwan
interface GigabitEthernet1
tunnel-interface
encapsulation ipsec
color public-internet
allow-service dhcp dns icmp sshd netconf ntp
!
Sample output:
Router(config-tunnel-interface)# commit
*Jun 9 14:11:02.690: %DMI-5-CONFIG_I: R0/0: nesd: Configured from NETCONF/RESTCONF by admin, transaction-id
*Jun 9 14:11:03.051: %Cisco-SDWAN-Router-OMPD-5-NTCE-400003: R0/0: OMPD: Operational state changed to UP
Commit complete.
dc1-sjc-cedge1(config-tunnel-interface)#
*Jun 9 14:11:03.399: %OSPF-6-DFT_OPT: Protocol timers for fast convergence are Enabled.
*Jun 9 14:11:03.623: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
dc1-sjc-cedge1(config-tunnel-interface)#
*Jun 9 14:11:07.787: %LINK-3-UPDOWN: Interface GigabitEthernet1, changed state to up
*Jun 9 14:11:08.788: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1, changed state to up
dc1-sjc-cedge1(config-tunnel-interface)#
*Jun 9 14:11:12.643: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
dc1-sjc-cedge1(config-tunnel-interface)# end
dc1-sjc-cedge1#
Sample output:
Step 6: Activate the XE SD-SDWAN CSR1000v. (use the "Copy" button on the top right of the
widget). Append the token which was retrieved earlier (section Before you begin -> Retrieve
device tokens).
Note!
This step is not required on physical platforms as these authenticate using certificates in
built-in TPM chip. For software devices (vEdge Cloud and CSR1000v SD-WAN), the
chassis-number and token can be obtained from vManage's Devices page.
Step 7: Verify control plane connectivity on the CLI. It takes a few seconds for it to come up after
the previous command. Check what’s happening by monitoring the console and by using these
commands.
Step 8: Control plane connectivity can also be verified from the vManage dashboard (the home
page). On vManage, click on the arrow
Go to the right end, click on the three dots, select “Real Time”
Type “Control Connections” on the “Device Options” field and click “Do Not Filter” when prompted
See which devices it made control connections to.
Note!
What's missing? Once the SD-WAN edge device joins the network, it doesn't need to
maintain a control connection to this component.
Attach the DC devices to a template
Step 1: On Configuration -> Templates, look for the device template "Site-DC". Click on the 3
dots and select “Attach Devices”
Step 2: Attach the following devices:
You may use the search function and enter partial strings to help find chassis IDs.
Click "Attach"
Note!
If the device being configured is already part of the network when it’s attached to a
template, the configuration is sent to the device immediately. If the device has not yet
joined the network, vManage pushes the configuration immediately after it learns that
the device is present in the network.
Step 3: CSV makes it easy to configure multiple devices. Get the csv here: Site-DC-
migration.csv
Step 8: Monitor progress. How is the message different for the device which is already on the
network vs ones which aren’t?
Bring up XE SD-WAN devices in DC1 and DC2
Warning!
Please make sure you are assigning the correct chassis-number to the correct device
The base configs for connectivity has been added. We’ll just install the root cert and activate.
(use the "Copy" button on the top right of the widget). Append the token which was retrieved
earlier (section Before you begin -> Retrieve device tokens). Make sure you are entering this
command on dc1-sjc-cedge2
Step 2:
Base configs have been added here as well. Install the root cert and activate.
(use the "Copy" button on the top right of the widget). Append the token which was retrieved
earlier (section Before you begin -> Retrieve device tokens). Make sure you are entering this
command on dc2-fra-cedge1
Note!
The vManage dashboard widgets may take a few seconds to update
Step 1: Now we have 2 sites in the overlay, we can verify data plane (BFD) connectivity between
them. Go to vManage console, look for the “Site Health” widget, then click on “Full WAN
Connectivity”
Step 2: Go to any XE SD-WAN edge device’s Real Time stats and go through various BFD
output.
Equivalent on CLI:
dc1-sjc-cedge1#show sdwan bfd ?
history Display sdwan bfd history
sessions Display sdwan bfd sessions
summary Display sdwan bfd summary
tloc-summary-list Display sdwan bfd tloc_summary_list
Note!
Do devices in the same site create BFD sessions between them?
Step 3: Let’s look at control plane. On dc2-fra-cedge1 -> Real Time, see what routes it received
via OMP. You’ll see dc1-cedges’ connected subnets, and the TLOC paths for each prefix (one via
mpls, another via public-internet)
Try this on CLI and understand the status codes (C, I, R, etc):
Important!
Pay attention to the prefix-list and BGP filters
Note!
What prefixes do we want the SD-WAN devices to learn and install on the SD-WAN
overlay?
Step 4: Verify BGP routes from the SD-WAN devices. From Monitor -> Network, select any SD-
WAN device -> Real Time
The OMP feature template will be configured to enable redistribution of BGP routes into OMP.
This will allow remote SD-WAN sites to learn these prefixes.
Step 1: (optional pre-verification) Select any device and see OMP routes it is receiving. If you
don’t remember how, refer back to Task "Verify data plane and control plane between sites" Step
3
Step 2: Back on the “Templates” page, under the “Feature” tab, select the “b_OMP” feature
template from the list. At the rightmost section, right-click on the three dots and select “Edit”
Note!
What routes were added?
Modify the BGP feature template and verify
The BGP feature template will be configured to enable redistribution of OMP routes into BGP.
This will allow the BGP peers in the legacy network to learn SD-WAN prefixes.
Step 1: (optional pre-verification) Console into any non SD-WAN device in the DCs (dc1-sjc-
core1, dc1-sjc-core2, or dc2-fra-core1) which has peering to an SD-WAN device and verify
received routes.
Is the non SD-WAN device receiving BGP routes from the SD-WAN device?
Step 2: Back on the “Templates” page, under the “Feature” tab, pick the “BGP” feature template
from the list. At the rightmost section, right-click on the three dots and select “Edit”
Then “OK”
Step 7: Console into any non SD-WAN device in the DCs (dc1-sjc-core1, dc1-sjc-core2, or dc2-
fra-core1) and verify received routes from the SD-WAN devices. Commands same as Step 1
above
Note!
Which prefixes go through the legacy network and which go through the SD-WAN?
Prefixes going to SD-WAN come from which AS? What loop prevention mechanisms are
in place?
Lab 2: Branch migration: in-place upgrade of single router
Description
A site which has a compatible Cisco router can be migrated over to SD-WAN with just a
requirements check and a software image upgrade. There is a prescribed set of steps for an
upgrade to be successful.
Objective
Do software upgrade on an IOS XE device into XE SD-WAN
Determine how bootstrap configs are generated
Before migration
After migration
Attach the BR3 device to a template
Step 1: On Configuration -> Templates, look for the device template "b_Site-
SingleRtr_MPLSOnly". Click on the 3 dots and select “Attach Devices”
You may use the search function and enter partial strings to help find chassis IDs.
Click "Attach"
Step 3: Get the csv here: Site-BR3.csv and upload to populate template values.
Step 4:
then
Upgrade the IOS XE device to XE SD-WAN
Step 1: The configuration file for on-site bootstrap is generated by vManage and will contain
settings from the template if the device is attached to it. It can then copied to a bootable USB
drive and plugged into the device, or copied directly the device’s bootflash. When the device
boots, it uses the information in the configuration file to come up on the network. Note that a
bootstrap file is not mandatory for IOS-XE to XE SD-WAN upgrade but will make provisioning
easier, especially if the device can’t do PnP (can’t call home to devicehelper.cisco.com, no DHCP,
etc)
Step 3: On the Test Drive UI, go to the “BR3-LosAngeles” site, right-click on “br3-lax-ce” then
select “Console”
Sample output:
br3-lax-ce#
Step 5: Modify the OTP from the downloaded bootstrap file. Get the OTP for this device as you
did in Lab 1.
Important!
This step is specific for this lab. The bootstrap config file with the current OTP could
have been downloaded from vManage then downloaded to the device, but we'd have
more steps (uploading to web server reachable from the lab network, etc).
Execute the tcl script and append the token which was retrieved earlier (section Before you
begin -> Retrieve device tokens) as the script's argument. The token/OTP will be different from
the sample output below.
Step 6: Erase existing XE config on br3-lax-ce then reload. (optional: check existing config, what
routes it's receiving, etc. before erasing)
br3-lax-ce# wr erase
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
br3-lax-ce#reload
Proceed with reload? [confirm]
Note!
Hardware platforms will not require this reload step
Step 7: Skip configuration dialog and terminate autoinstall. Check the bootstrap config on the
device once it comes back up from reload.
Router# more flash:ciscosdwan_cloud_init.cfg
* root cert was added on the config file as workaround in this virtual lab which doesn’t have an
Enterprise Root CA
Note!
On hardware platforms, the XE SD-WAN image looks for flash:ciscosdwan.cfg
Important!
The bootstrap config will only be read if the XE SD-WAN image comes up with no
existing config
Router#write mem
Building configuration...
[OK]
Router#show bootvar
BOOT variable = bootflash:csr1000v-ucmk9.16.11.1a.SPA.bin,1;
CONFIG_FILE variable does not exist
BOOTLDR variable does not exist
Configuration register is 0x2102
Router#reload
Proceed with reload? [confirm]
This step will take around 20 mins to complete in this lab environment. XE SD-WAN upgrade is
way faster on hardware platforms; virtual platforms are not meant to be upgraded--just directly
provision the image. While waiting, you may proceed to Lab 3.
Verify connectivity to other sites
Note!
(This task is optional. You may come back here after finishing Lab 3)
Step 2: Traceroute from this site’s VPN1 to DC1 LAN (migrated site)
Lab 3: Branch migration: retain CE, add SD-WAN
Description
We will add an XE SD-WAN device while retaining an existing CE. An Internet link is provisioned
to the site and will connect to the XE SD-WAN device.
In most cases, the existing CE is kept for MPLS connectivity for the SD-WAN device, and all site
traffic goes through the SD-WAN overlay. Overlay/underlay routing is still done at the DC or hub
site.
However, in this lab scenario, overlay/underlay routing is done at the branch site. This is NOT
recommended, but is discussed in this lab to show SD-WAN deployments can be flexible and be
suited to specific network requirements. This can also be an interim state before full site cut-over
to SD-WAN. There will be routing preference to prefer prefixes coming from the SD-WAN overlay
for the communicating with the migrated sites while preferring the CE router for communicating
with the non-migrated sites. Steps will be taken to prevent routing loops.
Before migration
After migration
Attach the BR4 device to a template
Step 1: On Configuration -> Templates, look for the device template "b_Site-
HA_overlay_underlay". Click on the 3 dots and select “Attach Devices”
You may use the search function and enter partial strings to help find chassis IDs.
Click
Step 3: Get the csv here: Site-BR5.csv and upload to populate template values.
Step 4: Once values are uploaded, click on the 3 dots and select “Edit Device Template” to verify.
Take note of the BGP AS #s. Refer again at the network topology diagram (click the
Step 4: Click
then
Join XE SD-WAN device to overlay
The base configs for connectivity has been added. We’ll just install the root cert and activate.
(use the "Copy" button on the top right of the widget). Append the token which was retrieved
earlier (section Before you begin -> Retrieve device tokens).
Step 2: (optional) Verify control plane and data plane connectivity (your preference: from
vManage UI, or console CLI)
Stage the SD-WAN device
Step 1: Console in the br5-bcn-rtr device (the site's existing LAN router) to configure the BGP
Peering towards br5-bcn-cedge1 device.
Step 2: Configure BGP and route filters on the L3 device (br5-bcn-rtr) to prevent
readvertisements from SD-WAN to non SD-WAN and vice versa.
conf t
interface GigabitEthernet2
ip address 10.5.2.2 255.255.255.252
description to_br5-bcn-cedge1
no shutdown
!
ip prefix-list PL-BR5PREFIXES-OUT seq 5 permit 10.5.1.0/24
ip prefix-list PL-BR5PREFIXES-OUT seq 15 permit 10.5.2.0/24
ip prefix-list PL-BR5PREFIXES-OUT seq 20 permit 10.5.100.0/24
!
router bgp 65054
bgp log-neighbor-changes
neighbor 10.5.1.1 remote-as 65050
neighbor 10.5.2.1 remote-as 65055
!
address-family ipv4
neighbor 10.5.1.1 prefix-list PL-BR5PREFIXES-OUT out
neighbor 10.5.2.1 prefix-list PL-BR5PREFIXES-OUT out
Step 3: (Optional: on either non SD-WAN peer, verify BGP output before performing this step and
see what validating SD-WAN device does).
Note!
What prefixes did it receive from the SD-WAN device? How will this LAN router route to
SD-WAN migrated and non-migrated sites?
Verify connectivity to sites
Step 1: Ping a non migrated site from br5-bcn-rtr and perform traceroute. Verify the path is
through the CE device.
br5-bcn-rtr#ping 10.6.100.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.6.100.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/6/8 ms
br5-bcn-rtr#traceroute 10.6.100.1
Type escape sequence to abort.
Tracing the route to 10.6.100.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.5.1.1 4 msec 4 msec 3 msec
2 10.50.0.1 [AS 65050] 3 msec 5 msec 4 msec
3 10.60.0.2 [AS 65000] 8 msec 8 msec *
Step 2: Ping the SD-WAN migrated site from br5-bcn-rtr and perform traceroute. Verify the path
is through the cEdge SD-WAN device.
br5-bcn-rtr#ping 10.2.100.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.100.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/7/8 ms
br5-bcn-rtr#traceroute 10.2.100.1
Type escape sequence to abort.
Tracing the route to 10.2.100.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.5.2.1 3 msec 2 msec 2 msec
2 10.2.1.10 [AS 65020] 7 msec 20 msec 7 msec
3 10.2.11.1 [AS 65055] 11 msec 9 msec *
Lab 4: Policies
Policies
Description
The SD-WAN overlay is controlled by centralized policies.
The policies that dictate the network topology are called Control Policies. These policies
manipulate the advertisement of routes and TLOCs (Transport Location) information.
The policies are configured via the vManage GUI and applied to the vSmart controller. The
vSmart controller propagates the necessary information to the SD-WAN edge devices.
Objective
We will configure and verify a hub and spoke control policy.
The vSmart must be in vManage mode (attached to a template) in order to push centralized
policies.
Step 3: Create a CLI Device Template. On "Configuration" -> "Templates", click "Create
Template" and select "CLI Template"
Note!
This method of attaching the vSmart to a device template is just a quick procedure for
this lab. In actual deployments, it is recommended that the vSmarts are attached to a
device template with feature templates, or use variables on a CLI device template.
Step 4: Populate the Device Model, Name, and Description fields. On the CLI Configuration
section, paste the vSmart running configuration. Click "Add"
Step 5: Attach the vSmart to the device template.
Step 6: Click
Configure a control policy (hub and spoke)
By default, SD-WAN tunnels come up full mesh. To make the solution more scalable, a hub and
spoke topology can be created.
Step 5: Click on "VPN". A VPN list was already pre-added for this lab. Click "Next"
Step 6: Click "Add Topology" then "Hub-and-Spoke"
Step 7: Add the name and description for the policy, and select the VPN List. Click "Add Hub
Sites" and select the hub site list. Do the same for Spoke Sites. Save.
Step 7: Click "Next"
Step 8: We are not adding Data Policies at this time. Click "Next"
Step 9: Provide a name and description for this policy then click "Preview"
Step 1: Before we apply the policy, verify BFD tunnels from a branch site. Go to "Monitor"->
"Network" and select the br5-bcn-cedge1 device. Identify the tunnel to the other branch site.
Step 2: Apply the Hub and Spoke policy. Go to "Configuration" -> "Policies" then Activate.
Step 3: Now that the policy is applied, again verify the BFD tunnels (see Step 1). What changed?