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}$]
In this example, we have a fabric named nac-msd. In this MSD fabric, all fabrics use the same anycast gateway mac: DE:AD:BE:EF:FE:ED. The loopback ID used for the Anycast IP configured on each Border Gateway is: 100 and the subnet used to allocate an IP is: 10.10.0.0/24.
This configuration uses external ISN devices as the Route Server. In this configuration there are four (4) IP addresses:
100.64.0.1
100.64.0.2
100.64.0.3
100.64.0.4
Each IP will be associated to an Autonomous System (ASN), which can be different for each Route Server. In this example, all Route Servers will use the ASN 65000.100. When underlay_autoconfig is true, you need to provide a subnet for the DCI point-to-point (p2p) connection(s). Here we used the subnet 10.10.1.0/24. Each p2p will used CIDR /30.
The value in bgp_asn should between double quotes. Example:
global:
bgp_asn: "6512"
global:
bgp_asn: "65000.1"
global.nac.yaml
---
vxlan:
fabric:
name: nac-msd
type: MSD
multisite:
child_fabrics:
- name: nac-ndfc1
- name: nac-ndfc2
- name: nac-ndfc3
- name: nac-isn
anycast_gateway_mac: de:ad:be:ef:fe:ed
bgw_ip_tag: 54321
vtep_loopback_id: 100
ipv4_vtep_loopback_range: 10.10.0.0/24
overlay_dci:
underlay_autoconfig: true
deployment_method: 'Centralized_To_Route_Server'
ipv4_dci_subnet_range: 10.10.1.0/24
ipv4_dci_subnet_mask: 30
route_server:
peers:
- ip_address: 100.64.0.1
bgp_asn: "65000.100"# Use quotes
- ip_address: 100.64.0.2
bgp_asn: "65000.100"# Use quotes
- ip_address: 100.64.0.3
bgp_asn: "65000.100"# Use quotes
- ip_address: 100.64.0.4
bgp_asn: "65000.100"# Use quotes
redistribute_direct: false
ip_tag: 54321
enable_bgp_bfd: false
enable_bgp_log_neighbor_change: true
enable_bgp_send_community: true
enable_ebgp_password: false
enable_trm: false
delay_restore: 300
Starting with release 0.4.3, we are introducing a new key, vxlan.multisite.child_fabrics.bgw_anycast_vip_ipv4, which allows you to configure a custom Virtual IP (VIP) address or anycast IP for the Border Gateway. This key is utilized only when vxlan.underlay.general.manual_underlay_allocation is set to true for at least one child fabric.
This section defines a Layer 3 network with IPv4 and IPv6 gateway addresses that spans multiple child fabrics in a Multi-Site deployment. The Network_53001 configuration establishes a distributed SVI (Switch Virtual Interface) across both nac-ndfc1 and nac-ndfc2 fabrics, associated with NaC-VRF1. Each child fabric is configured with the same multicast group address for BUM (Broadcast, Unknown unicast, Multicast) traffic handling, and the l3gw_on_border: true parameter enables Layer 3 gateway functionality on the border leaf switches. This creates a stretched Layer 3 network where the gateway IP addresses (10.0.1.1/24 for IPv4 and 2001:0db8:0001:0000:0000:0000:0000:0001/64 for IPv6) are active on border devices in both data centers, providing localized gateway services and optimal traffic flow for hosts connected to this network segment.
Managing Multi-Cluster Fabrics Groups (MCFG) follow the same steps of managing an MSD Fabric. Additional keys and value must be defined in the data model and on the inventory file. In this example we have a fabric named nac-mcfg. This fabric is similar as the MSD example, the main difference is that nac-ndfc1 and nac-ndfc2 child fabrics are managed by nd-cluster-1 while nac-ndfc3 and nac-isn are managed by nd-cluster-2.
global.nac.yaml
---
vxlan:
fabric:
name: nac-mcfg
type: MCFG
multisite:
child_fabrics:
- name: nac-ndfc1
cluster: nd-cluster-1
- name: nac-ndfc2
cluster: nd-cluster-1
- name: nac-ndfc3
cluster: nd-cluster-2
- name: nac-isn
cluster: nd-cluster-2
anycast_gateway_mac: de:ad:be:ef:fe:ed
MCFG uses a feature called One Manage. This features requires remote authentication, which means that the inventory file must be updated to reflect the multiple clusters.