VXLAN OVSDB Functions¶
sth::emulation_vxlan_ovsdb_port_config¶
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¶
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¶
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}