Skip to content

4.7 Fabric Node Provisioning

4.7.1 Device Discovery and Onboarding

Discovery Methods

┌─────────────────────────────────────────────────────────────────────────────────┐
│                      DEVICE DISCOVERY METHODS                                    │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│   METHOD 1: CDP/LLDP DISCOVERY                                                  │
│   ───────────────────────────                                                   │
│   • Seed device discovers neighbors automatically                               │
│   • Best for existing networks                                                  │
│   • Requires connectivity between devices                                       │
│                                                                                  │
│   [Seed Device] ──CDP──> [Neighbor 1] ──CDP──> [Neighbor 2]...                 │
│                                                                                  │
│   METHOD 2: IP RANGE DISCOVERY                                                  │
│   ───────────────────────────                                                   │
│   • Scans IP range for devices                                                  │
│   • Best for known management subnets                                           │
│   • Can discover isolated devices                                               │
│                                                                                  │
│   [DNAC] ──Scan──> 10.252.12.0/24                                              │
│                                                                                  │
│   METHOD 3: SINGLE DEVICE ADD                                                   │
│   ────────────────────────────                                                  │
│   • Manual device-by-device addition                                            │
│   • Best for specific devices                                                   │
│   • Most control over process                                                   │
│                                                                                  │
│   METHOD 4: PNP (PLUG AND PLAY)                                                 │
│   ──────────────────────────────                                                │
│   • Zero-touch provisioning for new devices                                     │
│   • Device auto-discovers DNAC                                                  │
│   • Best for greenfield deployments                                             │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

CDP/LLDP Discovery Configuration

# Provision > Inventory > Add Device > Discovery

CDP_LLDP_Discovery:

  Discovery_Name: Mumbai-Fabric-Discovery
  Discovery_Type: CDP

  Seed_Device:
    IP_Address: 10.252.12.1
    Description: Core switch as seed

  Credentials:
    CLI:
      Username: netadmin
      Password: <encrypted>
      Enable_Password: <encrypted>
    SNMPv3:
      Username: dnac-snmp
      Auth_Protocol: SHA
      Auth_Password: <encrypted>
      Priv_Protocol: AES128
      Priv_Password: <encrypted>

  Discovery_Settings:
    CDP_Level: 5
    LLDP_Level: 5
    Protocol_Order: CDP, LLDP
    Retry_Count: 3
    Timeout: 5

  Filters:
    IP_Filter: 10.0.0.0/8
    Exclude: 10.252.100.0/24

IP Range Discovery

# Provision > Inventory > Add Device > Discovery

IP_Range_Discovery:

  Discovery_Name: Mumbai-Management-Subnet
  Discovery_Type: Range

  IP_Range:
    Start: 10.252.12.1
    End: 10.252.12.254

  Credentials:
    # Same as above

  Protocol_Settings:
    SSH: Enabled
    Telnet: Disabled
    SNMP: v3
    HTTPS: Enabled

4.7.2 Plug and Play (PnP) Onboarding

PnP Architecture

┌─────────────────────────────────────────────────────────────────────────────────┐
│                         PnP ONBOARDING FLOW                                      │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│   1. Device Powers On (Factory Default)                                         │
│      │                                                                           │
│      ▼                                                                           │
│   2. Device Gets IP via DHCP                                                    │
│      │  DHCP Option 43: DNAC IP (5A1D;B2;K4;I10.252.10.10;J80)                │
│      │  Or: DNS lookup for devicehelper.cisco.com                               │
│      ▼                                                                           │
│   3. Device Contacts DNAC PnP Service                                           │
│      │  HTTPS to DNAC on port 443                                               │
│      ▼                                                                           │
│   4. DNAC Authenticates Device                                                  │
│      │  By Serial Number (pre-staged)                                           │
│      │  Or: Claimed by admin                                                    │
│      ▼                                                                           │
│   5. DNAC Pushes Day-0 Configuration                                           │
│      │  • Hostname                                                               │
│      │  • Management IP                                                          │
│      │  • Credentials                                                            │
│      │  • Image upgrade (if needed)                                              │
│      ▼                                                                           │
│   6. Device Reboots with New Config                                             │
│      │                                                                           │
│      ▼                                                                           │
│   7. Device Appears in DNAC Inventory                                           │
│      │                                                                           │
│      ▼                                                                           │
│   8. Admin Assigns to Site & Provisions                                         │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

