VXLAN OVSDB Functions

sth::emulation_vxlan_ovsdb_port_config

Purpose

Spirent Extension (for Spirent HLTAPI only).

Configures VXLAN OVSDB ports and interfaces.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_vxlan_ovsdb_port_config
    [-port_handle <port_handle>]
    [-handle <handle>]
    [-mode {create | delete}]
    [-vlan_enable {true | false}]
    [-gw_ip_addr <a.b.c.d>]
    [-gw_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 <0-32>]
    [-router_id <a.b.c.d>]
    [-router_id_step <a.b.c.d>]
    [-tunnel_ip_mode {interface_ip | router_id}]
    [-vtep_ip_addr <a.b.c.d>]
    [-vtep_ip_addr_step <a.b.c.d>]
    [-vlan_id <0-4095>]
    [-vlan_id_step <0-4095>]
    [-vlan_count <1-65535>]

Arguments

-port_handle

Specifies the port on which VXLAN Tunnel End Point (VTEP) and Virtual Machine (VM) devices will be emulated. This argument is Mandatory for -mode create.

-handle

Specifies the configured VXLAN Tunnel End Point (VTEP) and Virtual Machine (VM) device parameter handle. This argument is required for -mode delete.

-mode

Specifies the action to perform.

Values:

create  Configures VTEPs or VMs on the port specified by -port_handle

delete  Deletes the configured VTEP or VM devices parameter handle
        specified by -handle.
-router_id

Specifies the router ID of the emulated device. The default is 10.1.1.1.

-router_id_step

Specifies the step value by which to create subsequent router IDs. The default is 0.0.0.1.

-tunnel_ip_mode

Specifies the source of the tunnel IP address. Possible values are interface_ip and router_id. The default is interface_ip.

-vtep_ip_addr

Specifies the IP address of the emulated VTEP device. The default is 192.168.100.2.

-vtep_ip_addr_step

Specifies the step value by which to generate subsequent IP addresses for VTEPs. The default is 0.0.0.1.

-prefix_len

Specifies the prefix length on the provider subnet. Possible values range from 0 to 32. The default is 24.

-gw_ip_addr

Specifies the IP address of the first gateway. The default is 192.168.100.1.

-gw_ip_addr_step

Specifies the step value by which to generate subsequent gateway IP addresses. The default is 0.0.0.1.

-mac_addr

Specifies the first MAC address of the emulated device. The default is 10:00:00:10:00:01.

-mac_addr_step

Specifies the step value by which to generate subsequent MAC addresses. The default is 00:00:00:00:00:01.

-vlan_enable

Enables or disables VLAN. Possible values are true (enable) and false (disable). The default is false.

-vlan_id

Specifies the ID for the first VLAN in a block. Possible values range from 0 to 4095. The default is 1.

-vlan_id_step

Specifies the step value by which to generate subsequent VLAN IDs. Possible values range from 0 to 4095. The default is 1.

-vlan_count

Specifies the VLAN count. Possible values range from 1 to 65535. The default 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 VXLAN OVSDB port 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_ovsdb_port_config function configures VXLAN OVSDB ports and interfaces, mapping the operation of the VXLAN OVSDB wizard on the Spirent TestCenter GUI.

If the operation fails, Spirent HLTAPI returns an error message.

Examples

The following example configures VXLAN OVSDB ports and interfaces:

set vxlan_ovsdb_port_config [sth::emulation_vxlan_ovsdb_port_config \
          -mode                           create\
          -port_handle                    port1 \
          -vlan_enable                    true \
          -gw_ip_addr                     5.5.5.50 \
          -gw_ip_addr_step                0.0.0.2 \
          -mac_addr                       10:06:07:10:08:05 \
          -mac_addr_step                  00:00:00:00:02:05 \
          -prefix_len                     24 \
          -vlan_id                        567 \
          -vlan_id_step                   2 \
          -vlan_count                     1 \
          -vtep_ip_addr                   5.5.5.5 \
          -vtep_ip_addr_step              0.0.0.2 \
          -router_id                      5.5.5.1 \
          -router_id_step                 0.0.0.2 \
          -tunnel_ip_mode                 router_id \

]

