Using Zero Touch Provisioning

The router provides you the option of having the router auto configure. Field technicians need only mount the router, connect to the power and attach cables in easily-accessible ports, and initiate zero touch provisioning. This feature helps operators to reduce total cost of ownership (TCO) by simplifying the network deployment.


Note


ZTP is supported only on the RSP3 module on the ASR 900 Series routers.



Note


Routers running ZTP must be able to connect to a DHCP server and a TFTP server, download the configuration template, and begin operation.

Note


ZTP must be initiated only from the R0 that has the active RSP module in a dual RSP scenario.


Prerequisites for Using ZTP

  • The connection between the DHCP server or relay and TFTP server and router must be established.

  • The TFTP server must have the required network configuration file stored and should be accessible to the router.

Restrictions for Using ZTP

  • ZTP is not supported on the LAN Management port—Gig0 on the router. ZTP is supported only on the Ethernet interfaces such as 1—Gige, 10—Gige ports, and so on.

  • ZTP is not initialized if the ZTP button is pressed for more than eight seconds. In this case, the router goes through a normal reload process.

  • ZTP is also not initialized when the router is already reloading or if the router is in ROMMON prompt.

  • When the ZTP process is initialized all previous logs in the buffer are cleared.

  • DHCP declines addresses when loading DHCP configuration through TFTP. It is strongly recommended to have only the CNS configuration present on the configuration file to avoid tampering with the ZTP BDI.

  • After the ZTP process completes, you must save the configs using write memory and then reload the router.

  • ZTP is not initialized if bootflash has files named as 'router-confg'.

  • Disabling gratuitous ARP is not supported.

Information About Using ZTP

Figure 1. Sample ZTP Topology

ZTP is triggered under any of the following conditions:

  • A router without a start up configuration is powered on

  • The write erase and reload commands are executed

  • The test platform hardware pp active ztp init command is executed

The router does not have a ZTP or Reset button.


Router# write erase
System configuration has been modified. Save? [yes/no]: no
Router# reload

Note


If you type yes at the prompt, the system configuration is saved in the nvRAM and the ZTP process terminates.

After the ZTP process initializes, the following sequence is initiated:

  1. The router waits for any of the following packet types through data ports to detect the management VLAN:

    • Broadcast (Gratuitous ARP)

    • ISIS hello packets

    • OSPF hello packets

    • IPv6 router advertisement packets

    • VRRP


    Note


    The operations center can initiate any of the above packets over the network to establish a connection to the DHCP server.
  2. When the first packet on any VLAN is detected, the router initiates a DHCP session to a DHCP server over that VLAN.

  3. After a DHCP session is established, the router uses the DHCP option 150 and initiates to download a configuration file from the TFTP server. The configuration file in the TFTP server should have anyone of the following naming format:

    1. PID-chassis-mac-address

      The PID specifies ASRand chassis-mac-address specifies the unique chassis MAC address printed on the chassis. For example, if the chassis mac-address is 00-01-02-03-04-06, then the config file would be ASR-00-01-02-03-04-05.

    2. network-confg

    3. router-confg

    4. ciscortr.cfg

    5. cisconet.cfg

When the ZTP process initiates, the router creates an Ethernet flow point (EFP) and associates a bridge domain interface (BDI) on the detected management VLAN.

The router creates the following configuration to establish a connection with the DHCP server and the TFTP server. The BDI created for this purpose has description ZTP_BDI configured under the BDI interface.


Note


Once the configuration file is downloaded successfully, you must save the configuration file (write memory) and reload the router.



Caution


You may choose to remove the ZTP_BDI configuration before reloading the router.


Example ZTP Configuration

Let us assume that GigabitEthernet0/0/1 is connected to the DHCP server and is used to connect to the TFTP server. VLAN ID 1000 is used as the management VLAN.


Router# show running-config int gi0/0/1
Building configuration...
Current configuration : 216 bytes
!
interface GigabitEthernet0/0/1
 no ip address
 media-type auto-select
 no negotiation auto
 service instance 12 ethernet
  encapsulation dot1q 1000
  rewrite ingress tag pop 1 symmetric
  bridge-domain 12
 !
end 
!
interface BDI12
description ZTP_BDI
 ip address dhcp
end

Downloading the Initial Configuration

After the VLAN discovery process is complete, the configuration download process begins. The following sequence of events is initiated.

  1. The router sends DHCP discover requests on each Ethernet interface. The serial number of the router is used as a client identifier.

  2. The DHCP server allocates and sends an IP address, TFTP address (if configured with option 150) and default router address to the router.

  3. If the TFTP option (150) is present, the router requests a bootstrap configuration that can be stored in any of the following files: , network-confg, router-confg, ciscortr.cfg, or cisconet.cfg.


    Note


    Ensure to use hyphenated hexadecimal notation of MAC address (DOM-78-72-5D-00-A5-80) to name the files.



Note


A router running ZTP downloads the configuration from DHCP server. Sometimes, the ZTP DHCP config may already exist as part of network config file. We recommend that you remove the ZTP configuration in the network-confg download file to avoid the router moving into a hung state.
ip dhcp pool <pool-number>
network <ip-address> <wildcard-mask>
option 150 ip <ip-address> 
 default-router <router-address> 
 dns-server <dns-server-address>

Effective Cisco IOS XE Amsterdam 17.3.2a, the router tries to learn the reachability to multiple DHCP servers during ZTP. Hence multiple DHCP discovery messages are sent out during this phase. The router goes through all the DHCP offer messages received and selects an appropriate DHCP server based on the priority decided based on below rules:

  1. The DHCP server reachable via untagged interface have higher priority than the one via tagged. In case of tagged, the one reachable via an interface learned using VRRP packets has higher priority.

  2. If multiple DHCP servers are reachable via similar interfaces mentioned in previous rule, the one reachable via higher physical port number has higher priority.

DHCP Server

The following is a sample configuration to set up a Cisco router as a DHCP server:


ip dhcp excluded-address 30.30.1.6
ip dhcp excluded-address 30.30.1.20 30.30.1.255
!
ip dhcp pool mwrdhcp
network 30.30.1.0 255.255.255.0
option 150 ip 30.30.1.6
default-router 30.30.1.6

This configuration creates a DHCP pool of 30.30.1.x addresses with 30.30.1.0 as the subnet start. The IP address of the DHCP server is 30.30.1.6. Option 150 specifies the TFTP server address. In this case, the DHCP and TFTP server are the same.

The DHCP pool can allocate from 30.30.1.1 to 30.30.1.19 with the exception of 30.30.1.6, which is the DHCP server itself.

TFTP Server

The TFTP server stores the bootstrap configuration file.

The following is a sample configuration (network– confg file):


hostname test-router
!
{ asrrouter-specifc configuration content}
!
end

ZTP LED Behavior

Process

PWR LED

STAT LED

Press ZTP button

Green

Blinking Amber

Loading image

Blinking Green/Red

OFF

Image loaded

Green

Green

ZTP process running

Green

Blinking Amber

ZTP process success and config-file download completes

Green

Green

ZTP process failure or terminated

Green

Red

Verifying the ZTP Configuration

To verify if the ZTP configuration is successful, use the following command:

  • show running-config