Skip to content

VRF

VRF (Virtual Routing and Forwarding) enables network virtualization by creating isolated routing and forwarding instances within a single NX-OS device, supporting multi-tenancy and network segmentation through separate routing tables. Each VRF instance can be configured with a route distinguisher, VNI for VXLAN integration, VPN ID, and per-address-family route target import/export policies for both IPv4 and IPv6 unicast. VRF supports EVPN route target auto-derivation, selective route leaking between VRFs, and L3VNI association for VXLAN-based Layer 3 overlay networking.

NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
vrfsListvrfsNo

NameTypeConstraintMandatoryDefault Value
nameStringYes
descriptionStringNo
vniIntegermin: 1, max: 16777215No
l3vniBooleantrue, falseNo
mdt_v4_vxlanBooleantrue, falseNo
mdt_v6_vxlanBooleantrue, falseNo
route_distinguisherStringNo
ouiStringNo
vpn_idStringNo
auto_discardBooleantrue, falseNo
icmp_errors_source_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
icmp_errors_source_interface_idAnyString or Integer[min: 0]No
address_familiesListaddress_familiesNo
security_enforce_tagIntegermin: 0, max: 65535No
security_enforce_defaultChoicedeny, permitNo
security_contractsListsecurity_contractsNo

NameTypeConstraintMandatoryDefault Value
nameStringYes
descriptionStringNo
vniIntegermin: 1, max: 16777215No
l3vniBooleantrue, falseNo
route_distinguisherStringNo
ouiStringNo
vpn_idStringNo
auto_discardBooleantrue, falseNo
icmp_errors_source_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
icmp_errors_source_interface_idAnyString or Integer[min: 0]No
address_familiesListaddress_familiesNo
security_enforce_tagIntegermin: 0, max: 65535No
security_enforce_defaultChoicedeny, permitNo

address_families (nxos.devices.configuration.vrfs)

Section titled “address_families (nxos.devices.configuration.vrfs)”
NameTypeConstraintMandatoryDefault Value
address_familyChoiceipv4-unicast, ipv6-unicastYes
route_target_both_autoBooleantrue, falseNo
route_target_both_auto_evpnBooleantrue, falseNo
route_target_importsListStringNo
route_target_exportsListStringNo
route_target_imports_evpnListStringNo
route_target_exports_evpnListStringNo
import_mapStringNo
export_mapStringNo
import_vrf_default_mapStringNo
import_vrf_default_prefix_limitIntegermin: 1, max: 2147483647No
import_vrf_default_advertise_vpnBooleantrue, falseNo
export_vrf_default_mapStringNo
export_vrf_default_prefix_limitIntegermin: 1, max: 2147483647No
export_vrf_default_allow_vpnBooleantrue, falseNo

address_families (nxos.devices.configuration.vrfs)

Section titled “address_families (nxos.devices.configuration.vrfs)”
NameTypeConstraintMandatoryDefault Value
address_familyChoiceipv4-unicast, ipv6-unicastYes
route_target_both_autoBooleantrue, falseNo
route_target_both_auto_evpnBooleantrue, falseNo
route_target_importsListStringNo
route_target_exportsListStringNo
route_target_imports_evpnListStringNo
route_target_exports_evpnListStringNo
import_mapStringNo
export_mapStringNo

security_contracts (nxos.devices.configuration.vrfs)

