Name Type Constraint Mandatory Default Value ebgp Class [ebgp]No
Name Type Constraint Mandatory Default Value spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ Yes super_spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No bgp_asn_mode Choice Multi-AS, Same-Tier-ASNo Multi-ASleaf_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No border_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No leaf_same_bgp_asn Boolean true, falseNo falsebgp_asn_auto_allocation Boolean true, falseNo trueanycast_gateway_mac Any String[Regex: ^[a-f0-9]{1}\.[a-f0-9]{1}\.[a-f0-9]{1}$] or String[Regex: ^[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}$] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$] No 20:20:00:00:00:aaoverlay_mode Choice cli, config-profileNo cligreenfield_cleanup Choice Enable, DisableNo Disablelayer2_vni_range Class [layer2_vni_range]No layer3_vni_range Class [layer3_vni_range]No layer2_vlan_range Class [layer2_vlan_range]No layer3_vlan_range Class [layer3_vlan_range]No enable_l3_vni_no_vlan Boolean true, falseNo falsemultisite_site_id Integer min: 1, max: 281474976710655 No vpc Class [vpc]No ptp Class [ptp]No snmp_server_host_trap Boolean true, falseNo trueenable_nxapi_http Boolean true, falseNo falsenxapi_http_port Integer No 80enable_nxapi_https Boolean true, falseNo truenxapi_https_port Integer No 443auth_proto Choice MD5, SHA, MD5_DES, MD5_AES, SHA_DES, SHA_AESNo MD5dns_servers List [dns_servers]No ntp_servers List [ntp_servers]No syslog_servers List [syslog_servers]No netflow Class [netflow]No bootstrap Class [bootstrap]No aaa_freeform String No banner_freeform String No leaf_pre_interface_freeform String No leaf_post_interface_freeform String No spine_pre_interface_freeform String No spine_post_interface_freeform String No tor_pre_interface_freeform String No tor_post_interface_freeform String No intra_fabric_link_freeform String No
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 30000to Integer min: 1, max: 16777214 No 49000
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 50000to Integer min: 1, max: 16777214 No 59000
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2300to Integer min: 2, max: 4094 No 2999
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2000to Integer min: 2, max: 4094 No 2299
Name Type Constraint Mandatory Default Value peer_link_vlan Integer min: 2, max: 3967 No 3600peer_keep_alive Choice loopback, managementNo managementauto_recovery_time Integer min: 240, max: 3600 No 360delay_restore_time Integer min: 1, max: 3600 No 150peer_link_port_channel_id Integer min: 1, max: 4096 No 500ipv6_nd_sync Boolean true, falseNo trueadvertise_pip Boolean true, falseNo falseadvertise_pip_border_only Boolean true, falseNo trueadvertise_pip_border_gateway Boolean true, falseNo falsedomain_id_range String No 1-1000fabric_vpc_qos Boolean true, falseNo falsefabric_vpc_qos_policy_name String No spine_qos_for_fabric_vpc_peering
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falsedomain_id Integer min: 0, max: 127 No 0 lb_id Integer min: 0, max: 1023 No 0
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes severity Integer min: 0, max: 7 Yes
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falseexporter List [exporter]No record List [record]No monitor List [monitor]No
Name Type Constraint Mandatory Default Value enable_bootstrap Boolean true, falseNo falseenable_local_dhcp_server Boolean true, falseNo falsedhcp_version Choice DHCPv4, DHCPv6No dhcp_v4 Class [dhcp_v4]No dhcp_v6 Class [dhcp_v6]No enable_cdp_mgmt Boolean true, falseNo falsebootstrap_freeform String No
Name Type Constraint Mandatory Default Value name String Yes ip_address IP Yes vrf String No source_interface String Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}(\.\d{1,4})?$ Yes udp_port Integer min: 1, max: 65535 Yes
Name Type Constraint Mandatory Default Value name String Yes template Choice netflow_ipv4_record, netflow_l2_recordYes layer2 Boolean true, falseNo
Name Type Constraint Mandatory Default Value name String Yes record String Yes exporter1 String Yes exporter2 String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 8, max: 30 Yes multi_subnet_scope String No domain_name String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 64, max: 126 Yes multi_subnet_scope String No domain_name String No
Note
With release 0.5.1, the data model was updated under the global key to provide segmentation for the different fabric types that are supported to provide better clarity for applicable parameters and attributes for a given fabric type. The primary keys for fabric types that are directly under the global key are ibgp, ebgp, and external. For fabric types ibgp and external, keys that were available in 0.5.0 under the global key are maintained and mapped for backwards compatibility for the time being. For the ebgp fabric type, initial support started with the usage of the ebgp key under the global key directly. Users should target the global section of the data model to reference vxlan.global.ibgp, vxlan.global.ebgp, or vxlan.global.external going forward.
With release 0.8.1, the ptp.vlan_id key has been removed from the data model for vxlan.global.ebgp, vxlan.global.external, and vxlan.multisite.isn as the PTP VLAN ID is not supported for these fabric types.
super_spine_bgp_asn : " 65000.1 "
anycast_gateway_mac : 20:20:00:00:00:aa
peer_keep_alive : management
peer_link_port_channel_id : 500
advertise_pip_border_only : false
advertise_pip_border_gateway : true
snmp_server_host_trap : true
- ip_address : 10.200.253.13
- ip_address : 10.200.253.13
- ip_address : 10.200.253.19
intra_fabric_link_freeform : |
service-policy type qos input my_fabric_policy
With Nexus Dashboard 4.1 or earlier releases, eBGP underlay deployment requires specific policies to be configured for proper underlay and overlay operation.
Each leaf switch must have a leaf_bgp_asn policy to specify its BGP AS number:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
For spine switches, use the custom ebgp_overlay_spine_all_neighbor_custom policy:
NDFC overrides description fields during deployment for the standard ebgp_overlay_spine_all_neighbor as these overlay policies are part of core system overlay policies, which interferes with VXLAN as Code tracking using the policy description. Therefore, a custom version with a different template name is required.
Important: You must manually duplicate the following templates in NDFC:
ebgp_overlay_spine_all_neighbor → ebgp_overlay_spine_all_neighbor_custom
ebgp_overlay_leaf_all_neighbor → ebgp_overlay_leaf_all_neighbor_custom
This step is required before using these templates. For template management instructions, refer to the Cisco NDFC Templates Documentation .
The LEAF_IP_LIST has the loopback0 addresses of leaf switches, and LEAF_ASNS has their ASN numbers. For instance, the leaf with loopback0 IP 10.12.0.249 has the ASN number “65000.22.”
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
For leaf switches, use the custom ebgp_overlay_leaf_all_neighbor_custom policy:
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
Here’s a complete example showing all required policies with proper priority settings:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
- name : bgp_as_policy_leaf
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : leaf_border_group
- name : bgp_as_policy_BGW
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_spine_all_neighbor_custom
Starting with release 4.2, Nexus Dashboard supports two new features for fabrics with eBGP overlay routing protocol:
BGP ASN Auto Allocation - Enables automated BGP ASN allocation for leaf switches, border devices, and border gateways in Multi-AS mode. Nexus Dashboard assigns unique ASNs from a pool. It cannot be enabled when ‘Allow same ASN on leafs’ is enabled. BGP ASN Auto Allocation is enabled by default.
Auto Config EVPN Overlay Peering - Automatically configures the eBGP EVPN overlay peerings. You do not need to manually configure the leaf and spine switch overlay policies anymore. Auto Config EVPN Overlay Peering is enabled by default. NaC VXLAN currently does not support to disable it.
With release 0.8.1, NaC VXLAN supports the following eBGP fabric scenarios with Nexus Dashboard 4.2 or later releases:
Multi-AS Mode with ASN Auto Allocation
Multi-AS Mode with Allow Same ASN On Leafs
Same-Tier-AS Mode
The following sections provide configuration examples for each of these scenarios.
In a Multi-AS fabric, a unique AS number per leaf/border is used. BGP ASN Auto Allocation is enabled by default. Nexus Dashboard will automatically generate the BGP ASN range. The ‘Allow Same ASN On Leafs’ option must be set to false.
name : eBGP-MultiAS-Fabric
super_spine_bgp_asn : " 65000.1 "
bgp_asn_auto_allocation : true
anycast_gateway_mac : 20:20:00:00:00:aa
The ‘Allow Same ASN On Leafs’ option allows to use the same ASN on all leaf nodes even when you have configured Multi-AS mode. BGP ASN Auto Allocation must be disabled as ‘Allow Same ASN On Leafs’ and BGP ASN Auto Allocation are mutually exclusive.
name : eBGP-MultiAS-Fabric
super_spine_bgp_asn : " 65000.1 "
bgp_asn_auto_allocation : false
anycast_gateway_mac : 20:20:00:00:00:aa
Since BGP ASN Auto Allocation is disabled in this scenario, each leaf/border switch must have a leaf_bgp_asn policy to specify its BGP AS number:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
In a Same-Tier-AS fabric, all leaf nodes share one unique AS and all border nodes share another unique AS. BGP ASN Auto Allocation does not apply in this scenario.
name : eBGP-SameTierAS-Fabric
super_spine_bgp_asn : " 65000.1 "
bgp_asn_mode : Same-Tier-AS
border_bgp_asn : " 65000.22 "
anycast_gateway_mac : 20:20:00:00:00:aa
Name Type Constraint Mandatory Default Value ebgp Class [ebgp]No
Name Type Constraint Mandatory Default Value spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ Yes super_spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No bgp_asn_mode Choice Multi-AS, Same-Tier-ASNo Multi-ASleaf_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No border_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No leaf_same_bgp_asn Boolean true, falseNo falseanycast_gateway_mac Any String[Regex: ^[a-f0-9]{1}\.[a-f0-9]{1}\.[a-f0-9]{1}$] or String[Regex: ^[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}$] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$] No 20:20:00:00:00:aaoverlay_mode Choice cli, config-profileNo clilayer2_vni_range Class [layer2_vni_range]No layer3_vni_range Class [layer3_vni_range]No layer2_vlan_range Class [layer2_vlan_range]No layer3_vlan_range Class [layer3_vlan_range]No enable_l3_vni_no_vlan Boolean true, falseNo falsemultisite_site_id Integer min: 1, max: 281474976710655 No vpc Class [vpc]No ptp Class [ptp]No snmp_server_host_trap Boolean true, falseNo trueenable_nxapi_http Boolean true, falseNo falsenxapi_http_port Integer No 80enable_nxapi_https Boolean true, falseNo truenxapi_https_port Integer No 443auth_proto Choice MD5, SHA, MD5_DES, MD5_AES, SHA_DES, SHA_AESNo MD5dns_servers List [dns_servers]No ntp_servers List [ntp_servers]No syslog_servers List [syslog_servers]No netflow Class [netflow]No bootstrap Class [bootstrap]No aaa_freeform String No banner_freeform String No leaf_pre_interface_freeform String No leaf_post_interface_freeform String No spine_pre_interface_freeform String No spine_post_interface_freeform String No tor_pre_interface_freeform String No tor_post_interface_freeform String No intra_fabric_link_freeform String No
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 30000to Integer min: 1, max: 16777214 No 49000
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 50000to Integer min: 1, max: 16777214 No 59000
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2300to Integer min: 2, max: 4094 No 2999
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2000to Integer min: 2, max: 4094 No 2299
Name Type Constraint Mandatory Default Value peer_link_vlan Integer min: 2, max: 3967 No 3600peer_keep_alive Choice loopback, managementNo managementauto_recovery_time Integer min: 240, max: 3600 No 360delay_restore_time Integer min: 1, max: 3600 No 150peer_link_port_channel_id Integer min: 1, max: 4096 No 500ipv6_nd_sync Boolean true, falseNo trueadvertise_pip Boolean true, falseNo falseadvertise_pip_border_only Boolean true, falseNo trueadvertise_pip_border_gateway Boolean true, falseNo falsedomain_id_range String No 1-1000fabric_vpc_qos Boolean true, falseNo falsefabric_vpc_qos_policy_name String No spine_qos_for_fabric_vpc_peering
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falsedomain_id Integer min: 0, max: 127 No 0 lb_id Integer min: 0, max: 1023 No 0 vlan_id Integer min: 2, max: 3967 No
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes severity Integer min: 0, max: 7 Yes
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falseexporter List [exporter]No record List [record]No monitor List [monitor]No
Name Type Constraint Mandatory Default Value enable_bootstrap Boolean true, falseNo falseenable_local_dhcp_server Boolean true, falseNo falsedhcp_version Choice DHCPv4, DHCPv6No dhcp_v4 Class [dhcp_v4]No dhcp_v6 Class [dhcp_v6]No enable_cdp_mgmt Boolean true, falseNo falsebootstrap_freeform String No
Name Type Constraint Mandatory Default Value name String Yes ip_address IP Yes vrf String No source_interface String Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}(\.\d{1,4})?$ Yes udp_port Integer min: 1, max: 65535 Yes
Name Type Constraint Mandatory Default Value name String Yes template Choice netflow_ipv4_record, netflow_l2_recordYes layer2 Boolean true, falseNo
Name Type Constraint Mandatory Default Value name String Yes record String Yes exporter1 String Yes exporter2 String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 8, max: 30 Yes multi_subnet_scope String No domain_name String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 64, max: 126 Yes multi_subnet_scope String No domain_name String No
Note
With release 0.5.1, the data model was updated under the global key to provide segmentation for the different fabric types that are supported to provide better clarity for applicable parameters and attributes for a given fabric type. The primary keys for fabric types that are directly under the global key are ibgp, ebgp, and external. For fabric types ibgp and external, keys that were available in 0.5.0 under the global key are maintained and mapped for backwards compatibility for the time being. For the ebgp fabric type, initial support started with the usage of the ebgp key under the global key directly. Users should target the global section of the data model to reference vxlan.global.ibgp, vxlan.global.ebgp, or vxlan.global.external going forward.
super_spine_bgp_asn : " 65000.1 "
anycast_gateway_mac : 20:20:00:00:00:aa
peer_keep_alive : management
peer_link_port_channel_id : 500
advertise_pip_border_only : false
advertise_pip_border_gateway : true
snmp_server_host_trap : true
- ip_address : 10.200.253.13
- ip_address : 10.200.253.13
- ip_address : 10.200.253.19
intra_fabric_link_freeform : |
service-policy type qos input my_fabric_policy
eBGP underlay deployment requires specific policies to be configured for proper underlay and overlay operation.
Each leaf switch must have a leaf_bgp_asn policy to specify its BGP AS number:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
For spine switches, use the custom ebgp_overlay_spine_all_neighbor_custom policy:
NDFC overrides description fields during deployment for the standard ebgp_overlay_spine_all_neighbor as these overlay policies are part of core system overlay policies, which interferes with VXLAN as Code tracking using the policy description. Therefore, a custom version with a different template name is required.
Important: You must manually duplicate the following templates in NDFC:
ebgp_overlay_spine_all_neighbor → ebgp_overlay_spine_all_neighbor_custom
ebgp_overlay_leaf_all_neighbor → ebgp_overlay_leaf_all_neighbor_custom
This step is required before using these templates. For template management instructions, refer to the Cisco NDFC Templates Documentation .
The LEAF_IP_LIST has the loopback0 addresses of leaf switches, and LEAF_ASNS has their ASN numbers. For instance, the leaf with loopback0 IP 10.12.0.249 has the ASN number “65000.22.”
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
For leaf switches, use the custom ebgp_overlay_leaf_all_neighbor_custom policy:
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
Here’s a complete example showing all required policies with proper priority settings:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
- name : bgp_as_policy_leaf
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : leaf_border_group
- name : bgp_as_policy_BGW
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_spine_all_neighbor_custom
Name Type Constraint Mandatory Default Value ebgp Class [ebgp]No
Name Type Constraint Mandatory Default Value spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ Yes super_spine_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No bgp_asn_mode Choice Multi-AS, Same-Tier-ASNo Multi-ASleaf_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No border_bgp_asn String Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ No leaf_same_bgp_asn Boolean true, falseNo falseanycast_gateway_mac Any String[Regex: ^[a-f0-9]{1}\.[a-f0-9]{1}\.[a-f0-9]{1}$] or String[Regex: ^[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}$] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$] No 20:20:00:00:00:aaoverlay_mode Choice cli, config-profileNo clilayer2_vni_range Class [layer2_vni_range]No layer3_vni_range Class [layer3_vni_range]No layer2_vlan_range Class [layer2_vlan_range]No layer3_vlan_range Class [layer3_vlan_range]No enable_mvpn_vri_id_range Boolean true, falseNo trueenable_l3_vni_no_vlan Boolean true, falseNo falsemultisite_site_id Integer min: 1, max: 281474976710655 No vpc Class [vpc]No ptp Class [ptp]No snmp_server_host_trap Boolean true, falseNo trueenable_nxapi_http Boolean true, falseNo falsenxapi_http_port Integer No 80enable_nxapi_https Boolean true, falseNo truenxapi_https_port Integer No 443auth_proto Choice MD5, SHA, MD5_DES, MD5_AES, SHA_DES, SHA_AESNo MD5dns_servers List [dns_servers]No ntp_servers List [ntp_servers]No syslog_servers List [syslog_servers]No netflow Class [netflow]No bootstrap Class [bootstrap]No
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 30000to Integer min: 1, max: 16777214 No 49000
Name Type Constraint Mandatory Default Value from Integer min: 1, max: 16777214 Yes 50000to Integer min: 1, max: 16777214 No 59000
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2300to Integer min: 2, max: 4094 No 2999
Name Type Constraint Mandatory Default Value from Integer min: 2, max: 4094 Yes 2000to Integer min: 2, max: 4094 No 2299
Name Type Constraint Mandatory Default Value peer_link_vlan Integer min: 2, max: 3967 No 3600peer_keep_alive Choice loopback, managementNo managementauto_recovery_time Integer min: 240, max: 3600 No 360delay_restore_time Integer min: 1, max: 3600 No 150peer_link_port_channel_id Integer min: 1, max: 4096 No 500ipv6_nd_sync Boolean true, falseNo trueadvertise_pip Boolean true, falseNo falseadvertise_pip_border_only Boolean true, falseNo trueadvertise_pip_border_gateway Boolean true, falseNo falsedomain_id_range String No 1-1000fabric_vpc_qos Boolean true, falseNo falsefabric_vpc_qos_policy_name String No spine_qos_for_fabric_vpc_peering
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falsedomain_id Integer min: 0, max: 127 No 0 lb_id Integer min: 0, max: 1023 No 0 vlan_id Integer min: 2, max: 3967 No
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes
Name Type Constraint Mandatory Default Value ip_address IP Yes vrf String Yes severity Integer min: 0, max: 7 Yes
Name Type Constraint Mandatory Default Value enable Boolean true, falseNo falseexporter List [exporter]No record List [record]No monitor List [monitor]No
Name Type Constraint Mandatory Default Value enable_bootstrap Boolean true, falseNo falseenable_local_dhcp_server Boolean true, falseNo falsedhcp_version Choice DHCPv4, DHCPv6No dhcp_v4 Class [dhcp_v4]No dhcp_v6 Class [dhcp_v6]No enable_cdp_mgmt Boolean true, falseNo false
Name Type Constraint Mandatory Default Value name String Yes ip_address IP Yes vrf String No source_interface String Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}(\.\d{1,4})?$ Yes udp_port Integer min: 1, max: 65535 Yes
Name Type Constraint Mandatory Default Value name String Yes template Choice netflow_ipv4_record, netflow_l2_recordYes layer2 Boolean true, falseNo
Name Type Constraint Mandatory Default Value name String Yes record String Yes exporter1 String Yes exporter2 String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 8, max: 30 Yes multi_subnet_scope String No domain_name String No
Name Type Constraint Mandatory Default Value scope_start_address IP Yes scope_end_address IP Yes switch_mgmt_default_gw IP Yes mgmt_prefix Integer min: 64, max: 126 Yes multi_subnet_scope String No domain_name String No
Note
With release 0.5.1, the data model was updated under the global key to provide segmentation for the different fabric types that are supported to provide better clarity for applicable parameters and attributes for a given fabric type. The primary keys for fabric types that are directly under the global key are ibgp, ebgp, and external. For fabric types ibgp and external, keys that were available in 0.5.0 under the global key are maintained and mapped for backwards compatibility for the time being. For the ebgp fabric type, initial support started with the usage of the ebgp key under the global key directly. Users should target the global section of the data model to reference vxlan.global.ibgp, vxlan.global.ebgp, or vxlan.global.external going forward.
super_spine_bgp_asn : " 65000.1 "
anycast_gateway_mac : 20:20:00:00:00:aa
peer_keep_alive : management
peer_link_port_channel_id : 500
advertise_pip_border_only : false
advertise_pip_border_gateway : true
snmp_server_host_trap : true
- ip_address : 10.200.253.13
- ip_address : 10.200.253.13
- ip_address : 10.200.253.19
eBGP underlay deployment requires specific policies to be configured for proper underlay and overlay operation.
Each leaf switch must have a leaf_bgp_asn policy to specify its BGP AS number:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
For spine switches, use the custom ebgp_overlay_spine_all_neighbor_custom policy:
NDFC overrides description fields during deployment for the standard ebgp_overlay_spine_all_neighbor as these overlay policies are part of core system overlay policies, which interferes with VXLAN as Code tracking using the policy description. Therefore, a custom version with a different template name is required.
Important: You must manually duplicate the following templates in NDFC:
ebgp_overlay_spine_all_neighbor → ebgp_overlay_spine_all_neighbor_custom
ebgp_overlay_leaf_all_neighbor → ebgp_overlay_leaf_all_neighbor_custom
This step is required before using these templates. For template management instructions, refer to the Cisco NDFC Templates Documentation .
The LEAF_IP_LIST has the loopback0 addresses of leaf switches, and LEAF_ASNS has their ASN numbers. For instance, the leaf with loopback0 IP 10.12.0.249 has the ASN number “65000.22.”
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
For leaf switches, use the custom ebgp_overlay_leaf_all_neighbor_custom policy:
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
Here’s a complete example showing all required policies with proper priority settings:
- name : bgp_as_policy_leaf
template_name : leaf_bgp_asn
template_name : leaf_bgp_asn
- name : bgp_as_policy_BGW
template_name : leaf_bgp_asn
- name : ebgp_overlay_spine_all_neighbor_custom
template_name : ebgp_overlay_spine_all_neighbor_custom
LEAF_IP_LIST : " 10.12.0.249,10.12.0.199,10.12.0.198,10.12.0.254,10.12.0.253 "
LEAF_ASNS : " 65000.22,65000.4,65000.4,65000.5,65000.5 "
- name : ebgp_overlay_leaf_all_neighbor_custom
template_name : ebgp_overlay_leaf_all_neighbor_custom
SPINE_IP_LIST : " 10.12.0.229,10.12.0.239 "
- name : bgp_as_policy_leaf
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : leaf_border_group
- name : bgp_as_policy_BGW
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_leaf_all_neighbor_custom
- name : ebgp_overlay_spine_all_neighbor_custom