DHCP Option 43 Configuration

! ============================================================
! DHCP SERVER CONFIGURATION FOR PnP
! ============================================================

! On DHCP Server (IOS)
ip dhcp pool PNP-POOL
 network 10.252.12.0 255.255.255.0
 default-router 10.252.12.1
 dns-server 10.252.1.20
 domain-name corp.local
 ! Option 43 for DNAC discovery
 option 43 ascii "5A1D;B2;K4;I10.252.10.10;J443"

! Option 43 Format:
! 5A = PnP DHCP SubOption
! 1D = Length (29 bytes)
! B2 = IP address type (IPv4)
! K4 = Transport protocol (HTTPS)
! I<ip> = DNAC IP address
! J<port> = DNAC port (443)

PnP Device Claim

# Provision > Plug and Play > Devices

PnP_Device_Claim:

  # Pre-stage device by serial number
  Device_Entry:
    Serial_Number: FCW2345A1BC
    Product_ID: C9300-48UXM
    Hostname: MUM-ED-01
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Floor_1

  Day0_Template:
    Template_Name: SDA-Edge-Day0
    Variables:
      HOSTNAME: MUM-ED-01
      MGMT_IP: 10.252.12.11
      MGMT_MASK: 255.255.255.0
      MGMT_GW: 10.252.12.1

  Image:
    Golden_Image: cat9k_iosxe.17.09.04a.SPA.bin
    Upgrade: Yes

  Workflow:
    After_Claim: Provision to Site

Day-0 Template

! ============================================================
! DAY-0 CONFIGURATION TEMPLATE FOR PnP
! ============================================================

hostname $HOSTNAME

! Management Interface
interface Vlan1
 ip address $MGMT_IP $MGMT_MASK
 no shutdown

ip default-gateway $MGMT_GW

! DNS
ip name-server 10.252.1.20
ip domain name corp.local

! NTP
ntp server 10.252.1.10

! Enable SSH
crypto key generate rsa modulus 2048
ip ssh version 2

! Credentials
username netadmin privilege 15 secret $ADMIN_PASSWORD
enable secret $ENABLE_PASSWORD

! AAA
aaa new-model
aaa authentication login default local
aaa authorization exec default local

! VTY Access
line vty 0 15
 transport input ssh
 login authentication default

! Save config
end
write memory

4.7.3 Site Assignment

Assign Devices to Sites

# Provision > Inventory > [Device] > Actions > Assign to Site

Site_Assignment:

  # Border Nodes
  MUM-BN-01:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Data_Center
    Role: Border Node

  MUM-BN-02:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Data_Center
    Role: Border Node

  # Control Plane Nodes
  MUM-CP-01:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Data_Center
    Role: Control Plane Node

  MUM-CP-02:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Data_Center
    Role: Control Plane Node

  # Edge Nodes
  MUM-ED-01:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Floor_1
    Role: Edge Node

  MUM-ED-02:
    Site: Global/APAC/Mumbai/Building_MUM_HQ/Floor_1
    Role: Edge Node

  # Continue for all devices...

4.7.4 Border Node Provisioning

Add Border Node to Fabric

# Provision > Fabric Sites > [Site] > Fabric Infrastructure

