Configuring Unicast Fabric VRFs with Anycast Gateway
The following commands are used for the configuration of VRF instances and of the associated VRF gateway (vrf-gw and vrf-gw2) IP addresses:
CLI (network-admin@switch) > vrf-create
name name-string |
Specify a name for the VRF. |
vnet vnet-name |
Specify the name of the vNET to assign the VRF. If you only have a global vNET configured, omit this parameter. |
scope local|cluster|fabric |
Specify the scope for the VRF. |
vrf-gw ip-address |
Specify the gateway IP address. |
vrf-gw2 ip-address |
Specify the second gateway IP address. |
vrf-gw-ipv6 ip-address |
Specify the IPv6 gateway address. |
vrf-gw2-ipv6 ip-address |
Specify the second IPv6 gateway address. |
enable|disable |
Specify to enable or disable VRF routing. |
description description-string |
Specify a VRF description. The maximum number of allowed characters is 59. |
CLI (network-admin@switch) > vrf-delete
name name-string |
Specify VRF name that you want to delete. |
vnet vnet-name |
Specify the name of the vNET assigned to the VRF. |
CLI (network-admin@switch) > vrf-modify
name name-string |
Specify a name for the VRF. |
vnet vnet-name |
Specify the name of the vNET to assign the VRF. |
scope local|cluster|fabric |
Specify the scope for the VRF. |
vrf-gw ip-address |
Specify the gateway IP address. |
vrf-gw2 ip-address |
Specify the second gateway IP address. |
vrf-gw-ipv6 ip-address |
Specify the IPv6 gateway address. |
vrf-gw2-ipv6 ip-address |
Specify the second IPv6 gateway address. |
enable|disable |
Specify to enable or disable VRF routing. |
description description-string |
Specify a VRF description. The maximum number of allowed characters is 59. |
CLI (network-admin@switch) > vrf-show
name name-string |
Displays the name of the VRF. |
vnet vnet-name |
Displays the name of the vNET assigned the VRF. |
scope local|cluster|fabric |
Displays the scope of the VRF. |
vrf-gw ip-address |
Displays the gateway IP address. |
vrf-gw2 ip-address |
Displays the second gateway IP address. |
vrf-gw-ipv6 ip-address |
Displays the IPv6 gateway address. |
vrf-gw2-ipv6 ip-address |
Displays the second IPv6 gateway address. |
enable|disable |
Displays the status of VRF routing as enable or disable. |
description description-string |
Displays the VRF description. |
The following commands are used for the configuration of subnet objects for the associated anycast gateway addresses and the associated VNIs:
CLI (network-admin@switch) > subnet-create
name name-string |
Specify the name of the subnet. |
description description-string |
Specify the subnet description. The maximum number of allowed characters is 59. |
scope local|cluster|fabric |
Specify the scope for the VRF. |
vnet vnet-name |
Specify the name of the vNET to assign the VRF. |
vxlan vxlan-id |
Specify the VXLAN ID to assign to the subnet. |
vrf vrf name |
Specify the VRF to which the subnet belongs to. |
network ip-address |
Specify the IPv4 network IP address. |
netmask netmask |
Specify the netmask for the IPv4 address. |
anycast-gw-ip ip-address |
Specify the anycast gateway IPv4 address for the subnet. |
network6 ip-address |
Specify the IPv6 subnet network address. |
netmask6 netmask |
Specify the IPv6 subnet netmask address. |
anycast-gw-ip6 ip-address |
Specify the anycast gateway IPv6 address for the subnet. |
packet-relay enable|disable|none |
Enable or disable the packet relay. |
forward-proto dhcp |
Specify the protocol type to forward the packets. |
forward-ip ip-address |
Specify the forwarding IPv4 address. |
forward-ip2 ip-address |
Specify the second forwarding IPv4 address. |
forward-ip6 ip-address |
Specify the forwarding IPv6 address. |
forward-ip6-2 ip-address |
Specify the second forwarding IPv6 address. |
flood enable|disable|none |
Specify the flooding state of BUM traffic |
enable|disable |
Specify to enable/disable subnet routing. |
CLI (network-admin@switch) > subnet-delete
name name-string |
Specify the name of the subnet. |
vnet vnet-name |
Specify the name of the vNET to assign the VRF. |
vrf name-string |
Specify the VRF to assign the subnet. |
CLI (network-admin@switch) > subnet-modify
name name-string |
Specify the name of the subnet. |
description description-string |
Specify the subnet description. The maximum number of allowed characters is 59. |
vnet vnet-name |
Specify the name of the vNET to assign the VRF. |
Specify one or more of the following options: |
|
network ip-address |
Specify the IPv4 network IP address. |
netmask netmask |
Specify the netmask for the IPv4 address. |
anycast-gw-ip ip-address |
Specify the anycast gateway IPv4 address for the subnet. |
network6 ip-address |
Specify the IPv6 subnet network address. |
netmask6 netmask |
Specify the IPv6 subnet netmask address. |
anycast-gw-ip6 ip-address |
Specify the anycast gateway IPv6 address for the subnet. |
packet-relay enable|disable|none |
Enable or disable the packet relay. |
forward-proto dhcp |
Specify the protocol type to forward the packets. |
forward-ip ip-address |
Specify the forwarding IPv4 address. |
forward-ip2 ip-address |
Specify the second forwarding IPv4 address. |
forward-ip6 ip-address |
Specify the forwarding IPv6 address. |
forward-ip6-2 ip-address |
Specify the second forwarding IPv6 address. |
enable|disable |
Specify to enable/disable subnet routing. |
CLI (network-admin@switch) > subnet-show
name name-string |
Displays the name of the subnet. |
description description-string |
Displays the subnet description. |
scope local|cluster|fabric |
Displays the scope for the VRF. |
vnet vnet-name |
Displays the name of the vNET to assign the VRF. |
vlan vlan-id |
Displays the VLAN ID to assign to the subnet. |
vxlan vxlan-id |
Displays the VXLAN ID to assign to the subnet. |
vrf name-string |
Displays the VRF to assign the subnet. |
network ip-address |
Displays the network IPv4 address. |
netmask netmask |
Displays the netmask for the IPv4 address. |
anycast-gw-ip ip-address |
Displays the anycast gateway IPv4 address. |
network6 ip-address |
Displays the IPv6 subnet network address. |
netmask6 netmask |
Displays the IPv6 subnet netmask address. |
anycast-gw-ip6 ip-address |
Displays the anycast gateway IPv6 address for the subnet. |
linklocal ip-address |
Displays the IPv6 Link Local address. |
packet-relay enable|disable|none |
Displays the packet relay mode. |
forward-proto dhcp |
Displays the protocol type forwarding the packets. |
forward-ip ip-address |
Displays the forwarding IPv4 address. |
forward-ip2 ip-address |
Displays the second forwarding IPv4 address. |
forward-ip6 ip-address |
Displays the forwarding IPv6 address. |
forward-ip6-2 ip-address |
Displays the second forwarding IPv6 address. |
state init|ok|vxlan not found|vxlan deactivated|not-in-hw|vrouter interface exists |
Displays the subnet state. |
hw-state|no-hw-state |
Displays if there is a hardware state present. |
enable|disable |
Displays the state of the subnet routing. |
format fields-to-display |
Display output using a specific parameter. Use all to display all possible output. |
parsable-delim character |
Display output formatted for machine parsing using a specified delimiter. |
sort-asc |
Display output in ascending order. |
sort-desc |
Display output in descending order. |
show dups |
Display duplicate entries in the output. |
layout vertical|horizontal |
Format the output in a vertical or horizontal layout. |
show-interval seconds-interval |
Repeat the show command at a specified interval. |
show-headers| |
Display column headers or not. |
limit-output number |
Limit the display output to a specific number of entries. |
count-output |
Display the number of entries in the output. This is useful with vRouter show commands. |
count-only |
Displays the number of entries only. |
unscaled |
Display full values in the output instead of scaled approximate values. |
raw-int-values |
Display integer values instead of mapped values |
The following commands allow you to modify and display anycast gateway information on the fabric:
CLI (network-admin@switch) > fabric-anycast-mac-show
format fields-to-display |
Display output using a specific parameter. Use all to display all possible output. |
parsable-delim character |
Display output formatted for machine parsing using a specified delimiter. |
sort-asc |
Display output in ascending order. |
sort-desc |
Display output in descending order. |
show dups |
Display duplicate entries in the output. |
layout vertical|horizontal |
Format the output in a vertical or horizontal layout. |
show-interval seconds-interval |
Repeat the show command at a specified interval. |
show-headers| |
Display column headers or not. |
limit-output number |
Limit the display output to a specific number of entries. |
count-output |
Display the number of entries in the output. This is useful with vRouter show commands. |
count-only |
Displays the number of entries only. |
unscaled |
Display full values in the output instead of scaled approximate values. |
raw-int-values |
Display integer values instead of mapped values |
CLI (network-admin@switch) > fabric-anycast-mac-modify
mac mac-address |
Modify the MAC address for anycast. The default MAC address is 64:0e:94:40:00:02. |
For example, the following vrf-create command can be used to create VRF-1:
CLI (network-admin@switch) > vrf-create name VRF-1 scope fabric
The vrf-create command can be issued to configure for instance 1000 VRFs on a single node, as shown in this output:
CLI (network-admin@switch) > vrf-show count-output
name vnet scope anycast-mac vrf-gw vrf-gw2 active hw-router-mac hw-vrid
------- ---- ------ ----------------- ------ ------- ------ ----------------- -------
VRF-1 0:0 fabric 64:0e:94:40:00:02 :: :: no 00:00:00:00:00:00 -1
VRF_2 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:59:47 1
VRF_3 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:6c:91 2
VRF_4 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:76:3d 3
VRF_5 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:7f:e2 4
VRF_6 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:89:87 5
...
VRF_999 0:0 fabric 64:0e:94:40:00:02 :: :: yes 66:0e:94:1b:aa:8a 999
Count: 999
Note: The newer ASICs can support an even higher count. The maximum number is ASIC limited.
The following commands can be used to create two subnet objects associated with VRF-1 for East-West traffic segmentation:
CLI (network-admin@switch) > vlan-create id 12 vxlan 500012 scope fabric ports none
CLI (network-admin@switch) > vlan-create id 13 vxlan 500013 scope fabric ports none
CLI (network-admin@switch) > subnet-create name subnet-vxlan-500012 scope fabric vxlan 500012 network 172.10.2.0/24 anycast-gw-ip 172.10.2.1 vrf VRF-1
CLI (network-admin@switch) > subnet-create name subnet-vxlan-500013 scope fabric vxlan 500013 network 172.10.3.0/24 anycast-gw-ip 172.10.3.1 vrf VRF-1
Note: Starting from Netvisor ONE release 6.0.0, the VNI assignment in vlan-create can be automated with the auto-vxlan keyword.
Finally, the following commands can be used to create two smaller subnets (/29) to provide North-South reach-ability in and out of VRF-1 to/from VRF gateways 172.10.0.2 and 172.10.1.2:
CLI (network-admin@switch) > vlan-create id 10 vxlan 500010 scope fabric ports none
CLI (network-admin@switch) > vlan-create id 11 vxlan 500011 scope fabric ports none
CLI (network-admin@switch) > subnet-create name subnet-vxlan-500010 scope fabric vxlan 500010 network 172.10.0.0/29 anycast-gw-ip 172.10.0.1 vrf VRF-1
CLI (network-admin@switch) > subnet-create name subnet-vxlan-500011 scope fabric vxlan 500011 network 172.10.1.0/29 anycast-gw-ip 172.10.1.1 vrf VRF-1
Note: The scope of the VRF and subnet objects typically would be fabric; however, to cater to specific needs and designs it is also possible to configure local VRFs and subnets in certain cases.
The next step is to configure the VRF gateways for VRF-1:
CLI (network-admin@switch) > switch <switch_list> vrf-modify name VRF-1 vrf-gw 172.10.0.2 vrf-gw2 172.10.1.2
Figure 8-15: Fabric VRFs with Border Leaves Connecting External Network
In this example it is assumed that the connectivity is implemented with static routing on the DC gateways (for example, third-party devices). To provide inbound reach-ability for VRF-1, the DC gateways must be provisioned with static routes for the VRF subnets receiving traffic from external networks, using the adjacent anycast gateway addresses as next-hop:
DC-Gateway-1# ip route vrf VRF-1 172.10.2.0/23 172.10.0.1
DC-Gateway-1# ip route vrf VRF-1 172.10.2.0/23 172.10.1.1
DC-Gateway-2# ip route vrf VRF-1 172.10.2.0/23 172.10.0.1
DC-Gateway-2# ip route vrf VRF-1 172.10.2.0/23 172.10.1.1
In addition, you can also leverage the vrf-route-add command to add static routes to specific VRF-enabled networks when required:
CLI (network-admin@switch) > vrf-route-add
vrf-route-add add vrf route
one of the following vrf selectors:
vrf-name name-string vrf name
vrf-vnet vnet name VNET for the VRF
the following route arguments:
network ip-address IP address
netmask netmask netmask
gateway-ip ip-address gateway IP address
vrf-route-remove and vrf-route-show commands are also available.