- Preface
- New and Changed Information
- Cisco Dynamic Fabric Automation
- Fabric Control Segment
- BGP Control Plane
- Cable Management
- XMPP Client Configuration
- Multi-tenancy
- Segment ID Support for DHCP Relay
- Tenant Configuration
- Auto-Configuration
- Auto-Configuration of Layer-3 DCI
- Unicast Forwarding
- Multicast Forwarding
- Multi-Mobility Domain Auto-Configuration
- Dynamic Virtual Port
- Appendix
Auto-Configuration
Auto-Configuration
This chapter briefly describes about the following:
- Information About Auto-Configuration in DFA
- LDAP Configuration
- Configuring Windows 2012 as DHCP Server
Information About Auto-Configuration in DFA
Configuration Profile
A configuration profile in DFA is a collection of commands used to instantiate a specific configuration. Based on appropriate end-host triggers (VDP or data plane trigger (any data frame)), the configuration profiles are grouped to allow flexible and extensible options to instantiate day-1 tenant-related configurations on a DFA leaf on need basis.
The commands are entered using variables for certain parameters instead of entering the actual value. The switch then fills the actual values to derive the completed command. When the required parameters for a particular configuration profile are available, the profile can be instantiated to create a configuration set. The switch then applies this configuration set to complete the command execution belonging to the configuration set.
The commands which are supported under a configuration profile are called config-profile-aware commands. Most of the commands in the switch can be entered into the configuration profile.
![]() Note | Various sets of configuration profiles can be created and stored in the network database, and each network can use a different configuration profile. The configuration profiles can be used from the network to set up on the leaf whenever required. |
Universal Profile
![]() Note | The Universal Profiles are available since 7.1(0)N1(1) for Cisco Nexus 5000 and 6000 Series Switches and from 7.2(0)D1(1) for Cisco Nexus 7000 Series Switches and 7.1(1) on Cisco Prime DCNM. |
Universal profiles are enhanced configuration profiles with the ability to support optional parameters and non-disruptive profile refresh. The support is also extended to VRF profiles by using the include profile any command in the network individual VRF profiles. VRF profiles (vrf-common) need not be statically defined using POAP; instead select any universal VRF profile in Cisco Prime DCNM while creating a partition (vrf-common-universal, vrf-common, and so on). During the instantiation of the network, the system downloads the selected VRF profile for the partition and performs the necessary VRF, VLAN/SVI or bridge-domain/BDI and BGP configurations.
Profile Refresh
Profile refresh involves updating and/or removing profile parameters (arguments or variables) without disrupting the traffic while using universal profiles. After the changes are done, Cisco Prime DCNM executes the fabric database refresh vni/dot1q/vrf command.
The enhanced syslogs are generated when profile apply, profile un-apply, and profile refresh is performed and it contains details about the host that triggers the profile events.
Profile Download and Apply: 2014 Dec 11 10:51:37 hmm-n6k-9 %HMM-6-AUTO_CONF_PROFILE_DOWNLOADED: hmm [4238] VDP Host: Profile 'BariProfile-v4-include-any' (instance_def_0_1) downloaded for vni 301005 2014 Dec 11 10:51:42 hmm-n6k-9 %HMM-6-AUTO_CONF_PROFILE_APPLIED: hmm [4238] VDP Host (00000000000000000000000064000000): Profile 'BariProfile-v4-include-any' (instance_vni_301005_1) applied for vni 301005 and got encap 2 Profile Refresh: 2014 Dec 11 10:53:07 hmm-n6k-9 %HMM-6-AUTO_CONF_PROFILE_REFRESH: hmm [4238] Data Snooping Host: Refresh success for encap 1000 Profile Deletion: 2014 Dec 11 10:53:20 hmm-n6k-9 %HMM-6-AUTO_CONF_PROFILE_UNAPPLIED: hmm [4238] Data Snooping Host: Profile 'BariProfile-v4' unapplied for encap 1000 and for vni 301000
![]() Note | Profile refresh can be achieved with individual network profiles, but it is treated as re-applying the profile. Therefore, updating parameters is disruptive. |
Profile Migration
Migration involves moving from an existing applied individual profile to a universal profile, and it is necessary if features such as optional parameter and refresh are required. Migration needs to be done for all the networks under a partition/VRF at the same time. Within the same VRF/partition, a combination of universal and individual network profiles are not supported. To migrate the networks under partition/VRF, change the network profile from defaultNetworkProfile to defaultNetworkUniversalProfile, which is a disruptive process.
LDAP Configuration
There are three different tables, which you can query from:
Network Table
Switch# configure terminal Switch(config)# fabric database type network Switch(config)# server protocol ldap ip 10.1.1.2 vrf <default/management> Switch(config)# db-table ou=networks, dc=cisco, dc=com key-type 1
Partition Table
Switch# configure terminal Switch(config)# fabric database type partition Switch(config)# server protocol ldap ip 10.1.1.2 vrf <default/management> Switch(config)# db-table ou=partitions, dc=cisco, dc=com
Profile Table
Multi-tenancy lite version
This table is used to store configuration profiles, which are pre-packaged with DCNM and custom config profiles that are created. The Cisco Nexus 5000 Series Switches or Cisco Nexus 6000 Series Switches employ this tenancy model where a maximum of 4K VLANs are supported on the ToR. So, if a profile is not pre-configured on the system then ToR will query profile table to download profile contents and cache it locally.
Switch# configure terminal Switch(config)# fabric database type profile Switch(config)# server protocol ldap ip 10.1.1.2 vrf <default/management> Switch(config)# db-table ou=profiles, dc=cisco, dc=com
Multi-tenancy full version
The Cisco Nexus 7000 Series Switches employ this tenancy model where, upto 4K VLANs or dot1q tags can be supported on a per port basis.
Switch# configure terminal Switch(config)# fabric database type profile Switch(config)# server protocol ldap ip 10.1.1.2 vrf <default/management> Switch(config)# db-table ou=profilesBridgeDomain, dc=cisco, dc=com
Auto-Pull Configuration
Switch# fabric database auto-pull <dot1q/vni> interface ethernet <id>
The trigger is similar to other triggers done by VDP or Non-VDP packet.
Specifying profile Mapping for network instances
Device(config)# fabric database profile-map global Device(config-profile-map-global)# ethernet-tag encapsulation vni default dynamic Device(config-profile-map-global)# vdp vni default dynamic
Configuring Windows 2012 as DHCP Server
You can have common DHCP-Servers (for example, Microsoft Windows) for IP address assignments within DFA. The DHCP-Servers can assign IP addresses to a simple DHCP request. The common DHCP-Server support does not rely on specific DHCP scope option (for example, simple-mode) by accepting some limitations or additional configuration.
We support Windows 2012 DHCP server by utilizing the 'Super Scope' as well as the policy on option 82 for address range selection. The DHCP policy on scope reserves the address space exclusively for the request matching the policy.
![]() Note | We support both Windows DHCPv4 and DHCPv6 servers and the configurations are similar to regular networks. |
Let us assume the switch is using the address from subnet B (it can be the backbone subnet, management subnet, or any customer designated subnet for this purpose) to communicate with the Windows DHCP server. In DFA we have subnets S1, S2, S3, …, Sn for segment s1, s2, s3, …, sn.
-
Create a super scope. Within the super scope, create scope B, S1, S2, S3, …, Sn for the subnet B and the subnets for each segment.
-
In scope B, specify the 'Exclusion Range' to be the entire address range (so that the offered address range must not be from this scope).
-
For every segment scope Si, specify a policy that matches on Agent Circuit ID with value of '0108000600XXXXXX', where '0108000600' is a fixed value for all segments, the 6 numbers "XXXXXX" is the segment ID value in hexadecimal. Also ensure to check the Append wildcard(*) check box.
-
Set the policy address range to the entire range of the scope.
Configuring Infoblox as DHCP Server
Uses the Link Selection sub-option for scope selection, as this is by default set as the client facing SVI address. For other DHCP servers such as DHCPd and CPNR, GIAddr based scope selection is used. If you are already using Infoblox, then you must upgrade the Cisco NX-OS Switch to version 7.1(1)N1(1) or later.
![]() Note | We support only DHCPv4 for Infoblox and the configurations are similar to regular networks. You can refer to Infoblox user manual for configuration. |
Let us consider a case where, the DHCP clients are VM hosts connecting to Cisco switches in DFA. The switches are configured with SVI as gateway for the VM hosts. The IP address of the SVI may not be unique in the DFA system, as when VM host moves to server connecting to another switch, then another SVI will be brought up on that switch and configured with the same gateway IP so that the VM does not need to change its gateway IP.
Configuring DHCPd as DHCP Server
The system has a centralized DHCP server that serves all VM hosts. Every switch has a DHCP relay agent running to forward the DHCP requests from VM hosts to the DHCP server. Because the SVI IP address is not unique, hence not reachable from the DHCP server, the relay agent on switch cannot use it as the GIAddr in the request. Instead, it uses another routing interface which has unique IP address as GIAddr. In order for the DHCP server to select the correct subnet for each host, the relay agent also put an identifier in the Circuit ID field in the Relay Agent Information option. The identifier uniquely identifies the subnet that a host connects to. However the identifier is only a portion of the Circuit ID.
Now on the DHCP server, you must configure it to fetch the identifier out of the Circuit ID and use the identifier to choose the right subnet. We are able to do this with DHCPd in the following way: we define classes matching on substring of the Circuit ID. All the host subnets are in a shared-network. The shared-network also contains the subnet for the routing interfaces on the switch, so that the shared-network will be picked when the request comes. The subnet for the routing interfaces does not have address pool, so it will not assign addresses. The address allocation is from the host subnets in the shared-network. Each host subnet only allows its own class members. Hence the server can correctly choose a subnet for address allocation based on the identifier carried in the request.
# Start Segment 90001
class "15f91" {
match if substring (option agent.circuit-id, 5, 3) =01:5f:91;
}
# End Segment 90001
# Start Segment 90002
class "15f92" {
match if substring (option agent.circuit-id, 5, 3) =01:5f:92;
}
# End Segment 90002
shared-network "dfa-network" {
# Start Segment primarySubnet
subnet 43.2.0.0 netmask 255.255.255.0 {
}
# End Segment primarySubnet
# Start Segment 90001
subnet 59.2.8.0 netmask 255.255.255.0 {
option routers 59.2.8.1;
option vlan-id 90001;
}
pool {
allow members of "15f91";
range 59.2.8.2 59.2.8.254;
}
# End Segment 90001
# Start Segment 90002
subnet 99.1.3.0 netmask 255.255.255.0 {
option routers 99.1.3.1;
option vlan-id 90002;
}
pool {
allow members of "15f92";
range 99.1.3.2 99.1.3.254;
}
# End Segment 90002
}
Configuring a Profile
1.
configure profile
profile-name
2. interface vlan vlan-id or interface bdi bd-id
3.
no shutdown
4.
no ip redirects
DETAILED STEPS
Example for Configuring an Individual Profile
Multi-tenancy lite version
The following is an example of an individual network configuration profile:
configure profile defaultNetworkIpv4EfProfile vlan $vlanId vn-segment $segmentId mode fabricpath interface vlan $vlanId vrf member $vrfName ip address $gatewayIpAddress/$netMaskLength tag 12345 ip dhcp relay address $dhcpServerAddr use-vrf default fabric forwarding mode proxy-gateway no ip redirects no shutdown include profile vrf-common
Multi-tenancy full version
config profile defaultNetworkIpv4EfProfile vni $segmentId bridge-domain $bridgeDomainId member vni $segmentId interface bdi $bridgeDomainId vrf member $vrfName ip address $gatewayIpAddress/$netMaskLength tag 12345 ip dhcp relay address $dhcpServerAddr use-vrf management fabric forwarding mode proxy-gateway no ip redirects no shutdown include profile vrf-common
Multi-tenancy lite version
The following is an example for a universal configuration profile:
configure profile defaultNetworkUniversalEfProfile vlan $vlanId vn-segment $segmentId mode fabricpath interface vlan $vlanId vrf member $vrfName ip address $gatewayIpAddress/$netMaskLength tag 12345 ip dhcp relay address $dhcpServerAddr use-vrf $vrfDhcp ipv6 address $gatewayIpv6Address/$prefixLength tag 12345 fabric forwarding mode proxy-gateway no ip redirects no ipv6 redirects no shutdown include profile any
Multi-tenancy full version
The following is an example for a universal configuration profile:
configure profile defaultNetworkUniversalEfProfile vni $segmentId bridge-domain $bridgeDomainId member vni $segmentId interface bdi $bridgeDomainId vrf member $vrfName ip address $gatewayIpAddress/$netMaskLength tag 12345 ipv6 address $gatewayIpv6Address/$prefixLength tag 12345 fabric forwarding mode proxy-gateway no ip redirects no ipv6 redirects no shutdown include profile any
The following is an example for vrf-common-universal configuration profile:
configure profile vrf-common-universal
vrf context $vrfName
vni $include_vrfSegmentId
rd auto
ip route 0.0.0.0/0 $include_serviceNodeIpAddress
address-family ipv4 unicast
route-target import $include_borderLeafRt
route-target both auto
address-family ipv6 unicast
route-target import $include_borderLeafRt
route-target both auto
router bgp $asn
vrf $vrfName
address-family ipv4 unicast
redistribute hmm route-map FABRIC-RMAP-REDIST-HOST
redistribute direct route-map FABRIC-RMAP-REDIST-SUBNET
maximum-paths ibgp 2
address-family ipv6 unicast
redistribute hmm route-map FABRIC-RMAP-REDIST-V6HOST
redistribute direct route-map FABRIC-RMAP-REDIST-SUBNET
maximum-paths ibgp 2
The VRF profile is updated on the leaf resulting in the loopback routable IP address being auto-configured under that VRF as well as advertised via MP-BGP to all leaf nodes.
The following is an example of a profile that auto-configures a routable loopback interface per ToR per VRF. This profile is pre-packaged in DCNM and looks as follows. Any parameter prefixed with the keynote as 'system_auto_' indicates that the corresponding value will be auto-generated by the ToR.
configure profile vrf-common-loopback-universal interface loopback $system_auto_loopbackId vrf member $vrfName ip address $system_auto_backboneIpAddress/32 tag 12345 vrf context $vrfName vni $include_vrfSegmentId rd auto ip route 0.0.0.0/0 $include_serviceNodeIpAddress address-family ipv4 unicast route-target both auto address-family ipv6 unicast route-target both auto router bgp $asn vrf $vrfName address-family ipv4 unicast redistribute hmm route-map FABRIC-RMAP-REDIST-HOST redistribute direct route-map FABRIC-RMAP-REDIST-SUBNET maximum-paths ibgp 2 address-family ipv6 unicast redistribute hmm route-map FABRIC-RMAP-REDIST-V6HOST redistribute direct route-map FABRIC-RMAP-REDIST-SUBNET maximum-paths ibgp 2
Dynamic Provisioning
![]() Note | This section is applicable only for multi-tenancy full version. |
-
The server-facing port needs to be configured with 'default VSI' and 'auto-config' must be enabled. The Ingress CBL state must be set to allow packets in all the VLANs. Note that for DHCP based snooping, 'feature dhcp' should be enabled.
-
Global ACLs must be set up to punt the packets of interest such as ARP and ND to the HMM component. All the remaining packets must be dropped to retain the CBL behavior. The global ACLs must be used only for the (Port, VLAN) that has not been configured on the system.
Once the tenant profile is installed, the VLAN/BD configuration along with the associated port membership will be configured.
system bridge-domain 2-3967 feature vni vni 5000, 10010-10011, 20000 system fabric bridge-domain 3001-3967 bridge-domain 2,10-11 vrf context management encapsulation profile vni all_tenants dot1q 6-204 vni 7002-7200 encapsulation profile vni cisco_all dot1q 10-1010 vni 10010-11010 bridge-domain 2,10-11 member vni 5000,10010-10011 interface Ethernet3/6 no shutdown service instance 3 vni no shutdown encapsulation profile cisco_all default
interface ethernet 2/2
service instance vni default
encapsulation dynamic vdp
interface ethernet 2/2
service instance vni default
encapsulation dynamic frame-snoop profile cisco

Feedback