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.

Specifies the link local IPv6 address for the emulated device. The default value is FE80::0.

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 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 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

Purpose

Spirent Extension (for Spirent HLTAPI only).

Configures VXLAN global configuration.

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