Sample Output:

{handle vxlanovsdbvtepportgenparams1} {status 1}

sth::emulation_nonvxlan_ovsdb_port_config

Purpose

Spirent Extension (for Spirent HLTAPI only).

Configures non-VXLAN OVSDB ports and interfaces.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_nonvxlan_ovsdb_port_config
  [-port_handle <port_handle>]
  [-handle <handle>]
  [-mode {create | delete}]
  [-vlan_enable {true | false}]
  [-gw_ip_addr <a.b.c.d>]
  [-ip_addr <a.b.c.d>]
  [-gw_ip_addr_step <a.b.c.d>]
  [-ip_addr_step <a.b.c.d>]
  [-gw_ip_addr_step_per_seg_block <a.b.c.d>]
  [-ip_addr_step_per_seg_block <a.b.c.d>]
  [-mac_addr <aa:bb:cc:dd:ee:ff>]
  [-mac_addr_step <aa:bb:cc:dd:ee:ff>]
  [-mac_addr_step_per_seg <aa:bb:cc:dd:ee:ff>]
  [-prefix_len <0-32>]
  [-host_per_seg <0-65535>]
  [-vlan_id <0-4095>]
  [-vlan_id_step <0-4095>]
  [-host_address_mode {mac | ipv4}]

Arguments

-port_handle

Specifies the port on which non-VXLAN hosts will be emulated. This argument is Mandatory for -mode create.

-mode

Specifies the action to perform.

Values:

create  Creates non-VXLAN hosts on the port specified by -port_handle

delete  Deletes created non-VXLAN host parameters specified by -handle
-handle

Specifies the configured non-VXLAN host parameter handle. This argument is required for -mode delete.

-vlan_enable

Enables or disables VLAN. Possible values are true (enable) and false (disable). The default is false.

-gw_ip_addr

Specifies the first gateway IP address of non-VXLAN hosts. The default is 192.85.100.1.

-gw_ip_addr_step

Specifies the step value by which to generate subsequent gateway IP addresses of non-VXLAN hosts. The default is 0.0.0.1.

-ip_addr

Specifies the first IP address of non-VXLAN hosts. The default is 192.85.100.2.

-ip_addr_step

Specifies the step value by which to generate subsequent IP addresses of non-VXLAN hosts. The default is 0.0.0.1.

-gw_ip_addr_step_per_seg_block

Specifies the gateway IP address increment per segment block. The default is 0.1.0.0.

-ip_addr_step_per_seg_block

Specifies the IP address increment per segment block. The default is 0.1.0.0.

-mac_addr

Specifies the first MAC address of the non-VXLAN hosts. The default is 10:00:00:10:00:01.

-mac_addr_step

Specifies the step value by which to generate subsequent MAC addresses. The default is 00:00:00:00:00:01.

-mac_addr_step_per_seg

Specifies the step value by which to generate subsequent MAC addresses per segment block. The default is 00:00:00:00:00:01..

-prefix_len

Specifies the prefix length of the configured non-VXLAN hosts. Possible values range from 1 to 32. The default value is 24.

-host_per_seg

Specifies the number of hosts to be configured per segment. Possible values range from 1 to 65535. The default value is 1.

-vlan_id

Specifies the VLAN ID of the first VLAN sub-interface. Possible values range from 0 to 4095. The default is 1.

-vlan_id_step

Specifies the value that used to increment the VLAN ID. Possible step values range from 0 to 4095. The default value is 1.

-host_address_mode