Border_Node_Provisioning:

  Device: MUM-BN-01
  Fabric_Role: Border Node

  Border_Settings:
    Border_Type: Internal + External
    Border_Priority: Primary (1)

    Layer_3_Handoff:
      Enabled: Yes

    Local_Gateway:
      Enabled: Yes

    Default_Exit:
      Enabled: Yes

  External_Connectivity:
    Transit_Type: IP-Based

    External_Peer_1:
      Name: MPLS-PE
      Remote_IP: 10.240.1.1
      Remote_ASN: 65000
      Local_Interface: TenGigabitEthernet1/1/1
      Local_IP: 10.240.1.2/30
      VLAN: 3001

    External_Peer_2:
      Name: SD-WAN-Edge
      Remote_IP: 10.240.1.5
      Remote_ASN: 65100
      Local_Interface: TenGigabitEthernet1/1/2
      Local_IP: 10.240.1.6/30
      VLAN: 3002

Border Node L3 Handoff Configuration

# Provision > Fabric Sites > [Site] > Virtual Networks > [VN] > Layer 3 Handoff

L3_Handoff_Configuration:

  Virtual_Network: VN_CORPORATE
  Border_Node: MUM-BN-01

  Handoff_Settings:
    External_Interface: TenGigabitEthernet1/1/1.3001
    VLAN_ID: 3001
    IP_Address: 10.240.10.1/30

    BGP_Settings:
      Local_ASN: 65001
      Remote_ASN: 65000
      Neighbor_IP: 10.240.10.2
      Route_Redistribution: LISP to BGP

  # Repeat for each VN requiring external connectivity

4.7.5 Control Plane Node Provisioning

Add Control Plane Node

# Provision > Fabric Sites > [Site] > Fabric Infrastructure

Control_Plane_Provisioning:

  Device: MUM-CP-01
  Fabric_Role: Control Plane Node

  CP_Settings:
    LISP_Site_ID: 1001

    Map_Server:
      Enabled: Yes

    Map_Resolver:
      Enabled: Yes

    Primary_CP: Yes

  # DNAC automatically configures:
  # - LISP MS/MR functionality
  # - EID-to-RLOC mapping tables
  # - Map-cache settings
  # - Pub/Sub for LISP

# Second CP for redundancy
Control_Plane_Secondary:
  Device: MUM-CP-02
  Fabric_Role: Control Plane Node
  Primary_CP: No

4.7.6 Edge Node Provisioning

Add Edge Node to Fabric

# Provision > Fabric Sites > [Site] > Fabric Infrastructure

Edge_Node_Provisioning:

  Device: MUM-ED-01
  Fabric_Role: Edge Node
  Location: Floor_1

  Edge_Settings:
    Authentication_Mode: Closed Mode

    Supported_VNs:
      - VN_CORPORATE
      - VN_VOICE
      - VN_IOT
      - VN_GUEST

# Provision > Fabric Sites > [Site] > Host Onboarding

Host_Onboarding:

  Device: MUM-ED-01

  IP_Pool_Assignment:
    VN_CORPORATE:
      Pool: Corporate_Pool_Floor1
      VLAN: Auto (DNAC assigns)

    VN_VOICE:
      Pool: Voice_Pool_Floor1
      VLAN: Auto

    VN_IOT:
      Pool: IoT_Pool_Floor1
      VLAN: Auto

  Port_Assignment:
    Data_Ports: GigabitEthernet1/0/1-40
    Voice_Ports: GigabitEthernet1/0/1-40 (same, multi-domain)
    AP_Ports: GigabitEthernet1/0/41-48
    Uplinks: TenGigabitEthernet1/1/1-2

Port Assignment Templates

# Provision > Fabric Sites > [Site] > Port Assignment

Port_Templates:

  Data_Voice_Port:
    Interface_Range: Gi1/0/1-40
    Description: User Port - Data + Voice
    Connected_Device_Type: User Device

    Data_VLAN:
      Pool: Dynamic per VN
      Authentication: Closed Mode

    Voice_VLAN:
      Pool: Voice Pool
      Authentication: MAB

  AP_Port:
    Interface_Range: Gi1/0/41-48
    Description: Access Point
    Connected_Device_Type: Access Point

    Trunk:
      Native_VLAN: AP_MGMT
      Allowed_VLANs: Auto

  Uplink_Port:
    Interface_Range: Te1/1/1-2
    Description: Fabric Uplink
    Connected_Device_Type: Fabric Uplink

    Configuration: Auto (DNAC manages)