Section titled “security_contracts (nxos.devices.configuration.vrfs)”
NameTypeConstraintMandatoryDefault Value
sourceAnyInteger[min: 0, max: 65535] or Choice[any] or String[Regex: ^.*[\$\%]\{.*$]Yes
destinationAnyInteger[min: 0, max: 65535] or Choice[any] or String[Regex: ^.*[\$\%]\{.*$]Yes
policyStringYes
unidirBooleantrue, falseNo

Example 1: Single tenant VRF with IPv4 unicast and EVPN route targets

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: BLUE
description: Blue Tenant VRF
vni: 11010
route_distinguisher: "65000:1010"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11010"
route_target_exports:
- "65000:11010"
route_target_imports_evpn:
- "65000:11010"
route_target_exports_evpn:
- "65000:11010"

Example 2: Dual-stack VRF with both IPv4 and IPv6 address families

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: GREEN
description: Green Tenant VRF
vni: 11020
route_distinguisher: "65000:1020"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11020"
route_target_exports:
- "65000:11020"
route_target_imports_evpn:
- "65000:11020"
route_target_exports_evpn:
- "65000:11020"
- address_family: ipv6-unicast
route_target_imports:
- "65000:11020"
route_target_exports:
- "65000:11020"
route_target_imports_evpn:
- "65000:11020"
route_target_exports_evpn:
- "65000:11020"

Example 3: Multiple tenant VRFs on a leaf switch with L2 VNI route target imports

nxos:
devices:
- name: LEAF2
configuration:
vrfs:
- name: BLUE
description: Blue Tenant VRF
vni: 11010
route_distinguisher: "65000:1010"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11010"
- "65000:10101"
- "65000:10102"
route_target_exports:
- "65000:11010"
route_target_imports_evpn:
- "65000:11010"
route_target_exports_evpn:
- "65000:11010"
- name: GREEN
description: Green Tenant VRF
vni: 11020
route_distinguisher: "65000:1020"
address_families:
- address_family: ipv4-unicast
route_target_both_auto: true
route_target_both_auto_evpn: true

Example 4: VRF with import/export maps

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: RED
description: Red Tenant VRF
vni: 11030
route_distinguisher: "65000:1030"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11030"
route_target_exports:
- "65000:11030"
import_map: RM_IMPORT
export_map: RM_EXPORT
route_target_imports_evpn:
- "65000:11030"
route_target_exports_evpn:
- "65000:11030"

Example 5: VRF with route leaking to and from the default VRF

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: SHARED
route_distinguisher: "65000:100"
address_families:
- address_family: ipv4-unicast
import_vrf_default_map: RM_FROM_DEFAULT
import_vrf_default_prefix_limit: 1000
import_vrf_default_advertise_vpn: true
export_vrf_default_map: RM_TO_DEFAULT
export_vrf_default_prefix_limit: 500
export_vrf_default_allow_vpn: true

Example 6: L3VNI VRF with Tenant Routed Multicast (TRM) MDT settings

nxos:
devices:
- name: LEAF1
configuration:
feature:
ngmvpn: true
vrfs:
- name: BLUE
vni: 50001
l3vni: true
mdt_v4_vxlan: true
mdt_v6_vxlan: false

Example 1: Single tenant VRF with IPv4 unicast and EVPN route targets

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: BLUE
description: Blue Tenant VRF
vni: 11010
route_distinguisher: "65000:1010"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11010"
route_target_exports:
- "65000:11010"
route_target_imports_evpn:
- "65000:11010"
route_target_exports_evpn:
- "65000:11010"

Example 2: Dual-stack VRF with both IPv4 and IPv6 address families

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: GREEN
description: Green Tenant VRF
vni: 11020
route_distinguisher: "65000:1020"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11020"
route_target_exports:
- "65000:11020"
route_target_imports_evpn:
- "65000:11020"
route_target_exports_evpn:
- "65000:11020"
- address_family: ipv6-unicast
route_target_imports:
- "65000:11020"
route_target_exports:
- "65000:11020"
route_target_imports_evpn:
- "65000:11020"
route_target_exports_evpn:
- "65000:11020"

Example 3: Multiple tenant VRFs on a leaf switch with L2 VNI route target imports

nxos:
devices:
- name: LEAF2
configuration:
vrfs:
- name: BLUE
description: Blue Tenant VRF
vni: 11010
route_distinguisher: "65000:1010"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11010"
- "65000:10101"
- "65000:10102"
route_target_exports:
- "65000:11010"
route_target_imports_evpn:
- "65000:11010"
route_target_exports_evpn:
- "65000:11010"
- name: GREEN
description: Green Tenant VRF
vni: 11020
route_distinguisher: "65000:1020"
address_families:
- address_family: ipv4-unicast
route_target_both_auto: true
route_target_both_auto_evpn: true

Example 4: VRF with import/export maps

nxos:
devices:
- name: LEAF1
configuration:
vrfs:
- name: RED
description: Red Tenant VRF
vni: 11030
route_distinguisher: "65000:1030"
address_families:
- address_family: ipv4-unicast
route_target_imports:
- "65000:11030"
route_target_exports:
- "65000:11030"
import_map: RM_IMPORT
export_map: RM_EXPORT
route_target_imports_evpn:
- "65000:11030"
route_target_exports_evpn:
- "65000:11030"