Specifies the IP type of non-VXLAN hosts. Possible values are MAC and IPV4. The default is IPV4.

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
All non-VXLAN OVSDB port handles 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_ovsdb_port_config function configures non-VXLAN OVSDB hosts, mapping the operation of the VXLAN OVSDB wizard on the Spirent TestCenter GUI.

If the operation fails, Spirent HLTAPI returns an error message.

Examples

The following example configures non-VXLAN OVSDB hosts:

set nonvxlan_ovsdb_port_config [sth::emulation_nonvxlan_ovsdb_port_config \
         -mode                           create\
         -port_handle                    port2 \
         -vlan_enable                    false \
         -gw_ip_addr                     6.6.6.6 \
         -ip_addr                        6.6.6.60 \
         -gw_ip_addr_step                0.0.0.3 \
         -ip_addr_step                   0.0.0.4\
         -gw_ip_addr_step_per_seg_block  7.7.7.7 \
         -ip_addr_step_per_seg_block     7.7.7.70\
         -mac_addr                       20:06:07:10:08:05 \
         -mac_addr_step                  01:00:00:00:02:05 \
         -mac_addr_step_per_seg          02:00:00:00:02:05 \
         -prefix_len                     24 \
         -host_per_seg                   4 \
         -vlan_id                        44 \
         -vlan_id_step                   4 \
         -host_address_mode              mac \

]

Sample Output:

{handle vxlanovsdbhostportgenparams1} {status 1}

sth::emulation_vxlan_ovsdb_wizard_config

Purpose

Spirent Extension (for Spirent HLTAPI only).

Creates or deletes the VXLAN OVSDB topology..

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_vxlan_ovsdb_wizard_config
 [-handle <vxlan_evpn_overlay_wizard_parameters_handle>]
 [-mode {create | delete}]

 OVSDB Server parameters

 [-controller_port <1-65535>]
 [-controller_port_step <integer>]
 [-controller_ip_mode {ip_list | single_ip}]
 [-controller_ip_addr <a.b.c.d>]
 [-controller_ip_addr_step <a.b.c.d>]
 [-same_config_across_ports {true | false}]

 OVSDB VTEP parameters

 [-auto_select_udp_src_port {true | false}]
 [-use_gateway_as_dut {true | false}]
 [-enable_udp_checksum {true | false}]
 [-round_robin_allocation {true | false}]
 [-connected_dut_ip_addr <IP>]
 [-udp_src_port <1-65535]
 [-udp_src_port_step <0-32767]
 [-vtep_count_per_vlan <integer>]

 OVSDB Segment parameters

 [-same_vnis_across_ports {true | false}]
 [-same_vnis_across_vteps {true | false}]
 [-seg_per_block <1-65535>]
 [-vni <0-16777215>]
 [-vni_step <0-100000>]
 [-vxlan_seg_per_vtep <1-65535>]

 OVSDB VM parameters

 [-vlan_enable {true | false}]
 [-vm_ip_addr <a.b.c.d>]
 [-gw_ip_addr <a.b.c.d>]
 [-gw_addr_step_per_port <a.b.c.d>]
 [-gw_addr_step_per_seg <a.b.c.d>]
 [-gw_addr_step_per_vtep <a.b.c.d>]
 [-gw_ip_addr_step <a.b.c.d>]
 [-ip_addr_step <a.b.c.d>]
 [-ip_addr_step_per_port <a.b.c.d>]
 [-ip_addr_step_per_seg <a.b.c.d>]
 [-mac_addr <aa:bb:cc:dd:ee:ff>]
 [-mac_addr_step <aa:bb:cc:dd:ee:ff>]
 [-mac_addr_step_per_seg_block <aa:bb:cc:dd:ee:ff>]
 [-prefix_len <0-32>]
 [-vms_per_seg <1-65535>]
 [-vlan_id <0-4095>]
 [-vlan_id_step <0-4095>]
 [-vm_addr_mode {mac|ipv4}]

 [-delete_existing {yes|no}]

Arguments

-handle

