VXLAN Functions¶
sth::emulation_vxlan_config¶
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 that the argument is Mandatory .
sth::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
sth::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 sth::emulation_vxlan_config
function creates, modifies or deletes one or
more emulated VXLAN (VETP) devices on the specified port. Use
sth::emulation_device_config or other protocol-specific
functions to create VM
devices, and sth::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 [::sth::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
sth::emulation_vxlan_control¶
Purpose¶
A Spirent Extension to start or stop the created VTEP devices.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 sth::emulation_vxlan_control
function controls the configured VTEP devices.
Examples¶
To start the specified VTEP device:
set status [::sth::emulation_vxlan_control -port_handle $port1 -action start]
End of Procedure Header
sth::emulation_vxlan_stats¶
Purpose¶
A Spirent Extension to retrieve statistics for the VTEP devices configured on the specified test port.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 sth::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 [::sth::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 [::sth::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
sth::emulation_vxlan_port_config¶
Purpose¶
Spirent Extension (for Spirent HLTAPI only).
A Spirent Extension to create or delete VXLAN ports and interfaces
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 sth::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 [sth::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
sth::emulation_nonvxlan_port_config¶
Purpose¶
Spirent Extension (for Spirent HLTAPI only).
A Spirent Extension to create or delete non-VXLAN ports and interfaces
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 non-VXLAN 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 non-VXLAN 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 Non-VXLAN 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 sth::emulation_nonvxlan_port_config
function creates or deletes non-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 non-VXLAN ports and interfaces:
set device_ret1 [sth::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
sth::emulation_vxlan_wizard_config¶
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 that the argument is Mandatory .
sth::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 Non-VXLAN 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 sub-interface. 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 4-byte 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 PIM-SM ssm PIM-SSM
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 Multi-homing 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 Multi-homed topology singlehome Single-homed 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 2-byte AS as4byte 4-byte AS
Default: as2byte
-
-as_num
¶
Specifies the 2-byte AS number
Dependency: -vxlan_segment_type evpn_learning
Values: 1-65535
Default: 1
-
-as_num_4byte
¶
Specifies the 4-byte 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 4-byte 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 4-byte 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 2-byte 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 2-byte 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 4-byte 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 4-byte 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 trueValues: 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 vaipaddressValues: 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 non-VXLAN 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 pre-defined options
Values:
true Configure VRF route targets and route distinguishers from a list of pre-defined 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 sth::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 sth::emulation_vxlan_port_config and non-VXLAN hosts
returned by sth::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 [sth::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
sth::emulation_vxlanvm_wizard_config¶
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 that the argument is Mandatory .
sth::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 sth::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 sth::emulation_vxlan_wizard_config:
sth::emulation_vxlanvm_wizard_config -endpoint_handles $devices -port_handle port2 -vxlanseg_handle $seghnd
Sample Output:
{status 1}
End of Procedure Header
sth::emulation_vxlan_global_config¶
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 high-scale, 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 high-scale, 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 high-scale 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 sth::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 [sth::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
sth::emulation_vxlan_macmobility_wizard_config¶
Purpose¶
Configures VXLAN MAC mobility.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 sth::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 [sth::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
sth::vxlan_gpe_link_config¶
Purpose¶
Creates VM to VxLAN-GPE VTEP link between specified source and destination devices.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 VXLAN-GPE interfaces
-
-link_src
¶
Specifies the source device. The device handle is returned by sth::interface_config or the specified protocol configuration functions. This argument is Mandatory .
-
-link_dst
¶
Specifies the destination device. The device handle is returned by sth::interface_config or the specified protocol configuration functions. This argument is Mandatory .
-
-link_next_protocol
¶
Specifies the protocol immediately following the VXLAN-GPE. 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 sth::vxlan_gpe_link_config
function creates VM to VxLAN-GPE VTEP link
between devices. You must specify the link source and destination devices.
Examples¶
The following example creates a VM to VxLAN-GPE VTEP link between device1 and device2:
set ret [::sth::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 VXLAN-GPE interface parameters:
set ret [::sth::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