4.7.7 Extended Node Provisioning

Extended Node Types

┌─────────────────────────────────────────────────────────────────────────────────┐
│                      EXTENDED NODE TYPES                                         │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│   CLASSIC EXTENDED NODE                                                          │
│   ─────────────────────                                                          │
│   • Basic extension of fabric edge                                              │
│   • No SGT enforcement on extended node                                         │
│   • SGT enforcement at parent edge                                              │
│   • Supported: IE switches, compact switches                                    │
│                                                                                  │
│   [Parent Edge] ═══Trunk═══> [Classic Extended Node]                           │
│        └── SGT enforcement here                                                 │
│                                                                                  │
│   POLICY EXTENDED NODE                                                           │
│   ─────────────────────                                                          │
│   • Full SGT enforcement capability                                             │
│   • Supports SGACL on extended node                                             │
│   • Requires Cat 9000 series                                                    │
│                                                                                  │
│   [Parent Edge] ═══Trunk═══> [Policy Extended Node]                            │
│                                    └── SGT enforcement here                     │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

Extended Node Configuration

# Provision > Fabric Sites > [Site] > Fabric Infrastructure

Extended_Node_Provisioning:

  Device: MUM-EX-01
  Device_Type: Catalyst IE3400
  Parent_Edge: MUM-ED-01

  Extended_Node_Settings:
    Type: Classic Extended Node
    Trunk_Interface: Te1/1/1

    Inherited_Settings:
      VNs: From parent
      Authentication: From parent
      IP_Pools: From parent

    Local_Ports:
      Data_Ports: Gi1/0/1-8
      Uplink: Te1/1/1 (to parent)

4.7.8 Image Management

Golden Image Configuration

# Design > Image Repository

Golden_Image_Configuration:

  Image_Family: Catalyst 9300 Series
  Image_Version: 17.09.04a
  Image_File: cat9k_iosxe.17.09.04a.SPA.bin

  Golden_Tag: Yes

  Applicable_Devices:
    - C9300-24UX
    - C9300-48UXM
    - C9300-48P

# Design > Network Settings > Software Images

Software_Image_Settings:

  Auto_Update: Scheduled
  Schedule: Sunday 02:00 UTC
  Rollback: Enabled (keep 1 version)

  Pre_Check:
    Flash_Space: Yes
    Config_Register: Yes

Compliance Check

# Provision > Inventory > [Device] > Software Image

Image_Compliance:

  Status: Non-Compliant
  Current: 17.06.05
  Golden: 17.09.04a

  Actions:
    - Update Now
    - Schedule Update
    - Mark as Compliant (exception)

4.7.9 Configuration Compliance

Compliance Templates

# Provision > Inventory > [Device] > Compliance

Compliance_Settings:

  Compliance_Type: Full

  Check_Categories:
    Intent_Configuration: Yes
    Running_vs_Startup: Yes
    Image_Compliance: Yes
    PSIRT_Vulnerabilities: Yes

  Schedule:
    Frequency: Daily
    Time: 03:00 UTC

  Remediation:
    Auto_Remediate: No
    Notify: Yes
    Email: network-ops@corp.local

Export Configuration

# Provision > Inventory > [Device] > Actions > Export Config

Configuration_Export:

  Format: Text
  Include:
    - Running Configuration
    - Startup Configuration

  Destination:
    - Download
    - Archive Repository

4.7.10 Bulk Provisioning

CSV Import for Bulk Operations

# devices.csv format for bulk import
Device Name,Management IP,Site,Device Type,Serial Number
MUM-ED-01,10.252.12.11,Global/APAC/Mumbai/Building_MUM_HQ/Floor_1,Catalyst 9300,FCW2345A1BC
MUM-ED-02,10.252.12.12,Global/APAC/Mumbai/Building_MUM_HQ/Floor_1,Catalyst 9300,FCW2345A1BD
MUM-ED-03,10.252.12.13,Global/APAC/Mumbai/Building_MUM_HQ/Floor_2,Catalyst 9300,FCW2345A1BE