The VXLAN OVSDB wizard configuration handle returned by this API. You must specify this argument for -mode delete.

-mode

Specifies the action to perform.

Values:

create
         Creates the VXLAN OVSDB test topology

delete
         Delete all handles created by this function. You must
         use this before you re-create a VXLAN OVSDB
         wizard configuration
-controller_port

Specifies the OVSDB server connection port’s port number value. Possible values are range from 1 to 65535. The default value is 6640.

-controller_port_step

Specifies the step value by which to generate subsequent port numbers. The default is 1.

-controller_ip_mode

Specifies the OVSDB server controller IP mode. The default value is ip_list. Possible values are described below:

Value       Description
ip_list     Configure IP List with comma separated values
single_ip   Configure Single IP
-controller_ip_addr

Specifies the OVSDB server controller IP address. The default value is 192.85.1.1.

-controller_ip_addr_step

Specifies the step value by which to generate subsequent controller IP addresses. The default is 0.0.0.1.

-same_config_across_ports

Specifies whether to use same controller IP parameters across ports. Possible values are true and false. The default value is true.

-auto_select_udp_src_port

Specifies whether to auto select UDP source port for VXLAN VTEP devices. Possible values are true and false. The default value is true.

-use_gateway_as_dut

Specifies whether to configure gateway address as DUT address. Possible values are true and false. The default value is true.

-enable_udp_checksum

Specifies whether to enable UDP checksum. Possible values are true and false. The default value is false.

-round_robin_allocation

Specifies whether to configure the connected DUT IP allocation in round robin order. Possible values are true and false. The default value is false.

-connected_dut_ip_addr

Specifies the IP address of connected DUT. The default value is 192.85.1.1.

-udp_src_port

Specifies the UDP source port value. Possible values are range from 1 to 65535. The default value is 1025.

-udp_src_port_step

Specifies the step value by which to generate subsequent UDP source port values. Possible values are range from 0 to 32767. The default value is 1.

-same_vnis_across_ports

Specifies whether to use same VNIs across ports. Possible values are true and false. The default value is true.

-same_vnis_across_vteps

Specifies whether to use same VNIs across VTEPs. Possible values are true and false. The default value is true.

-seg_per_block

Specifies the VXLAN OVSDB segment value per block. Possible values are range from 1 to 65535. The default value is 1.

-vni

Specifies the first VNI value of VXLAN OVSDB segments. Possible values are range from 1 to 16777215. The default value is 1.

-vni_step

Specifies the step value by which to generate subsequent VNI values. Possible values are range from 0 to 100000. The default value is 1.

-vxlan_seg_per_vtep

Specifies the VXLAN segment value to configure per VTEP device. Possible values are range from 1 to 65535. The default value is 1.

-vlan_enable

Enables or disables VLAN. Possible values are true (enable) and false (disable). The default is false.

-vm_ip_addr

Specifies the IP address of VXLAN OVSDB VMs. The default value is 100.0.0.2.

-gw_ip_addr

Specifies the gateway IP address of VXLAN OVSDB VMs. The default value is 100.0.0.1.

-gw_addr_step_per_port

Specifies whether to use same controller IP parameters across ports. Possible values are true and false. The default value is true.

-gw_addr_step_per_seg

Specifies the step value by which to increment gateway IP address per segment. The default is 0.0.1.0.

-gw_addr_step_per_vtep

Specifies the step value by which to increment gateway IP address per VTEP. The default is 0.0.0.0.

-gw_ip_addr_step

Specifies the step value by which to generate subsequent gateway IP addresses. The default is 0.0.0.1.

-ip_addr_step

Specifies the step value by which to generate subsequent VM IP addresses. The default is 0.0.0.1.

-ip_addr_step_per_port

Specifies the step value by which to increment VM IP address per port. The default is 0.0.0.0.

-ip_addr_step_per_seg

Specifies the step value by which to increment VM IP address per segment. The default is 0.0.1.0.

