VXLAN Functions¶
emulation vxlan config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- This is a Spirent Extension created to configure, modify, or delete Virtual eXtensible Local Area Network (VXLAN) emulated devices on a Spirent HLTAPI chassis. VXLAN encapsulates MAC frames in a UDP header to create a Layer 2 connection across an IP network between two vSphere hypervisor hosts. These hosts are known as Virtual Tunnel Endpoints (VTEPs) and perform the encapsulation/decapsulation function for the tunnel. VXLAN uses IP multicast to associate a VM MAC address with a VTEP IP address.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan config
mode= {create|modify|delete} M
port_handle= <port_handle>
handle= <VXLAN_device_handle>
count= <integer>
encapsulation= {ethernet_ii | ethernet_ii_vlan | ethernet_ii_qinq}
enable_ping_response= {1 | 0}
ip_version= {4 | 6}
intf_ip_addr= <a.b.c.d>
intf_ip_addr_step= <a.b.c.d>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_prefix_len= <1-32>
intf_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_ipv6_prefix_len= <1-128>
link_local_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_prefix_len= <0-128>
mac_addr= <aa:bb:cc:dd:ee:ff>
mac_addr_step= <aa:bb:cc:dd:ee:ff>
qinq_incr_mode= {inner | outer | both}
router_id= <a.b.c.d>
router_id_ipv6= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
vlan_id= <0-4095>
vlan_id_step= <0-4095>
vlan_user_pri= <0-7>
vlan_outer_id= <0-4095>
vlan_outer_id_step= <0-4095>
vlan_outer_user_pri= <0-7>
udp_dst_port= <1-63355>
udp_src_port= <1-63355>
multicast_type= {MULTICAST_IGMP | MULTICAST_PIM}
udp_checksum_enabled= {true | false}
vni= <numeric>
communication_type= {MULTICAST_LEARNING | UNICAST_CONFIGURATION}
multicast_group= <a.b.c.d>
vm_hosts= <host_handle>
vxlansegmenthandle= <segment_handle>
vxlan_use_remote_nve= {true | false}
vxlan_remote_nve= <a.b.c.d>
vxlan_remote_nve_step= <a.b.c.d>
enable_flood= {true|false}
flood_vtep_list= <IP list>
Arguments:
port_handle
The port on which to create the emulated VXLAN device. This
handle is returned by the ``connect`` function. It is `Mandatory`
for mode create.
handle
The VXLAN device handle. This argument is `Mandatory` for mode
modify and delete.
mode
Specifies the action to perform on the test port. This argument is
`Mandatory`. Possible values are::
create - Creates the emulated VXLAN device on the port specified
by port_handle.
modify - Changes the configuration for the VXLAN device
identified by the handle argument.
delete - Deletes the VXLAN device
identified by the handle argument
router_id
Specifies the router ID of the emulated device. The value
must be in IPv4 format.
router_id_ipv6
Specifies the IPv6 router ID of the emulated device. The value
must be in IPv6 format.
enable_ping_response
Enables or disables the emulated VTEP device to respond to ping.
Possible values are 0 (disable) and 1 (enable). The default is 0.
ip_version
Defines the IP version to be used by the emulated VTEP device.
Possible values are ipv4, ipv6 and ipv46. The default value is
ipv4.
intf_ip_addr
Specifies the IPv4 address of the interface for the emulated
VTEP device. The default value is 192.85.1.3.
intf_ip_addr_step
Specifies the step value to increment interface IPv4 addresses.
The default value is 0.0.0.1.
gateway_ip_addr
Specifies the IPv4 gateway address for the emulated VTEP device.
gateway_ip_addr_step
Specifies the step value to increment gateway IPv4 addresses
intf_prefix_len
Specifies the prefix length for the IPv6 address of the emulated
VTEP device. Possible values range from 1 to 32. The default is 24.
intf_ipv6_addr
Specifies the IPv6 address of the interface for the emulated
VTEP device.
intf_ipv6_prefix_len
Specifies the prefix length for the IPv6 address of the emulated
device, possible values range from 0 to 128. The default is 64.
gateway_ipv6_addr
Specifies the IPv6 gateway address for the emulated VTEP device.
link_local_ipv6_addr
Specifies the link local IPv6 address for the emulated device.
The default value is FE80::0.
link_local_ipv6_prefix_len
Specifies the prefix length for the link local IPv6 address of
the emulated device. Possible values range from 0 to 128. The
default is 64.
mac_addr
Specifies the MAC address of the emulated VTEP device. The
default value is 10:10:00:10:00:01.
mac_addr_step
Specifies the step value to increment MAC addresses. The
default value is 10:10:00:10:00:01.
qinq_incr_mode
Determines which VLAN ID to increment first.
Possible values are::
inner - Increments the inner VLAN ID before the outer VLAN ID
outer - Increments the outer VLAN ID before the inner VLAN ID
both - Increment both the inner and outer VLAN ID at the same time
The default value is inner.
encapsulation
Specifies the type of Layer 2 encapsulation.
Possible values are::
ethernet_ii - Ethernet II
ethernet_ii_vlan - Ethernet II with a single VLAN tag
ethernet_ii_qinq - Ethernet II with two VLAN tags
The default value is ethernet_ii.
vlan_id
Specifies the starting VLAN ID for the ethernet_ii_vlan
encapsulation or the ethernet_ii_qinq encapsulation. Possible
values range from 0 to 4095. The default value is 100. This
argument is available when encapsulation is set to
ethernet_ii_qinq or ethernet_ii_vlan.
vlan_id_step
Specifies the step value to increment VLAN IDs. Possible
values range from 0 to 4095.
vlan_user_pri
Specifies the VLAN user priority assigned to the emulated VTEP
devices. Possible values range from 0 to 7. The default value is 0.
vlan_outer_id
Specifies the starting outer VLAN ID for the QinQ encapsulation.
Possible values range from 0 to 4095. The default value is 100.
This argument is available when encapsulation is set to
ethernet_ii_qinq.
vlan_outer_id_step
Specifies the step value to increment outer VLAN IDs. Possible
values range from 0 to 4095.
vlan_outer_user_pri
Specifies the VLAN priority to assign to the outer VLAN header.
Possible values range from 0 to 7. The default value is 0.
udp_dst_port
Specifies the UDP port number of the destination VTEP device.
Possible values range from 1 to 65535. The default is 4789.
auto_select_udp_src_port
Specifies whether to let Spirent HLTAPI generate the UDP
source port number. Possible values are true and false. The
default value is true.
udp_src_port
Specifies the UDP port number of the source VTEP device. Possible
values range from 1 to 65535. The default is 1025. This argument
is only available when auto_select_udp_src_port is set to false.
multicast_type
Specifies which kind of multicast will be used to associate a VM
MAC address with a VTEP IP address. Possible values are
MULTICAST_IGMP and MULTICAST_PIM. The default is MULTICAST_IGMP.
udp_checksum_enabled
Enables or disables checksums for UDP. Possible values are true
(enable) and false(disable). The default is false.
vni
Specifies the VXLAN Network Identifier (VNI) value used to
identify the VXLAN segment. The value must be an integer. The
default is 1.
communication_type
Specifies the method of communication between emulated VTEP
devices. Possible values are::
MULTICAST_LEARNING multicast
UNICAST_CONFIGURATION unicast
The default value is MULTICAST_LEARNING.
multicast_group
Specifies the IPv4 multicast address for the VXLAN segment. This
argument is only available when communication_type is set to
MULTICAST_LEARNING.
vm_hosts
A list of handles of the VM hosts to be linked to the configured
VTEP devices.
vxlansegmenthandle
The VXLAN segment handle used to modify VXLAN segment attributes.
vxlan_use_remote_nve
Enable or disable the Remote Network Virtual Interface for the VM.
Dependency: communication_type UNICAST_CONFIGURATION.
Possible values are true (enable) and false(disable).
The default is false.
vxlan_remote_nve
Specifies the remote Network Virtual Interface for the VM.
Dependency: communication_type UNICAST_CONFIGURATION.
The default is 1.1.1.1.
vxlan_remote_nve_step
Specifies the step value for the remote Network Virtual Interface
for the VM.
Dependency: communication_type UNICAST_CONFIGURATION.
The default is none.
enable_flood
Option to enable Flood VTEP List population.
The default is false.
flood_vtep_list
List of Remote VTEP IP addresses for flooding.
The default is 0.0.0.0.
- Description:
The
emulation vxlan config
function creates, modifies or deletes one or more emulated VXLAN (VETP) devices on the specified port. Useemulation device config specific=
functions to create VM devices, and emulation multicast group config to create a multicast group before you use this function. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)When you create a VETP device, use the port_handle argument to specify the port handle that the emulated device will use. (The port handle value is contained in the keyed list returned by the connect function.)
During the VTEP creating process, the function establishes the link between the VM device and the VETP with argument vm_hosts. See Examples for a sample configuration.
- Note: To modify vni, -communication_type, -multicast_group or VM hosts, you
- must specify the target VXLAN segment handle using vxlansegmenthandle.
Arguments Unsupported by Save as HLTAPI:
This function is currently not supported by Save as HLTAPI.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status $SUCCESS or $FAILURE log Error message if command returns {status 0} handle The VXLAN device handle vxlansegmenthandle The VXLAN segment handle
- Examples:
The following example creates an emulated VTEP device:
set vtep_ret2 [::emulation vxlan config port_handle= $port2 mode= create router_id= 192.0.0.4 ip_version= ipv4 intf_ip_addr= 10.10.10.11 intf_ip_addr_step= 0.0.0.1 gateway_ip_addr= 10.10.10.10 gateway_ip_addr_step= 0.0.0.1 intf_prefix_len= 24 mac_addr= 40:01:02:03:04:05 mac_addr_step= 00:00:00:00:00:01 udp_dst_port= 4789 auto_select_udp_src_port= true multicast_type= MULTICAST_PIM udp_checksum_enabled= false vni= 2 communication_type= MULTICAST_LEARNING multicast_group= $macstgroup1 vm_hosts= $vm2 ]
Sample Output:
{handle router2} {vxlansegmenthandle vxlansegmentconfig1} {status 1}
End of Procedure Header
emulation vxlan control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension to start or stop the created VTEP devices.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan control
action= {start | stop}
port_handle= <port_handle_list>
handle= <device_handle_list>
Arguments:
action
Specifies the action to perform. This argument is `Mandatory`.
Possible values are::
start - Start the VTEP device
stop - Stop the VTEP device
port_handle
Specifies a list of ports on which the action will be performed.
You must specify either port_handle or -handle, but not both.
handle
Specifies a list of VTEP devices on which to perform the action.
You must specify either port_handle or -handle, but not both.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status $SUCCESS or $FAILURE log Error message if command returns {status 0}
- Description:
- The
emulation vxlan control
function controls the configured VTEP devices. - Examples:
To start the specified VTEP device:
set status ::emulation vxlan control port_handle=$port1 action start
End of Procedure Header
emulation vxlan stats¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension to retrieve statistics for the VTEP devices configured on the specified test port.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan stats
port_handle= <port_handle>
handle= <device_handle>
Arguments:
port_handle
Specifies the port handle from which to retrieve the statistics.
You must specify either port_handle or handle, but not both.
handle
Specifies the VXLAN device handle from which to retrieve the
statistics. You must specify either port_handle or handle, but
not both.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status $SUCCESS or $FAILURE log Error message if command returns {status 0} state The state of the VTEP device. STOPPED and STARTED. STOPPED - Left multicasts groups STARTED - Joined multicast groups (if necessary) and sent out ARPs learned_binding_count The number of the binding VM devices learned load_profile_run_state The state of the load profile resolved_vm_macs_count The number of resolved VM MAC addresses unresolved_vm_macs_count The number of unresolved VM MAC address
- Description:
- The
emulation vxlan stats
function retrieves statistics for all emulated VTEP devices configured on a specified port, or statistics for a specified VTEP device. - Examples:
To get the statistics of VTEP devices on the specified ports:
set results [::emulation vxlan stats port_handle="$port1 $port2"]
Sample Output:
{router1 {{unresolved_vm_macs_count 0}{ load_profile_run_state false} {resolved_vm_macs_count 1}{ learned_binding_count 1}{ state STARTED}}} {router2 {{unresolved_vm_macs_count 0}{ load_profile_run_state false} {resolved_vm_macs_count 1}{ learned_binding_count 1}{ state STARTED}}} {status 1}
To get the statistics of the specified device:
set results [::emulation vxlan stats handle=router1]
Sample Output:
{router1 {{unresolved_vm_macs_count 0}{ load_profile_run_state false} {resolved_vm_macs_count 1 }{learned_binding_count 1}{ state STARTED}}} {status 1}
End of Procedure Header
emulation vxlan port config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
A Spirent Extension to create or delete VXLAN ports and interfaces
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan port config
port_handle= <port_handle>
handle= <VTEP handle>
mode= {create | delete}
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
mac_addr= <aa:bb:cc:dd:ee:ff>
mac_addr_step= <aa:bb:cc:dd:ee:ff>
prefix_len= <1-32>
router_id= <a.b.c.d>
router_id_step= <a.b.c.d>
tunnel_ip_mode= {interface_ip | router_id}
vlan_count= <1-65535>
vlan_enable= {true | false}
vlan_id= <1-4095>
vlan_id_step= <1-4095>
vtep_ip_addr= <a.b.c.d>
vtep_ip_addr_step= <a.b.c.d>
Arguments:
port_handle
Specifies the port on which to create the emulated Virtual
Machine (VM) or Virtual Tunnel Endpoint (VTEP) device. You must
specify this argument for mode create.
handle
Specifies the VM or VTEP handle created by the API. You must
specify this argument for mode delete.
mode
Specifies the action to perform. Possible values are create and
delete. The modes are described below::
create Creates VTEPs or VMs on the port specified by
port_handle
delete Deletes the VTEP or VM specified by handle
The default value is create.
gateway_ip_addr
Specifies the IP address of the first gateway. The default value
is 192.168.100.1.
gateway_ip_addr_step
Specifies the step value by which to generate subsequent gateway
IP addresses. The value must be in IPv4 format. The default value
is 0.0.0.1.
mac_addr
Specifies the first MAC address of the emulated device. The
default value is 10:00:00:10:00:01.
mac_addr_step
Specifies the step value by which to generate subsequent MAC
addresses. The value must be in MAC format. The default value is
00:00:00:00:00:01.
prefix_len
Specifies the prefix length on the provider subnet. Possible
values range from 1 to 32. The default value is 24.
router_id
Specifies the router ID
Values: IPv4
Default: 10.1.1.1
router_id_step
Specifies the increment value by which to create subsequent router IDs
Values: IPv4
Default: 0.0.0.1
tunnel_ip_mode
Specifies the source of the tunnel IP address
Values: interface_ip (Interface IP), router_id (Router ID)
Default: interface_ip
vlan_enable
Enables/disables VLAN. Possible values are true (enable) and
false (disable). The default value is false.
vlan_count
Specifies the VLAN count
Values: 1-65535
Default: 1
vlan_id
Specifies the ID for the first VLAN in a block. You must set
vlan_enable to true. Possible values
range from 1 to 4095. The default value is 1.
vlan_id_step
Specifies the step value by which to generate subsequent VLAN IDs.
Possible values range from 1 to 4095. The default value is 1.
vtep_ip_addr
Specifies the IP address of the emulated
VTEP device. The default value is 192.168.100.2.
vtep_ip_addr_step
Specifies the step value by which to generate subsequent IP
addresses for VTEPs. The value must be in IPv4 format. The
default value is 0.0.0.1.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle VM or VTEP handle created by the function status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation vxlan port config
function creates or deletes VXLAN ports and interfaces, mapping the operation of the VXLAN wizard on the Spirent TestCenter GUI.If the operation fails, Spirent HLTAPI returns an error message.
- Examples:
The following example configures VXLAN ports and interfaces:
set device_ret0 [emulation vxlan port config mode= create port_handle= $port1 vlan_enable= false mac_addr_step= 00:00:00:00:00:01 mac_addr= 0a:10:94:00:00:01 vtep_ip_addr= 172.16.10.10 gateway_ip_addr= 172.16.10.20 gateway_ip_addr_step= 0.0.0.2 prefix_len= 24 sub_interface_count= 1 sub_interface_enable= true]
Sample Output:
{handle status}
End of Procedure Header
emulation nonvxlan port config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
A Spirent Extension to create or delete nonVXLAN ports and interfaces
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation nonvxlan port config
port_handle= <port_handle>
mode= {create | delete}
device_count= <1-65535>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
ip_addr= <a.b.c.d>
ip_addr_step= <a.b.c.d>
ip_prefix= < 1-32>
mac_addr= <aa:bb:cc:dd:ee:ff>
mac_addr_step= <aa:bb:cc:dd:ee:ff>
vlan_enable= {true | false}
vlan_id= <1-4095>
vlan_id_step= <1-4095>
Arguments:
port_handle
Specifies the port handle on which to create nonVXLAN hosts. You must
specify this argument for mode create.
mode
Specifies the action to perform. Possible values are create and
delete. The modes are described below::
create Creates nonVXLAN hosts on the port specified by -port_handle
delete Deletes the host specified by handle
The default value is create.
handle
Host handle created by the current API. You must specify this
argument for mode delete.
device_count
Specifies the number of devices to create. The default value is 1.
gateway_ip_addr
Specifies the IP address of the first gateway. The default value is
192.168.100.1.
gateway_ip_addr_step
Specifies the step value by which to generate subsequent gateway IP
addresses. The value must be in IPv4 format. The default value is
0.0.0.1.
ip_addr
Specifies the IP address of the emulated device. The default value is
192.168.100.2.
ip_addr_step
Specifies the step value by which to generate subsequent IP addresses.
The value must be in IPv4 format. The default value is 0.0.0.1.
ip_prefix
Specifies the prefix length for the IP address. Possible values range
from 1 to 32. The default value is 24.
mac_addr
Specifies the first MAC address of the emulated device.
The default value is 10:00:00:10:00:01.
mac_addr_step
Specifies the step value by which to generate subsequent MAC
addresses. The value must be in MAC format. The default value is
00:00:00:00:00:01.
vlan_enable
Enables/disables VLAN. Possible values are true (enable) and false
(disable). The default value is false.
vlan_id
Specifies the ID for the first VLAN in a block. You must set
vlan_enable to true. Possible values range from 1 to 4095. The
default value is 1.
vlan_id_step
Specifies the step value by which to generate subsequent VLAN IDs.
Possible values range from 1 to 4095. The default value is 1.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle NonVXLAN host handle created by the function status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation nonvxlan port config
VXLAN= hosts, mapping the operation of the VXLAN wizard on the Spirent TestCenter GUI.If the operation fails, Spirent HLTAPI returns an error message.
- Examples:
The following example configures nonVXLAN= ports and interfaces:
set device_ret1 [emulation nonvxlan port config mode= create port_handle= $port3 device_count= 2 vlan_enable= true mac_addr_step= 00:00:00:00:00:01 mac_addr= 00:10:94:00:00:01 gateway_ip_addr= 192.85.1.4 vni= 140]
Sample Output:
{handle status}
End of Procedure Header
emulation vxlan wizard config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- This is a Spirent Extension created to configure the VXLAN topology, mapping the operations of VXLAN wizard in the Spirent TestCenter GUI
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan wizard config
handle= <vxlan_wizard_parameters_handle>
mode= {create|delete}
configure vxlan port
use_vxlan_ports= {true|false}
Configure VTEP
auto_select_udp_src_port= {true|false}
udp_checksum_enable= {true|false}
udp_src_port= <1-65535>
udp_src_port_step= <1-32767>
vteps_per_sub_interf_count= <1-10000>
Configure Segments
vxlan_segments_per_vtep= < integer >
segments_per_block= <1-65535>
vni= <1-16777215>
vni_step= <1-10000>
l3_vni_for_evpn_learning= {true|false}
vxlan_host_l3_vni= <0-16777215>
vxlan_host_l3_vni_step= <0-100000>
use_same_vnis_across_ports= {true|false}
use_same_vnis_across_vteps= {true|false}
Configure VM Devices
vxlan_ip_type= {ipv4|ipv4andipv6|ipv6|mac }
vms_per_segment= <1-10000>
vms_per_vtep= <0-10000>
vlan_enable= {true|false}
vlan_id= <1-4095>
vlan_id_step= <1-4095>
mac_addr= <aa:bb:cc:dd:ee:ff>
mac_addr_step= <aa:bb:cc:dd:ee:ff>
mac_addr_prefix= <1-48>
host_ip_addr= <a.b.c.d>
ip_addr_step= <a.b.c.d>
ip_addr_step_per_segment= <a.b.c.d>
ip_addr_incr_per_port= <a.b.c.d>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
ip_prefix= <1-32>
host_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_addr_step_per_segment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_addr_incr_per_port= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
gateway_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_prefix= <0-128>
Configure Learning Mode
vxlan_segment_type= {evpn_learning|multicast_learning|
unicast_and_multicast|unicast_configuration}]
bgp_mode= {ebgp|ibgp}
as_byte_mode= {as2byte|as4byte}
Configure EVPN Overlay
dut_as= <1-65535>
dut_as_step= <0-65535>
dut_as_num_step_per_port= <0-65535>
as_num= <1-65535>
as_num_step= <0-65535>
as_num_step_per_port= <0-65535>
dut_as_4byte= <Number:Number>
dut_as_num_4byte_step= <string>
dut_as_num_4byte_step_per_port= <string>
as_num_4byte= <string>
as_num_4byte_step= <string>
as_num_4byte_step_per_port= <string>
dut_ip_addr= <a.b.c.d>
dut_ip_addr_step= <a.b.c.d>
bgp_session_ip_type= {internface_ip|router_id}
use_gateway_as_dut= {true|false}
config_l3_vni= {true|false}
Configure Multicast
vxlan_segment_multicast_type= {igmp|pim}
vxlan_multicast_ip_addr= <a.b.c.d>
vxlan_multicast_ip_addr_step= <a.b.c.d>
igmp_multicast_version= {igmp_v2|igmp_v3}
pim_mode_vxlan= {sm|ssm}
use_bi_dir= {true|false}
vxlan_multicast_rp_addr= <a.b.c.d>
Configure L3 VNI Segments
l3_vxlan_segments_per_vtep= <1-65535>
l3_segments_per_block= <1-65535>
l3_vni= <0-16777215>
l3_vni_step= <0-100000>
l3_vni_params= <0-16777215>
l3_vni_step_params= <0-100000>
l3_use_same_vnis_across_ports= {true|false}
l3_use_same_vnis_across_vteps= {true|false}
Configure L3 VNI VM Devices
l3_vxlan_ip_type= {ipv4|ipv4andipv6|ipv6}
l3_vms_per_segment= <0-10000>
l3_vlan_enable= {true|false}
l3_vlan_id= <0-4095>
l3_vlan_id_step= <0-4095>
l3_mac_addr= <aa:bb:cc:dd:ee:ff>
l3_mac_addr_step= <aa:bb:cc:dd:ee:ff>
l3_mac_add_prefix= <1-48>
l3_host_ip_addr= <a.b.c.d>
l3_ip_addr_step= <a.b.c.d>
l3_ip_addr_step_per_Segment= <a.b.c.d>
l3_ip_addr_incr_per_port= <a.b.c.d>
l3_gateway_ip_addr= <a.b.c.d>
l3_gateway_ip_addr_step= <a.b.c.d>
l3_ip_prefix= <0-32>
l3_host_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_ipv6_addr_step_per_segment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_ipv6_addr_incr_per_port= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_gateway_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
l3_ipv6_prefix= <0-128>
Configure EVPN Routes
vxlan_evpn_topology_types= {custom|multihome|singlehome}
vxlan_wizard_ad_route= {true|false}
vxlan_wizard_ad_route_type= {per_esi|per_evi}
vxlan_wizard_inclusive_multicast_route= {true|false}
vxlan_wizard_ad_route_esi= {true|false}
vxlan_wizard_ad_route_evi= {true|false}
vxlan_wizard_ether_segment_route= {true|false}
vxlan_active_standby_mode= {all_active|single_active}
vxlan_wizard_ip_prefix_route= {true|false}
vxlan_wizard_mac_ip_route= {true|false}
vxlan_wizard_mac_and_ip_route= {true|false}
vxlan_wizard_mac_only_route= {true|false}
vxlan_wizard_ipv4_unicast_route= {true|false}
vxlan_ether_segment_value_type= {type0|type1|type2|type3|type4|type5}
vxlan_ether_tag_id= <integer>
vxlan_ether_segment_id= < X:X:X:X:X:X:X:X:X >
vxlan_ether_segment_id_step= < X:X:X:X:X:X:X:X:X >
vxlan_config_next_hop= {true|false}
vxlan_next_hop_addr= <a.b.c.d>
vxlan_next_hop_step_per_device= <a.b.c.d>
vxlan_next_hop_step_per_port= <a.b.c.d>
vxlan_evpn_router_mac_ext_community= {true|false}
vxlan_auto_config_rd_rt= {true|false}
vxlan_auto_config_rt= {as_vni|as_vlan|nexthop_as|nexthop_vni|
nexthop_vlan|router_id_as|router_id_vni|
router_id_vlan|gateway_ip_as|gateway_ip_vni|
gateway_ip_vlan|interface_ip_as|interface_ip_vni|
interface_ip_vlan}]
vxlan_auto_config_rd=
{as_vni|as_vlan|nexthop_as|nexthop_vni|
nexthop_vlan|router_id_as|router_id_vni|
router_id_vlan|gateway_ip_as|
gateway_ip_vni|gateway_ip_valn|interface_ip_as|
interface_ip_vni|interface_ip_vlan}]
vxlan_route_target= <AS:Number|IPv4:Number>
vxlan_route_target_step= <AS:Number|IPv4:Number>
vxlan_route_dist= <AS:Number|IPv4:Number>
vxlan_route_dist_step= <AS:Number|IPv4:Number>
vxlan_evpn_ip_prefix_gateway_type= {vaipaddress|vtepipaddress}
vxlan_evpn_router_mac_addr= <aa:bb:cc:dd:ee:ff>
vxlan_evpn_router_mac_addr_step= <aa:bb:cc:dd:ee:ff>
vxlan_vaip_addr= <a.b.c.d>
vxlan_vaip_addr_step= <a.b.c.d>
vxlan_va_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
vxlan_va_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
Configure NonVXLAN= port
use_non_vxlan_ports= {true|false}
Configure Traffic
create_traffic= {true|false}
traffic_flow= {bidirectional|host_to_vxlan|vxlan_to_host}
traffic_frame_size= <12-16383>
traffic_load_percent_ports= <1-100>
traffic_type= {ipv4|mac}
vxlan_use_remote_nve= {true | false}
vxlan_remote_nve= <a.b.c.d>
vxlan_remote_nve_step= <a.b.c.d>
enable_flood= {true|false}
flood_vtep_list= <IP list>
Arguments:
handle
The VXLAN wizard configuration handle returned by the current
function. Note: This handle cannot be used with mode delete.
mode
Specifies the action to perform. The modes are described
below::
create Creates the VXLAN test topology
delete Deletes the specified VM, VTEP, or host
The default value is create.
auto_select_udp_src_port
Determines whether to generate port numbers automatically.
Possible values are true and false. If it is set to true,
Spirent HLTAPI will assign port numbers automatically. The
default value is true.
udp_checksum_enable
Enables/disables UDP checksum. Possible values are true
(enable) and false (disable). The default value is false.
udp_src_port
Specifies the UDP source port of the first VTEP. You must
set auto_select_udp_src_port to false. Possible values
range from 1 to 65535. The default value is 1025.
udp_src_port_step
Specifies the step value by which to create subsequent
VTEPs. Possible values range from 1 to 32767. The default
value is 1.
vteps_per_sub_interf_count
Specifies the number of VTEP devices per subinterface.
Possible values range from 1 to 10000. The default value is
1.
host_ip_addr
Specifies the host IP address. The default value is
100.0.0.1.
ip_addr_step_per_segment
Specifies the step value by which to create subsequent IP
addresses across segments. The value must be in IPv4
format. The default value is 0.0.1.0.
ip_prefix
Length of the prefix portion of the IP address. Possible
values range from 1 to 32. The default value is 24.
ip_addr_incr_per_port
Specifies the step value by which to create subsequent IP
addresses across ports. The value must be in IPv4 format.
The default value is 0.0.0.0.
ip_addr_step
Specifies the step value by which to create subsequent IP
addresses. The default value is 0.0.0.1.
mac_addr
Specifies the value of the first MAC address. This argument
is available when vxlan_vm_mode is set to vmdevice. The
default value is 00:00:10:01:00:00.
mac_addr_step
Specifies the step value by which to create subsequent MAC
addresses. This argument is available when vxlan_vm_mode
is set to vmdevice. The default value is 00:00:00:00:00:01.
use_same_vnis_across_ports
Determines whether to use the same VNI across the ports.
Possible values are true and false. If it is set to true,
the VNI will remain the same across the ports. The default
value is true.
use_same_vnis_across_vteps
Determines whether to restart the VNI numbering for each
VTEP. Possible values are true and false. If it is set to
true, Spirent HLTAPI will restart the VNI numbering for
each VTEP. The default value is true.
vlan_enable
Enables/disables VLAN. Possible values are true (enable) and
false (disable). The default value is false.
vlan_id
Specifies the first VLAN ID. You must set vlan_enable to
true. Possible values range from 1 to 4095. The default
value is 1.
vlan_id_step
Specifies the step value by which to create subsequent VLAN
IDs. Possible values range from 1 to 4095. The default
value is 1.
vms_per_segment
Specifies the number of VMs per segment. Possible values
range from 1 to 10000. The default value is 1.
vni
Specifies the initial VXLAN Network Identifier (VNI).
Possible values range from 1 to 16777215. The default value
is 100.
vni_step
Specifies the step value by which to create subsequent
VNIs. Possible values range from 1 to 10000. The default
value is 1.
vxlan_segments_per_vtep
Specifies the number of segments per VTEP. The default
value is 1.
dut_as
Specifies the AS number of the DUT. Possible values range
from 1 to 65535. The default value is 1.
dut_as_4byte
Specifies the 4byte AS of the DUT. The value must be in
format of number:number. The default value is 1:1.
dut_ip_addr
Specifies the IP address of the DUT. The default value is
10.0.0.1.
dut_ip_addr_step
Specifies the step value by which to create subsequent DUT
IP addresses. The value must be in IPv4 format. The default
value is 0.0.0.1.
igmp_multicast_version
Specifies the version of the IGMP to use. You must set
vxlan_segment_multicast_type to igmp. Possible values are
igmp_v2 and igmp_v3. The default value is igmp_v2.
pim_mode_vxlan
Specifies the multicast mode to use for PIM. You must set
vxlan_segment_multicast_type to pim. Possible values are::
sm PIMSM
ssm PIMSSM
The default value is sm.
use_bi_dir
Enables or disables bidirectional Hello Option set. You
must set vxlan_segment_multicast_type to pim. Possible
values are true (enable) and false (disable). The default
value is false.
vxlan_multicast_ip_addr
Specifies the IP address of the first multicast group. The
default value is 225.0.0.1.
vxlan_multicast_ip_addr_step
Specifies the step value by which to create subsequent IP
addresses for multicast groups. The value must be in IPv4
format. The default value is 0.0.0.1.
vxlan_multicast_rp_addr
Specifies the IP address of the rendezvous point (RP). You
must set pim_mode_vxlan to sm. The default value is
192.0.0.1.
vxlan_segment_multicast_type
Specifies the multicast protocol. You must set
vxlan_segment_type to multicast_learning. Possible values
are igmp and pim. The default value is igmp.
vxlan_segment_type
Specifies the learning type of the VXLAN segment.
Possible values are described below::
evpn_learning EVPN overlay learning
multicast_learning Multicast learning
unicast_and_multicast Unicast and multicast learning
unicast_configuration Unicast learning
The default value is unicast_configuration.
vxlan_active_standby_mode
Specifies the Multihoming type. Possible values are
all_active single_active. The default value is
single_active.
vxlan_ether_segment_id
Specifies the Ethernet Segment ID (ESI) for the EVPN route.
The value must be in the format of AS:Value
(X:X:X:X:X:X:X:X:X). The default value is
00:00:00:00:00:00:00:00:00.
vxlan_ether_segment_id_step
Specifies the step value by which to create subsequent
ESIs. The value must be in the format of AS:Value
(X:X:X:X:X:X:X:X:X). The default value is
00:00:00:00:00:00:00:00:00.
vxlan_ether_segment_value_type
Specifies the type of the Ethernet segment value. Possible
values are described below::
type0 Operator
type1 IEEE 802.1AX, LACP
type2 Bridged LAN
type3 MAC Based
type4 Router ID
type5 Autonomous System
The default value is type0.
vxlan_ether_tag_id
Specifies the Ethernet tag value to identify a broadcast
domain. Possible values range from 0 to 4294967295. The
default value is 0.
vxlan_evpn_ip_prefix_gateway_type
Specifies the gateway type for IP prefix routes. Possible
values are described below::
vaipaddress Virtual Appliance (VA) IP address
vtepipaddress VTEP IP address
The default value is vaipaddress.
vxlan_evpn_router_mac_addr
Specifies the MAC address of the virtual appliance.
The default value is 00:00:00:00:00:00.
vxlan_evpn_router_mac_addr_step
Specifies the step value by which to create subsequent MAC
addresses for virtual appliances. The value must be in MAC
format. The default value is 00:00:00:00:00:01.
vxlan_evpn_router_mac_ext_community
Specifies whether to advertise the Router's MAC extended
community attribute in IP Prefix routes. Possible values
are true and false. When it is set to true, the Router's
MAC extended community attribute will be advertised in IP
Prefix routes. The default value is false.
vxlan_evpn_topology_types
Specifies the topology to use to create the routes.
Possible values are described below::
custom Custom
multihome Multihomed topology
singlehome Singlehomed topology
The default value is singlehome.
vxlan_route_dist
Specifies the route distinguisher of the first VRF. The
value must be in format of AS:Number or IPv4:Number. The
default value is 192.0.0.1:1.
vxlan_route_dist_step
Specifies the step value by which to create subsequent
route distinguishers. The value must be in format of
AS:Number or IPv4:Number. The default value is 0:1.
vxlan_route_target
Specifies the route target value of the first VRF. The
value must be in format of AS:Number or IPv4:Number. The
default value is 100:1.
vxlan_route_target_step
Specifies the step value by which to create subsequent
route targets. The value must be in format of AS:Number or
IPv4:Number. The default value is 0:1.
vxlan_vaip_addr
Specifies the IP address of the virtual appliance. This
argument is available when vxlan_evpn_ip_prefix_gateway_type
is set to vaipaddress. The default value is 0.0.0.0.
vxlan_vaip_addr_step
Specifies the step value by which to create subsequent IP
addresses for virtual appliances. This argument is
available when vxlan_evpn_ip_prefix_gateway_type is set to
vaipaddress. The default value is 0.0.0.1.
vxlan_wizard_ad_route
Specifies whether to create EVPN AD routes. Possible values
are true and false. When it is set to true, EVPN AD routes
will be created. The default value is false.
vxlan_wizard_ad_route_esi
Specifies whether the type of AD routes to be created is
per ESI. You must set vxlan_evpn_topology_types to custom.
Possible values are true (per ESI) and false. The default
value is false.
vxlan_wizard_ad_route_evi
Specifies whether the type of AD routes to be created is
per EVI. Possible values are true (per EVI) and false. The
default value is false.
vxlan_wizard_ad_route_type
Specifies the type of AD routes to be created. You must set
vxlan_evpn_topology_types to multihome or custom. Possible
values are per_esi and per_evi. The default value is
per_esi.
vxlan_wizard_ether_segment_route
Specifies whether to create EVPN Ethernet Segment routes.
You must set vxlan_evpn_topology_types to custom. Possible
values are true and false. When it is set to true, EVPN
Ethernet Segment routes will be created. The default value
is true.
vxlan_wizard_inclusive_multicast_route
Specifies whether to create EVPN IP prefix routes. You must
set vxlan_evpn_topology_types to custom. Possible values
are true and false. When it is set to true, EVPN Inclusive
Multicast routes will be created. The default value is
true.
vxlan_wizard_ip_prefix_route
Specifies whether to create EVPN Inclusive Multicast
routes. Possible values are true and false. When it is set
to true, EVPN Inclusive Multicast routes will be created.
The default value is true.
vxlan_wizard_mac_ip_route
Specifies whether to create EVPN MAC/IP routes. You must
set vxlan_evpn_topology_types to custom. Possible values
are true and false. When it is set to true, EVPN MAC/IP
routes will be created. The default value is true.
create_traffic
Determines whether to create traffic. Possible values are
true and false. When it is set to true, traffic_flow,
traffic_frame_size, traffic_load_percent_ports, and
traffic_type are available to create streamblocks. The
default value is false.
traffic_flow
Defines the type of the traffic flow. Possible values are
described below::
bidirectional Bidirectional
host_to_vxlan Unidirectional from the host
vxlan_to_host Unidirectional to the host
The default value is bidirectional.
traffic_frame_size
Specifies the size of frames to generate. Possible values
range from 12 to 16383. The default value is 1518.
traffic_load_percent_ports
Specifies the percent of traffic load generated on each
port. Possible values range from 0 to 100. The default
value is 10.
traffic_type
Specifies the traffic type. Possible values are ipv4 and
mac. The default value is ipv4.
gateway_ip_addr
Specifies the first gateway IP address
Values: IPv4
Default: 100.0.0.1
gateway_ip_addr_step
Specifies the increment value by which to create subsequent
gateway IP addresses
Values: IPv4
Default: 0.0.0.1
gateway_ipv6_addr
Specifies the gateway IPv6 address
Values: IPv6
Default: 2001::1
gateway_ipv6_addr_step
Specifies the increment value by which to create subsequent
gateway IPv6 addresses
Values: IPv6
Default: 0::1
host_ipv6_addr
Specifies the first VM/host IPv6 address
Values: IPv6
Default: 2001::2
ipv6_addr_incr_per_port
Specifies the increment value by which to create subsequent
IPv6 addresses across ports
Values: IPv6
Default: 0::0
ipv6_addr_step
Specifies the increment value by which to create subsequent
IPv6 addresses
Values: IPv6
Default: 0::1
ipv6_addr_step_per_segment
Specifies the increment value by which to create subsequent
IPv6 addresses across segments
Values: IPv6
Default: 0::1:0
ipv6_prefix
Specifies the prefix length of the IPv6 address
Values: 0-128
Default: 64
vxlan_host_l3_vni
Specifies the value of the first VNI in the VXLAN segment
Values: 0-16777215
Default: 200
vxlan_host_l3_vni_step
Specifies the increment value by which to create subsequent
VNIs in the VXLAN segment
Values: 0-100000
Default: 1
l3_vni_for_evpn_learning
Enables or disables Layer 3 VNI for EVPN Type-2 advertising
Values: true, false
Default: false
segments_per_block
Specifies the number of segments per block
Values: 1-65535
Default: 1
vms_per_vtep
Specifies the number of VMs per VTEP
Values: 0-10000
Default: 0
vxlan_ip_type
Specifies the address configuration mode
Values: ipv4, ipv4andipv6, ipv6, mac
Default: ipv4
as_byte_mode
Specifies the type of Autonomous System (AS) number
Dependency: vxlan_segment_type evpn_learning
Values::
as2byte 2byte AS
as4byte 4byte AS
Default: as2byte
as_num
Specifies the 2byte AS number
Dependency: vxlan_segment_type evpn_learning
Values: 1-65535
Default: 1
as_num_4byte
Specifies the 4byte AS number
Dependency: vxlan_segment_type evpn_learning
Values: string
Default: 1.1
as_num_4byte_step
Specifies the increment value by which to create subsequent
4byte AS numbers
Dependency: vxlan_segment_type evpn_learning
Values: string
Default: 0
as_num_4byte_step_per_port
Specifies the increment value by which to create subsequent
4byte AS numbers across ports
Dependency: vxlan_segment_type evpn_learning
Values: string
Default: 0
as_num_step
Specifies the increment value by which to create subsequent
2byte AS numbers
Dependency: vxlan_segment_type evpn_learning
Values: 0-65535
Default: 1
as_num_step_per_port
Specifies the increment value by which to create subsequent
2byte AS numbers across ports
Dependency: vxlan_segment_type evpn_learning
Values: 0-65535
Default: 0
bgp_mode
Specifies the BGP mode to use for EVPN overlay
Dependency: vxlan_segment_type evpn_learning
Values: ebgp (external BGP), ibgp (internal BGP)
Default: ebgp
config_l3_vni
Enables or disables Layer 3 VNI for EVPN overlay
Dependency: vxlan_segment_type evpn_learning
Values: true, false
Default: false
dut_as_num_4byte_step
Specifies the increment value by which to create subsequent
4byte DUT AS numbers
Dependency: vxlan_segment_type evpn_learning
Values: string
Default: 0
dut_as_num_4byte_step_per_port
Specifies the increment value by which to create subsequent
4byte DUT AS numbers across ports
Dependency: vxlan_segment_type evpn_learning
Values: string
Default: 0
dut_as_num_step_per_port
Specifies the increment value by which to create subsequent
DUT AS numbers across ports
Dependency: vxlan_segment_type evpn_learning
Values: 0-65535
Default: 0
dut_as_step
Specifies the increment value by which to create subsequent
DUT AS numbers
Dependency: vxlan_segment_type evpn_learning
Values: 0-65535
Default: 1
use_vxlan_ports
Enables or disables configurations on VXLAN ports
Values: true, false
Default: true
vxlan_va_ipv6_addr
Specifies the first virtual appliance's IPv6 address in the
IP prefix route
Dependency: vxlan_segment_type evpn_learning AND
vxlan_wizard_ip_prefix_route true
Values: IPv6
Default: 2002::1
vxlan_va_ipv6_addr_step
Specifies the increment value by which to create subsequent
IPv6 addresses for virtual appliances
Dependency: vxlan_wizard_ip_prefix_route true AND
vxlan_evpn_ip_prefix_gateway_type vaipaddress
Values: IPv6
Default: 0::1
vxlan_wizard_mac_and_ip_route
Enables or disables MAC and IP routes (Type 2)
Dependency: vxlan_segment_type evpn_learning
Values: true, false
Default: true
vxlan_wizard_mac_only_route
Determines whether to only generate MAC routes for Type 2
routes
Dependency: vxlan_wizard_mac_and_ip_route true
Values: true, false
Default: true
l3_vni
Specifies the first VNI for the VXLAN segment
Dependency: l3_vni_for_evpn_learning true
Values: 0-16777215
Default: 1000
l3_vni_step
Specifies the increment value by which to create subsequent
VNIs for the VXLAN segment
Dependency: l3_vni_for_evpn_learning true
Values: 0-100000
Default: 1
l3_vlan_enable
Enables or disables VLAN tagging on the Layer 3 VM
Dependency: config_l3_vni true
Values: true, false
Default: false
l3_host_ip_addr
Specifies the first IP address for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv4
Default: 200.0.0.2
l3_ip_addr_step_per_segment
Specifies the increment value by which to create subsequent
IP addresses for Layer 3 VM devices across segments
Dependency: config_l3_vni true
Values: IPv4
Default: 0.0.1.0
l3_ip_prefix
Specifies the IP prefix length for the Layer 3 VM
Dependency: config_l3_vni true
Values: 0-32
Default: 24
l3_ip_addr_incr_per_port
Specifies the increment value by which to create subsequent
IP addresses for Layer 3 VM devices across ports
Dependency: config_l3_vni true
Values: IPv4
Default: 0.0.0.0
l3_ip_addr_step
Specifies the increment value by which to create subsequent IP
addresses for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv4
Default: 0.0.0.1
l3_mac_addr
Specifies the first MAC address for Layer 3 VM devices
Dependency: config_l3_vni true
Values: MAC
Default: 00:00:20:01:00:00
l3_mac_addr_step
Specifies the increment value by which to create subsequent
MAC addresses
Dependency: config_l3_vni true
Values: MAC
Default: 00:00:00:00:00:01
l3_use_same_vnis_across_ports
Determines whether to use the same VNI across ports
Dependency: config_l3_vni true
Values: true, false
Default: true
l3_use_same_vnis_across_vteps
Determines whether to use the same VNI across VTEPs
Dependency: config_l3_vni true
Values: true, false
Default: true
l3_vlan_id
Specifies the first VLAN ID for the Layer 3 VM
Dependency: config_l3_vni true
Values: 0-4095
Default: 1
l3_vlan_id_step
Specifies the increment value by which to create subsequent
VLAN IDs for Layer 3 VM devices
Dependency: config_l3_vni true
Values: 0-4095
Default: 1
l3_vms_per_segment
Specifies the number of VMs per segment
Dependency: config_l3_vni true
Values: 0-10000
Default: 1
l3_vxlan_segments_per_vtep
Specifies the number of VXLAN segments per VTEP
Dependency: config_l3_vni true
Values: 1-65535
Default: 1
l3_gateway_ip_addr
Specifies the first gateway IP address for Layer 3 VM
devices
Dependency: config_l3_vni true
Values: IPv4
Default: 200.0.0.1
l3_gateway_ip_addr_step
Specifies the increment value by which to create subsequent
gateway IP addresses for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv4
Default: 0.0.0.1
l3_gateway_ipv6_addr
Specifies the first gateway IPv6 address for Layer 3 VM
devices
Dependency: config_l3_vni true
Values: IPv6
Default: 4001::1
l3_gateway_ipv6_addr_step
Specifies the increment value by which to create subsequent
gateway IPv6 addresses for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv6
Default: 0::1
l3_host_ipv6_addr
Specifies the first IPv6 address for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv6
Default: 4001::2
l3_ipv6_addr_incr_per_port
Specifies the increment value by which to create subsequent
IPv6 addresses for Layer 3 VM devices across ports
Dependency: config_l3_vni true
Values: IPv6
Default: 0::0
l3_ipv6_addr_step
Specifies the increment value by which to create subsequent
IPv6 addresses for Layer 3 VM devices
Dependency: config_l3_vni true
Values: IPv6
Default: 0::1
l3_ipv6_addr_step_per_segment
Specifies the increment value by which to create subsequent
IPv6 addresses for Layer 3 VM devices across segments
Dependency: config_l3_vni true
Values: IPv6
Default: 0::1:0
l3_ipv6_prefix
Specifies the prefix length for the IPv6 address of the
Layer 3 VM device
Dependency: config_l3_vni true
Values: 0-128
Default: 64
l3_mac_add_prefix
Specifies the prefix length for the MAC address of the
Layer 3 VM device
Dependency: config_l3_vni true
Values: 1-48
Default: 48
l3_vni_params
Specifies the first VNI for the Layer 3 VNI segment
Dependency: config_l3_vni true
Values: 0-16777215
Default: 1000
l3_vni_step_params
Specifies the increment value by which to create subsequent
VNIs in the Layer 3 VNI segment
Dependency: config_l3_vni true
Values: 0-100000
Default: 1
l3_segments_per_block
Specifies the number of Layer 3 VNI segments per block
Dependency: config_l3_vni true
Values: 1-65535
Default: 1
l3_vxlan_ip_type
Specifies the address configuration mode for Layer 3 VM devices
Dependency: config_l3_vni true
Values: ipv4, ipv4andipv6, ipv6
Default: ipv4
use_non_vxlan_ports
Determines whether to configure nonVXLAN ports
Values: true, false
Default: true
mac_addr_prefix
Specifies the prefix length of the VM's MAC address
Values: 1-48
Default: 48
bgp_session_ip_type
Specifies the source of the BGP session IP address
Dependency: l3_vni_for_evpn_learning true
Values: internface_ip, router_id
Default: internface_ip
use_gateway_as_dut
Enables or disables using gateway as the DUT
Dependency: l3_vni_for_evpn_learning true
Values: true, false
Default: true
vxlan_wizard_ipv4_unicast_route
Determines whether to generate IPv4 unicast routes for the VTEP
Values: true, false
Default: false
vxlan_config_next_hop
Determines whether to configure next hop addresses
Values: true, false
Default: false
vxlan_next_hop_addr
Specifies the first next hop address for the EVPN route
Dependency: vxlan_config_next_hop true
Values: IPv4
Default: 192.168.100.2
vxlan_next_hop_step_per_device
Specifies the increment value by which to create subsequent next
hop addresses across devices
Dependency: vxlan_config_next_hop true
Values: IPv4
Default: 0.0.0.1
vxlan_next_hop_step_per_port
Specifies the increment value by which to create subsequent next
hop addresses across ports
Dependency: vxlan_config_next_hop true
Values: IPv4
Default: 0.0.0.1
vxlan_auto_config_rd_rt
Determines whether to configure VRF route targets and route
distinguishers from a list of predefined options
Values::
true Configure VRF route targets and route distinguishers
from a list of predefined options
false Configure specific values manually
Default: true
vxlan_auto_config_rt
Specifies the pattern used to configure route targets
Dependency: vxlan_auto_config_rd_rt true
Values::
as_vni AS:VNI
as_vlan AS:VLAN
nexthop_as NEXTHOP:AS
nexthop_vni NEXTHOP:VNI
nexthop_vlan NEXTHOP:VLAN
route_id_as RouterID:AS
router_id_vni RouterID:VNI
router_id_vlan RouterID:VLAN
gateway_ip_as GatewayIP:AS
gateway_ip_vni GatewayIP:VNI
gateway_ip_vlan GatewayIP:VLAN
interface_ip_as InterfaceIP:AS
interface_ip_vni InterfaceIP:VNI
interface_ip_vlan InterfaceIP:VLAN
Default: as_vni
vxlan_auto_config_rd
Specifies the pattern used to configure route distinguishers
Dependency: vxlan_auto_config_rd_rt true
Values::
as_vni AS:VNI
as_vlan AS:VLAN
nexthop_as NEXTHOP:AS
nexthop_vni NEXTHOP:VNI
nexthop_vlan NEXTHOP:VLAN
router_id_as RouterID:AS
router_id_vni RouterID:VNI
router_id_vlan RouterID:VLAN
gateway_ip_as GatewayIP:AS
gateway_ip_vni GatewayIP:VNI
gateway_ip_vlan GatewayIP:VLAN
interface_ip_as InterfaceIP:AS
interface_ip_vni InterfaceIP:VNI
interface_ip_vlan InterfaceIP:VLAN
Default: as_vni
vxlan_use_remote_nve
Enable or disable the Remote Network Virtual Interface for the VM.
Dependency: communication_type unicast_configuration.
Possible values are true (enable) and false(disable).
The default is false.
vxlan_remote_nve
Specifies the remote Network Virtual Interface for the VM.
Dependency: communication_type unicast_configuration.
The default is 1.1.1.1.
vxlan_remote_nve_step
Specifies the step value for the remote Network Virtual Interface
for the VM.
Dependency: communication_type unicast_configuration.
The default is none.
enable_flood
Option to enable Flood VTEP List population.
The default is false.
flood_vtep_list
List of Remote VTEP IP addresses for flooding.
The default is 0.0.0.0.
Arguments Unsupported by Save as HLTAPI:
This function is currently not supported by Save as HLTAPI.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle The VXLAN wizard configuration handle vtep_handle A list of VTEP device handles vm_handle A list of VM device handles host_handle A list of host handles vxlanseg_handle The VXLAN segment handle status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation vxlan wizard config
function configures VXLAN topology, mapping the operations of VXLAN wizard in the Spirent TestCenter GUI. It takes VTEP/VM handles returned by emulation vxlan port config VXLAN=hosts returned by emulation nonvxlan port config, and creates a VXLAN topology.Use the mode argument to specify the operation to perform. See the mode argument for a description of the actions.
- Examples:
The following example configures a VXLAN topology:
set VxWizard [emulation vxlan wizard config mode= create auto_select_udp_src_port= false udp_src_port= 1026 vteps_per_sub_interf_count= 1 vms_per_segment= 5 vlan_enable= false host_ip_addr= 1.1.1.1 ip_addr_step_per_segment= 0.0.0.2 ip_prefix= 24 mac_addr= 00:10:94:11:00:11 vxlan_segment_type= multicast_learning vxlan_multicast_ip_addr= 225.10.10.10 vxlan_segment_multicast_type= igmp vxlan_active_standby_mode= single_active vxlan_ether_segment_value_type= type1 vxlan_wizard_ether_segment_route= false vni= 100 vxlan_segments_per_vtep= 1 use_same_vnis_across_vteps= false create_traffic= true traffic_flow= host_to_vxlan traffic_frame_size= 512 traffic_load_percent_ports= 5 traffic_type= ipv4]
Sample Output:
{vtep_handle vm_handle host_handle vxlanseg_handle handle status}
End of Procedure Header
emulation vxlanvm wizard config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- This is a Spirent Extension created to configure the VXLAN VM, mapping the operations of VXLAN Add VMs wizard in the Spirent TestCenter GUI.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlanvm wizard config
port_handle= <port_handle>
mode= {create}
vxlanseg_handle= <segment_handle>
endpoint_handles= <endpoint_handles>
Arguments:
port_handle
Specifies the port handle used for VXLAN VM wizard configuration
mode
Specifies the action to perform. The modes are described
below::
create Creates the VXLAN VM
The default value is create.
vxlanseg_handle
Specifies the VXLAN segment handle used to add VXLAN VM.
Can be vxlanseg_handle returned from emulation vxlan wizard config
endpoint_handles
Specifies the endpoints handles (device handles) for adding VXLAN VM
under port_handle.
Arguments Unsupported by Save as HLTAPI:
This function is currently not supported by Save as HLTAPI.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
- Adding VXLAN VM for the endpoint handles under port handle and vxlan segment handle.
- Examples:
The following example addes VXLAN VM or $devices, $seghnd is vxlanseg_handle returned from emulation vxlan wizard config:
emulation vxlanvm wizard config endpoint_handles=$devices port_handle port2 -vxlanseg_handle $seghnd
Sample Output:
{status 1}
End of Procedure Header
emulation vxlan global config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
Configures VXLAN global configuration.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan global config
discard_evpn_learning= {true | false}
enable_drv_vxlan_bindings= {true | false}
enable_evpn_overlay_irb= {true | false}
enable_evpn_type5_va= {true | false}
enable_traffic_scale_evpn_learning= {true | false}
enable_vxlan_flow_based_traffic= {true | false}
enable_vxlan_scale= {true | false}
evpn_overlay_irb_mode= {asymmetric | symmetric}
Arguments:
discard_evpn_learning
Determines whether to ignore EVPN learning and use the
manual configuration instead. Possible values are true and
false. The default value is false.
enable_drv_vxlan_bindings
Determines whether to enable DRV for VXLAN Bindings.
Possible values are true and false. When it is set to true,
enables updating of bindings to dynamic results view(VXLAN
Binding Results). The default value is false.
enable_evpn_overlay_irb
Determines whether to use integrated routing and bridging.
Possible values are true and false. The default value is false.
enable_evpn_type5_va
Determines whether to use the virtual appliance IP address as
the gateway address for Type 5 routes. Possible values are true
and false. The default value is false.
enable_traffic_scale_evpn_learning
Determines whether to optimize highscale, traffic-only testing
of VTEPs using EVPN learning. Possible values are true and false.
The default value is false.
enable_vxlan_flow_based_traffic
Determines whether to optimize highscale, traffic-only testing
of all VTEPs using unicast, multicast or EVPN learnings.
Possible values are true and false. The default value is false.
enable_vxlan_scale
Determines whether to optimize highscale testing of VTEPs with
one VNI using multicast learning. Possible values are true and
false. The default value is true.
evpn_overlay_irb_mode
Specifies the mode of integrated routing and bridging. Possible
values are true and false. In Asymmetric mode, Option
config_l3_vni must be disabled in VXLAN segment. In Symmetric
mode if Router MAC extended community is not enabled in route for
a traffic endpoint then VM MACs in traffic packet will not be
overwritten with VTEP Router MAC. Before selecting Symmetric mode
ensure that Router MAC extended community is enabled in route
and must be in applied state.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation vxlan global config
function configures VXLAN global configuration.If the operation fails, Spirent HLTAPI returns an error message.
- Examples:
The following example configures VXLAN global configuration.
- set VxGlobalConfig [emulation vxlan global config
- discard_evpn_learning= false enable_vxlan_bindings_result_view= false enable_evpn_overlay_irb= true enable_type5_overlay_index= true enable_traffic_scale_evpn_learning= false enable_vxlan_flow_based_traffic= false enable_vxlan_vteps_scale_option= true evpn_overlay_irb_mode= symmetric ]
Sample Output:
{status 1}
End of Procedure Header
emulation vxlan macmobility wizard config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Configures VXLAN MAC mobility.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation vxlan macmobility wizard config
dst_sb_handle= <streamblock handle>
evpn_mac_adv_routes_handle= <route handle>
vm_device_handle= <VM handle> M
vtep_handle= <VTEP handle> M
vxlan_seg_handle= <segment handle> M
src_sb_handle= <streamblock handle>
next_hop= <a.b.c.d>
route_distinguisher= <IPv4:value>
route_distinguisher_step= <string>
route_target= <string>
route_target_step= <string>
Arguments:
dst_sb_handle
Specifies the destination streamblock handle.
evpn_mac_adv_routes_handle
Specifies the EVPN MAC advertisement route handle.
vm_device_handle
Specifies the handles of VM devices on the source side.
This argument is `Mandatory`.
vtep_handle
Specifies the VXLAN VTEP handles. This argument is `Mandatory`.
vxlan_seg_handle
Specifies the VXLAN segment handle. This argument is `Mandatory`.
src_sb_handle
Specifies the destination streamblock handle.
next_hop
Specifies the first next hop address for new type2 router.
The default value is 0.0.0.0.
route_distinguisher
Specifies the configuration of VRF route distinguisher
for new type2 router. The default value is 192.0.0.1:1.
route_distinguisher_step
Specifies the VRF route distinguisher step value for
new type2 router. The default value is 0:1.
route_target
Specifies the configuration of VRF route target for
new type2 router. The default value is 100:1.
route_target_step
Specifies the configuration of VRF route target step
value for new type2 router. The default value is 0:1.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle Configured VXLAN MAC mobility handle status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation vxlan macmobility wizard config
function configures VXLAN MAC mobility.If the operation fails, Spirent HLTAPI returns an error message.
- Examples:
The following example configures VXLAN MAC mobility configuration.
- set VxGlobalConfig [emulation vxlan macmobility wizard config
- discard_evpn_learning= false vm_device_handle= $vm_hnd vtep_handle= $vtep_hnd vxlan_seg_handle= $seg_hnd next_hop= 15.1.1.1 route_distinguisher= 65.50.50.1:5 route_target= 222:3
Sample Output:
{handle macmobilitygenparams1} {status 1}
End of Procedure Header
vxlan gpe link config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Creates VM to VxLANGPE VTEP link between specified source and destination devices.
Synopsis:
Note: M indicates the argument is `Mandatory`.
vxlan gpe link config
mode= {create|modify} M
link_src= <device handle> M
link_dst= <device handle> M
link_next_protocol= {ethernet|vbras}
peer_unicast_vtep_ip= <a.b.c.d>
vni= <0-16777215>
port_count= <integer>
port_id= <integer>
port_type= {reserved|1ge|10ge|40ge|100ge|eth_trunk|tunnel|ve}
protocol_type= {ethernet|ipv4|ipv6}
slot_count= <1-255>
slot_id= <integer>
static_subscriber= {true|false}
sub_slot_count= <1-255>
sub_slot_id= <integer>
vrf_count= <1-65535>
vrf_id= <integer>
Arguments:
mode
Specifies the action to perform on the specified devices. This argument is
`Mandatory`. Possible values are::
create - Creates the specified link between source and destination
devices
modify - Changes the configuration for the vBRAS and VXLANGPE
interfaces
link_src
Specifies the source device. The device handle is returned by
interface config or the specified protocol configuration
functions. This argument is `Mandatory`.
link_dst
Specifies the destination device. The device handle is
returned by interface config or the specified protocol
configuration functions. This argument is `Mandatory`.
link_next_protocol
Specifies the protocol immediately following the VXLANGPE.
Possible values are ethernet and vbras.
The default is vbras.
peer_unicast_vtep_ip
Specifies the IPv4 address of remote VTEP.
The default is 1.0.0.2.
vni
Specifies the value of VXLAN network identifier.
Possible value range is 0-16777215.
The default is 200.
port_count
Specifies the number of ports per subcard in the UP.
The default is 1.
port_id
Specifies the port of the UP.
The default is 0.
port_type
Specifies the interface type of the port in the UP.
Possible values are reserved, 1ge, 10ge, 40ge,
100ge, eth_trunk, tunnel and ve.
The default is 10ge.
protocol_type
Specifies the protocol type of the vBRAS.
Possible values are ethernet, ipv4 and ipv6.
The default is ethernet.
slot_count
Specifies the number of slots in the UP.
Possible value range is 1-255.
The default is 1.
slot_id
Specifies the slot of the UP.
The default is 0.
static_subscriber
Specifies whether it is a static subscriber.
Possible values are true and false.
The default is false.
sub_slot_count
Specifies the number of subslots per slot in the UP.
Possible value range is 1-255.
The default is 1.
sub_slot_id
Specifies the subslot of the UP.
The default is 0.
vrf_count
Specifies the number of VRFs in the UP.
Possible value range is 1-65535.
The default is 1.
vrf_id
Specifies the VRF of the UP.
The default is 0.
- Return Values:
The function returns a keyed list using the following keys:
status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
- The
vxlan gpe link config
GPE=VTEP link between devices. You must specify the link source and destination devices. - Examples:
The following example creates a VM to VxLANGPE= VTEP link between device1 and device2:
set ret [::vxlan gpe link config mode= create link_src= $device1 link_dst= $device2 link_next_protocol= vbras static_subscriber= true protocol_type= ipv4 port_count= 1 port_id= 0 slot_count= 1 slot_id= 0 sub_slot_count= 1 sub_slot_id= 0 vrf_count= 1 vrf_id= 0 vni= 202 peer_unicast_vtep_ip= 1.1.1.2
Sample Output:
{status 1}
The following example modifies vBRAS and VXLANGPE= interface parameters:
set ret [::vxlan gpe link config mode= modify link_src= $device1 link_dst= $device2 static_subscriber= true protocol_type= ipv6 port_count= 1 port_id= 0 slot_count= 1 slot_id= 0 sub_slot_count= 1 sub_slot_id= 0 vrf_count= 1 vrf_id= 0 vni= 201 peer_unicast_vtep_ip= 1.1.1.1
Sample Output:
{status 1}
End of Procedure Header