Template-Based Provisioning

# Provision > Templates

Day_N_Template:

  Template_Name: SDA-Edge-Config
  Device_Type: Catalyst 9300
  Software_Type: IOS-XE

  Template_Content: |
    ! Banner
    banner motd ^
    ================================================
    AUTHORIZED ACCESS ONLY
    Device: $hostname
    Location: $location
    ================================================
    ^

    ! Logging
    logging host 10.252.1.30
    logging host 10.252.1.31

    ! SNMP
    snmp-server host 10.252.10.10 version 3 priv dnac-snmp

  Variables:
    hostname: From Inventory
    location: From Site

4.7.11 Provisioning Workflow Summary

Complete Provisioning Sequence

┌─────────────────────────────────────────────────────────────────────────────────┐
│                    FABRIC NODE PROVISIONING WORKFLOW                             │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│   STEP 1: PREPARE UNDERLAY                                                      │
│   └── Configure underlay routing (OSPF/IS-IS/BGP) - Pre-requisite               │
│                                                                                  │
│   STEP 2: DISCOVER/ADD DEVICES                                                  │
│   └── Discovery or PnP → Devices appear in Inventory                           │
│                                                                                  │
│   STEP 3: ASSIGN TO SITES                                                       │
│   └── Associate devices with fabric site hierarchy                              │
│                                                                                  │
│   STEP 4: DEFINE FABRIC SITE                                                    │
│   └── Create fabric site in DNAC                                               │
│                                                                                  │
│   STEP 5: DEFINE VNs AND IP POOLS                                               │
│   └── Create Virtual Networks and assign IP pools                              │
│                                                                                  │
│   STEP 6: ADD BORDER NODES (First)                                              │
│   └── DNAC pushes: LISP, VRF, VXLAN, Handoff configs                          │
│                                                                                  │
│   STEP 7: ADD CONTROL PLANE NODES                                               │
│   └── DNAC pushes: LISP MS/MR, Map-cache configs                               │
│                                                                                  │
│   STEP 8: ADD EDGE NODES                                                        │
│   └── DNAC pushes: LISP ETR/ITR, VXLAN, 802.1X, Anycast GW                    │
│                                                                                  │
│   STEP 9: HOST ONBOARDING                                                       │
│   └── Assign IP pools and configure port templates                             │
│                                                                                  │
│   STEP 10: VALIDATE                                                             │
│   └── Verify LISP adjacencies, VXLAN tunnels, authentication                   │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

4.7.12 Troubleshooting Provisioning

Common Provisioning Issues

# Device not appearing in inventory
# Check: Credentials, SNMP, SSH access, firewall rules

# Device shows as unmanaged
# Check: Software version compatibility, license

# Fabric provisioning fails
# Check: Underlay connectivity, LISP/VXLAN prerequisites

# From switch CLI:
show lisp instance-id * ipv4 server summary
show vxlan interface nve1
show fabric-ports host summary
show cts role-based sgt-map all

Provisioning Status Check

# Provision > Fabric Sites > [Site] > Fabric Infrastructure

Provisioning_Status:
  MUM-BN-01: Provisioned (Success)
  MUM-CP-01: Provisioned (Success)
  MUM-ED-01: Provisioning (In Progress)
  MUM-ED-02: Failed (Check logs)

# Click on failed device for error details

4.7.13 Provisioning Checklist

Phase Task Status Date
Discovery
Devices discovered/added ☐
Credentials verified ☐
Software compliance checked ☐
Site Assignment
All devices assigned to sites ☐
Site hierarchy verified ☐
Border Nodes
Border nodes provisioned ☐
L3 handoff configured ☐
BGP peers established ☐
Control Plane
CP nodes provisioned ☐
LISP MS/MR active ☐
Redundancy verified ☐
Edge Nodes
Edge nodes provisioned ☐
Host onboarding complete ☐
Port assignments done ☐
Validation
LISP adjacencies up ☐
VXLAN tunnels active ☐
Test authentication ☐
End-to-end connectivity ☐