-mac_addr

Specifies the first MAC address of the VXLAN OVSDB VM devices. The default is 00:00:10:01:00:00.

-mac_addr_step

Specifies the step value by which to generate subsequent VM MAC addresses. The default is 00:00:00:00:00:01.

-mac_addr_step_per_seg_block

Specifies the step value by which to generate subsequent VM MAC addresses per segment block. The default is 00:00:00:01:00:00.

-prefix_len

Specifies the prefix length on the provider subnet. Possible values range from 0 to 32. The default is 24.

-vms_per_seg

Specifies the number of VMs per segment. Possible values range from 1 to 65535. The default value is 1.

-vlan_id

Specifies the ID for the first VLAN in VXLAN OVSDB VM devices. Possible values range from 0 to 4095. The default is 1.

-vlan_id_step

Specifies the step value by which to generate subsequent VLAN IDs. Possible values range from 0 to 4095. The default is 1.

-vm_addr_mode

Specifies the address mode VXLAN OVSDB VM devices. Possible values are mac and ipv4. The default value is ipv4.

-delete_existing

Specifies whether to delete existing VXLAN OVSDB configurations when OVSDB topology parameters are applied. Possible values are yes and no. The default value is no.

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 OVSDB wizard configuration handle
vtep_handle
A list of handles, separated by port handles
vm_handle
A list of VM device handles under this VTEP device
host_handle
A list of host handles
vxlan_segment_handle
A list of VXLAN segment handles
status
Success (1) or failure (0) of the operation
log
An error message (if the operation failed)

Description

The sth::emulation_vxlan_ovsdb_wizard_config function configures or deletes a VXLAN OVSDB topology, mapping the operations of VXLAN OVSDB wizard on the Spirent TestCenter GUI.

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 OVSDB topology:

set vxlan_ovsdb_wizard_config [sth::emulation_vxlan_ovsdb_wizard_config \
          -mode                              create \
          -controller_port                    7777\
          -controller_port_step               1\
          -controller_ip_mode                 ip_list\
          -controller_ip_addr                 "5.5.5.5,56.6.6.6"\
          -controller_ip_addr_step            0.0.0.3\
          -same_config_across_ports           false\
          -auto_select_udp_src_port           false\
          -use_gateway_as_dut                 false\
          -enable_udp_checksum                true\
          -round_robin_allocation             true\
          -connected_dut_ip_addr              "4.5.6.7,8.9.10.11,12.13.141.5"\
          -vtep_count_per_vlan                1\
          -same_vnis_across_ports             false\
          -same_vnis_across_vteps             true\
          -seg_per_block                      1\
          -vni                                2345\
          -vni_step                           1\
          -vxlan_seg_per_vtep                 1\
          -vlan_enable                        false\
          -vm_ip_addr                         99.1.1.1\
          -gw_ip_addr                         99.2.2.2\
          -gw_addr_step_per_port              0.2.0.0\
          -gw_addr_step_per_seg               0.0.0.2\
          -gw_addr_step_per_vtep              0.0.2.0\
          -gw_ip_addr_step                    0.0.0.3\
          -ip_addr_step                       0.0.0.2\
          -ip_addr_step_per_port              0.4.0.0\
          -ip_addr_step_per_seg               0.0.4.0\
          -mac_addr                           00:20:20:01:00:02\
          -mac_addr_step                      00:00:00:00:00:02\
          -mac_addr_step_per_seg_block        00:30:10:01:00:00\
          -prefix_len                         27\
          -vms_per_seg                        1  \
          -vlan_id                            666\
          -vlan_id_step                       1\
          -vm_addr_mode                       mac\
          -delete_existing                    no \

]

Sample Output:

{vtep_handle emulateddevice1} {vm_handle emulateddevice2} {host_handle
{host_handle emulateddevice3} {vxlan_segment_handle vxlansegmentconfig1}
{handle vxlanovsdbconfiggenparams1} {status 1}

The following example deletes the created VXLAN OVSDB topology:

set VxDel [sth::emulation_vxlan_ovsdb_wizard_config\
                  -mode   delete\
                  -handle $VxWizard_Handle\
      ]

sth::emulation_vxlan_ovsdb_control

Purpose

Spirent Extension (for Spirent HLTAPI only).

Starts or stops the created VTEP devices

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_vxlan_ovsdb_control
        [-action {start | stop}  M]
        [-port_handle <port_handle>]
        [-handle <device handle>]

Arguments

-action

Specifies the action to perform. This argument is Mandatory .

Values:

start   Starts the VTEP device

stop    Stops the VTEP device
-port_handle

Specifies the port on which the action will be performed. You must specify either -port_handle or -handle, but not both.

-handle

Specifies the VTEP device handles 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 (1) or failure (0) of the operation
log
Error message if command returns {status 0}

Description

The sth::emulation_vxlan_ovsdb_control function controls the configured VTEP devices.

Examples

To start the specified VTEP device:

set status [::sth::emulation_vxlan_ovsdb_control\
              -port_handle "$port1 $port2" \
              -action start]

Sample Output:

{status 1}
To stop the specified VTEP device::
set status [::sth::emulation_vxlan_ovsdb_control
-port_handle “$port1 $port2” -action stop]

Sample Output:

{status 1}

sth::emulation_vxlan_ovsdb_stats

Purpose

Spirent Extension (for Spirent HLTAPI only).

Retrieves VTEP configuration results and OVSDB Server results for the VTEP devices configured on the specified test port.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_vxlan_ovsdb_stats
     [-port_handle <port_handle>]
     [-handle <device handle>]

Arguments

-port_handle

Specifies the port handles from which to retrieve the statistics. You must specify either port_handle or handle, but not both.

-handle

Specifies the VXLAN device handles 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 (1) or failure (0) of the operation
log
Error message if command returns {status 0}
state

The state of the VTEP device.

STOPPED Stopped and left multicasts groups

STARTED Joined multicast groups (if necessary) and sent out ARPs

learned_binding_count
Number of binding VM devices learned
load_profile_run_state
State of the load profile
resolved_vm_macs_count
Number of resolved VM MAC addresses
unresolved_vm_macs_count
Number of unresolved VM MAC addresses
ovsdb_write_count
Number of write count
ovsdb_read_count
Number of read count
ovsdb_state
State of the OVSDB server

Description

The sth::emulation_vxlan_ovsdb_stats function retrieves VTEP configuration results and OVSDB Server results for a specified VTEP device.

Examples

To get statistics from VTEP devices under the specified ports:

set results [sth::emulation_vxlan_ovsdb_stats\
       -port_handle    "$port1 $port2" ]

Sample Output:

{emulateddevice3 {{unresolved_vm_macs_count 0} {load_profile_run_state false}
{resolved_vm_macs_count 0} {learned_binding_count 0} {state STOPPED} {{ovsdb_write_count
0} {ovsdb_read_count 0} {ovsdb_state STOPPED}}}} {emulateddevice1 {{unresolved_vm_macs_count
0} {load_profile_run_state false} {resolved_vm_macs_count 0} {learned_binding_count 0}
{state STOPPED} {{ovsdb_write_count 0} {ovsdb_read_count 0} {ovsdb_state STOPPED}}}}
{status 1}

To get the statistics from the specified VTEP device:

set results [sth::emulation_vxlan_ovsdb_stats\
   -handle                $vtep1 \
   ]

Sample Output:

{emulateddevice1 {{unresolved_vm_macs_count 0} {load_profile_run_state false}
{resolved_vm_macs_count 0} {learned_binding_count 0} {state STOPPED} {{ovsdb_write_count
0} {ovsdb_read_count 0} {ovsdb_state STOPPED}}}} {status 1}