IPv6 Autoconfiguration= Functions¶
emulation ipv6 autoconfig¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
The emulation_ipv6_autoconfig function creates, modifies, or resets IPv6 auto configuration hosts for the specified Spirent HLTAPI port or handle.
The IPv6 autoconfiguration process includes creating a linklocal address and verifying its uniqueness on a link, determining what information should be autoconfigured (addresses, other information, or both), and in the case of addresses, whether they should be obtained through the stateless mechanism, the stateful mechanism, or both. Spirent HLTAPI currently only supports stateless autoconfiguration .
The stateless approach is used when a site is not concerned with the exact addresses hosts use, as long as they are unique and properly routable. During the process, IPv6capable hosts rely on Router Advertisement (RA) messages to obtain the information needed for autoconfiguration. To acquire an IPv6 address, a host will follow three steps:
- Discover a prefix used on the link: The host can listen to periodic RAs sent by routers on the link or it can poll for routers with the help of Router Solicitation messages. The prefix information is extracted from the RA messages.
- Generate an interface ID. To have a complete IPv6 address, the host must add an interface identifier to a prefix learned from the routers on the link.
- Verify the uniqueness of the generated IPv6 address using the Duplicate Address Detection (DAD) mechanism.
For more information about stateless autoconfiguration, please refer to RFC 2462.
Synopsis:
Note: 1. M indicates the argument is `Mandatory`.
2. S indicates the argument is for `scaling` scenarios.
emulation ipv6 autoconfig
mode= {create|modify|reset|enable|disable|activate} M
port_handle= <port_handle>
handle= <handle>
ip_version= {6|4_6}
ipv6_enable_gateway_learning= {true|false}
encap= {ethernet_ii|ethernet_vlan}
count= <1-65536>
mac_addr= <aa:bb:cc:dd:ee:ff>
mac_addr_step= <aa:bb:cc:dd:ee:ff>
local_ip_addr= <a.b.c.d>
local_ip_addr_step= <a.b.c.d>
local_ip_prefix_len= <0-32>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
link_local_ipv6_prefix_len= <0-128>
link_local_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
local_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
local_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
local_ipv6_prefix_len= <0-128>
gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
gateway_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
dad_enable= {true|false }
dad_transmit_count= <1-255>
dad_retransmit_delay= <1000-4294967295>
router_solicit_retransmit_delay= <1000-4294967295>
router_solicit_retry= <0-4294967295>
enable_eui64_linklocal= {true|false }
vlan_id= <0-4095>
vlan_id_mode= {fixed|increment}
vlan_id_step= <0-4094>
vlan_id_repeat_count= <0-4294967295>
vlan_id_recycle_count= <0-4294967295>
vlan_cfi= {0|1}
vlan_priority= <0-7>
vlan_outer_id= <0-4095>
vlan_outer_id_mode= {fixed|increment}
vlan_outer_user_priority= <0-7>
vlan_id_outer_count= <1-4096>
vlan_id_outer_step= <0-4094>
vlan_outer_id_repeat_count= <0-4294967295>
vlan_outer_id_recycle_count= <0-4294967295>
vlan_outer_cfi= {0|1}
expand= {true|false} S
block_name_index= <0-4294967295>
mac_addr_step_per_port= <aa:bb:cc:dd:ee:ff>
mac_addr_step_per_vlan= <aa:bb:cc:dd:ee:ff>
intf_ipv6_prefix_len= <1-128>
ipv6_step_per_port= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_step_per_vlan= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_step_per_port= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_step_per_vlan= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
vlan_id_count= <1-4096>
vlan_outer_id_count= <1-4096>
vlan_id_repeatmode= <REPEAT_ACROSS_PORT | NO_REPEAT | REPEAT_ACROSS_LOWER_IF>
vlan_outer_id_repeatmode= <REPEAT_ACROSS_PORT | NO_REPEAT | REPEAT_ACROSS_LOWER_IF>
router_id_ipv6= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
router_id_ipv6_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
block_mode= {ONE_HOST_PER_BLOCK|ONE_DEVICE_PER_BLOCK|
ONE_NETWORK_PER_BLOCK|
MULTIPLE_NETWORKS_PER_BLOCK|
MULTIPLE_DEVICE_PER_BLOCK} S]
Arguments:
handle
Defines an IPv6 autoconfiguration handle to be returned from this
procedure. This argument is `Mandatory` for modes modify and reset.
port_handle
Specifies the port on which to create the IPv6 autoconfiguration
emulation. This argument is `Mandatory` for mode create.
mode
Specifies the action to be taken. Possible values are create,
modify and reset. This argument is `Mandatory`. Possible values
are described below::
create - Starts emulating IPv6 autoconfiguration on the specified
port
modify - Changes the configuration for the emulated IPv6
autoconfiguration hosts identified by the handle
argument. You must specify the handle argument.
reset - Deletes the emulated IPv6 autoconfiguration hosts. You
must specify the handle argument.
enable - Activates the existing IPv6 autoconfiguration hosts
specified by handle
disable - Deactivates the existing IPv6 autoconfiguration hosts
specified by handle
activate - Used for `scaling` scenarios.
1. Enables IPv6 autoconfiguration devices and configures
802.1x parameters for the devices created via
the ``emulation device config`` function.
This mode requires the value of param_handle
as the input to the handle option. Use this mode for
`scaling` scenarios. Refer to count and -expand options
under the ``emulation ipv6 autoconfig`` function for more
information. For this mode, only the following set of
options are valid::
dad_enable
enable_eui64_linklocal
dad_transmit_count
dad_retransmit_delay
router_solicit_retransmit_delay
router_solicit_retry
2. Creates devices and enables IPv6 autoconfiguration protocol.
Requires port_handle and -block_mode options.
For this mode, the following options are required/supported
along with the options specified above::
count
block_mode
block_name_index
device_name
vlan_id
vlan_outer_id
vlan_priority
vlan_id_count
vlan_id_repeatmode
vlan_outer_id_count
vlan_outer_user_priority
vlan_outer_id_repeatmode
router_id_ipv6
router_id_ipv6_step
mac_addr
mac_addr_step
link_local_ipv6_addr
link_local_ipv6_addr_step
intf_ipv6_addr
intf_ipv6_addr_step
intf_ipv6_prefix_len
link_local_ipv6_prefix_len
gateway_ipv6_addr
gateway_ipv6_addr_step
mac_addr_step_per_port
mac_addr_step_per_vlan
ipv6_step_per_vlan
ipv6_step_per_port
link_local_ipv6_step_per_port
link_local_ipv6_step_per_vlan
Note: Please refer to the emulation_device_config documentation.
ip_version
Defines the IP version to be used. Possible values are 6 for
IPv6 and 4_6 for dual stack. The default is 6.
ipv6_enable_gateway_learning
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables IPv6 learning for gateway IP addresses and MAC
addresses. Possible values are true (enable) and false (disable).
The default value is false.
encap
Specifies the type of Layer 2 encapsulation. Possible values are
described below::
ethernet_ii - Ethernet II
ethernet_vlan - Ethernet II with a single VLAN tag
ethernet_ii_qinq - Ethernet II with two VLAN tags. This option
supports Ethernet encapsulation.
The default value is ethernet_ii.
count
Specifies the number of devices to emulate. Possible values
range from 1 to 65536. The default value is 1.
mac_addr
Specifies the first MAC address to use when emulating IPv6 auto
configuration clients. Each client must have a unique source MAC
address. The value must be in MAC format. The default value is
00:10:94:00:00:01.
mac_addr_step
Specifies the increment used to generate additional MAC
addresses for IPv6 autoconfiguration hosts. The default value is
00:00:00:00:00:01.
local_ip_addr
Specifies the starting IPv4 address of the emulated devices. The
value must be in IPv4 format. The default value is 192.85.1.3.
This argument is only available when ip_version set to 4_6.
local_ip_addr_step
Specifies the increment used to generate IPv4 addresses for
multiple devices. The value must be in IPv4 format. The default
value is 0.0.0.1. This argument is only available when
ip_version set to 4_6.
local_ip_prefix_len
Specifies the IPv4 address prefix length. Possible values range
from 0 to 32. The default value is 24. This argument is only
available when ip_version set to 4_6.
gateway_ip_addr
Specifies the first IPv4 gateway address for the emulated
devices. The value must be in IPv4 format. The default value is
192.85.1.1. This argument is only available when ip_version set
to 4_6.
gateway_ip_addr_step
Specifies the increment used to generate IPv4 gateway addresses
for multiple devices. The value must be in IPv4 format. The
default value is 0.0.0.0. This argument is only available when
ip_version set to 4_6.
link_local_ipv6_addr
Specifies the starting link local IPv6 address for emulated
devices. The value must be in IPv6 format. The default is
FE80::1.
link_local_ipv6_addr_step
Specifies the difference between link local IPv6 addresses of
consecutive devices when multiple emulated devices are created.
The value must be in IPv6 format. The default is ::1.
link_local_ipv6_prefix_len
Specifies the prefix length for the link local IPv6 address of
the emulated device. Possible values range from 0 to 128. The
default is 64.
local_ipv6_addr
Specifies the starting address of the emulated IPv6 devices.
The value must be in IPv6 format. The default value is 2001::2.
local_ipv6_addr_step
Specifies the increment used to generate IPv6 gateway addresses
for multiple devices. The value must be in IPv6 format. The
default value is 0::1.
local_ipv6_prefix_len
Specifies the IPv6 address prefix length. Possible values range
from 0 to 128. The default value is 64.
gateway_ipv6_addr
Configures the first IPv6 gateway address for the emulated IPv6
devices. The value must be in IPv6 format. The default value is
::0.
gateway_ipv6_addr_step
Defines the increment used to generate IPv6 gateway addresses
for multiple devices. The value must be in IPv6 format. The
default value is ::.
dad_enable
Enables or disables detection of duplicate addresses. Possible
values are true (enable) and false (disable). The default value
is false.
enable_eui64_linklocal
Specifies to use an EUI-64 address constructed from source MAC
address or a user specified link local address. Possible values
are true (enable) and false (disable). The default value
is false.
dad_transmit_count
Specifies the number of consecutive neighbor solicitation
messages sent while performing duplicate address detection on a
tentative address. Possible values range from 1 to 255. The
default value is 1. This argument is available when dad_enable
is set to true.
dad_retransmit_delay
Specifies the delay, in msec, between consecutive neighbor
solicitation transmissions performed during duplicate address
detection. Possible values range from 1000 to 4294967295. The
default value is 1. This argument is available when dad_enable
is set to true.
router_solicit_retransmit_delay
Specifies the delay, in msec, between router solicitation
messages. Possible values range from 1000 to 4294967295. The
default value is 3000.
router_solicit_retry
Specifies the number of times to resend router solicitation
messages to the allrouters multicast group. If no valid router
advertisement is received within this period, the device returns
to the IDLE state and is considered an RA timeout failure.
Possible values range from 0 to 4294967295. The default value is 2.
vlan_id
The VLAN ID of the first VLAN subinterface. Possible values
range from 0 to 4095. The default value is 1.
vlan_id_mode
Specifies the VLAN ID assignment mode for configurations of
multiple devices when count is greater than 1. Possible values
are described below::
fixed - The VLAN ID (the value of the vlan_id argument)
is the same for all of the devices.
increment - Spirent HLTAPI assigns unique VLAN IDs.
When you use this mode, you must also specify
vlan_id_step to define the increment value.
vlan_id_step
The value that Spirent HLTAPI uses to increment the VLAN ID.
Possible values range from 0 to 4094. The default value is 1.
vlan_id_repeat_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of times to repeat the same IPv4 address before
incrementing it for the inner VLAN. The value must be an integer.
The default value is 0.
vlan_id_recycle_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of times to increment the IPv4 address before returning to
the starting value. The value must be an integer. The default
value is 0.
vlan_cfi
Sets the Canonical Format Indicator (CFI) field in VLAN for the
emulated router node. Possible values are 0 (Ethernet) and 1
(Token Ring). The default is 1. If set to 0, it indicates
the network is Ethernet. If set to 1, it indicates the network is
Token Ring and packets are dropped by Ethernet ports.
vlan_priority
VLAN priority for the VLANs on this port. 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_id_outer_step
Specifies the step value to increment the outer VLAN IDs.
Possible values range from 0 to 4095. The default value is 1.
This argument is available when encapsulation is set to
ethernet_ii_qinq.
vlan_id_outer_count
Defines the number of outer VLAN IDs to use when creating
IPv6 autoconfiguration devices. VLAN membership is assigned in
roundrobin fashion. The number of sessions must be divided
evenly into the outer VLAN count. Possible values range from 1 to
4096. The default value is 1. This argument is available when
encapsulation is set to ethernet_ii_qinq.
vlan_outer_id_repeat_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of times to repeat the same IPv4 address before
incrementing it for the outer VLAN. The value must be an integer.
The default value is 0.
vlan_outer_id_recycle_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of times to increment the IPv4 address before returning to
the starting value. The value must be an integer. The default
value is 0.
vlan_outer_cfi
Specifies the Canonical Format Indicator (CFI) value for the VLAN
outer header. Possible values are 0 and 1. The default value is
0. This argument is available when encapsulation is set to
ethernet_ii_qinq.
vlan_outer_user_priority
Specifies the VLAN priority to assign to the outer VLAN header.
Possible values range from 0 to 7. The default value is 0. This
argument is available when encapsulation is set to
ethernet_ii_qinq.
vlan_outer_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent HLTAPI assigns VLAN tags to packets in
the specified outer header when router count is greater than 1.
Possible values are::
fixed - The outer VLAN ID is the same for all packets.
The fixed outer VLAN ID is the value of the
vlan_outer_id argument.
increment - For all packets, the outer VLAN tag ID
increments by the step specified in the
vlan_outer_id_step argument.
This argument is available when encapsulation is set to
ethernet_ii_qinq.
expand
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to expand the specified device parameters into
emulated device objects. Possible values are true and false.
If it is set to true, a list of emulated devices will be created
and their handles returned. If it is set to false, param_handle
will be returned, which can be passed to protocol configuration
APIs, for example, mode activate in emulation isis config.
This argument is available for mode create.
block_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the device block mode. Emulated device objects may be
used to represent a single device or a block of many devices for
higher scalability. Emulated device blocks are not supported by
all protocols (for example, routing protocols) and have less
granularity of control at the protocol level and in traffic
configuration. Possible values are described below::
one_device_per_block One emulated device block is created
for each device
one_network_per_block One emulated device block is created
for each network
multiple_networks_per_block One emulated device block may represent
multiple networks. Note that there
are limitations to what can be
represented as a single emulated
device block using this mode .
multiple_device_per_block Multiple devices per block
This argument is available for mode create.
block_name_index
Specifies start value of index for device name.
Dependency: block_mode.
mac_addr_step_per_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment source MAC
addresses for the device block per port
Dependency: block_mode or -expand
Values: MAC
mac_addr_step_per_vlan
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment source MAC
addresses for the device block per VLAN
Dependency: block_mode or -expand
Values: MAC
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.
ipv6_step_per_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment IPv6 addresses for
the device block per port
Dependency: block_mode or -expand
Values: IPv6
ipv6_step_per_vlan
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment IPv6 addresses for
the device block per VLAN
Dependency: block_mode or -expand
Values: IPv6
link_local_ipv6_step_per_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment link local IPv6
addresses for the device block per port
Dependency: block_mode or -expand
Values: IPv6
link_local_ipv6_step_per_vlan
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to increment link local IPv6
addresses for the device block per VLAN
Dependency: block_mode or -expand
Values: IPv6
vlan_id_count
Specifies the number of VLAN IDs to use when generating 802.1x
devices. Possible values range from 1 to 4096. The default value
is 1
vlan_outer_id_count
Specifies the number of outer VLAN IDs to use when generating
802.1x devices. Possible values range from 1 to 4096. The default
value is 1.
vlan_id_repeatmode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the repeat mode for the inner VLAN.
The default value is REPEAT_ACROSS_PORT.
NO_REPEAT VLAN IDs are not repeated.
REPEAT_ACROSS_PORT VLAN IDs are repeated from the starting VLAN ID on all ports.
REPEAT_ACROSS_LOWER_IF VLAN IDs are repeated from the starting VLAN ID
when the next lower level interface (or port) changes.
vlan_outer_id_repeatmode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the repeat mode for the outer VLAN.
The default value is REPEAT_ACROSS_PORT.
NO_REPEAT VLAN IDs are not repeated.
REPEAT_ACROSS_PORT VLAN IDs are repeated from the starting VLAN ID on all ports.
REPEAT_ACROSS_LOWER_IF VLAN IDs are repeated from the starting VLAN ID
when the next lower level interface (or port) changes.
router_id_ipv6
Specifies the IPv6 router ID of the emulated device. The value
must be in IPv6 format.
router_id_ipv6_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the difference between consecutive IPv6 router IDs when
multiple routers are created. The value must be in IPv6 format.
The default value is 0000::1.
intf_ipv6_addr
Specifies the IPv6 address of the emulated device.
intf_ipv6_addr_step
Specifies the difference between interface IPv6 addresses of
consecutive devices when multiple emulated devices are created.
Arguments Unsupported by Save as HLTAPI:
None
- 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):
handles A list of handles that identify the IPv6 emulation created by the ``emulation ipv6 autoconfig`` function handle_list The emulated device handles list with enabled IPv6 configurations is created when expand is set true. port_handle The port handle on which IPv6 devices are configured status $SUCCESS or $FAILURE log An error message (if the operation failed)
- Description:
The
emulation ipv6 autoconfig
function creates, modifies or deletes the IPv6 autoconfiguration emulation. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.) When you create IPv6 devices, you must use the port_handle argument to specify the Spirent HLTAPI port that the emulated IPv6 devices will use for IPv6 Autoconfiguration. (The port handle value is contained in the keyed list returned by theconnect
function.) In addition to specifying the port_handle, you can provide one or more of the following arguments when you create IPv6 supplicants or use their default values:count (the number of IPv6 supplicants to emulate) ip_version (IP version, IPv6 or dual stack) dad_enable (Enables or disables detection of duplicate addresses.) dad_transmit_count (The number of consecutive Neighbor Solicitation messages sent while performing duplicate address detection on a tentative address.) dad_retransmit_delay (The delay, in msec, between consecutive Neighbor Solicitation transmissions performed during duplicate address detection.) router_solcit_retransmit_delay (The delay, in msec, between router solicitation messages) router_solicit_retry (The number of times to resend router solicitation to the allrouters multicast group.)
In the modify mode, you can change the configuration of the created IPv6 devices except for these arguments: port_handle, -encap, ip_version and -count. In the reset mode, you can remove the created device. If a creation, configuration, or deletion fails, Spirent HLTAPI returns an error message. For example, if the user tries to modify a nonexisting session handle, an error message will be returned.
Examples:
#mode= create, IPv6 autoconfiguration with IPv6 Stack:
set returnedString [ emulation ipv6 autoconfig mode= create port_handle= $hltHostPort count= 1 local_ipv6_addr= 2001::2 local_ipv6_addr_step= 0000::1 local_ipv6_prefix_len= 64 link_local_ipv6_prefix_len= 64 link_local_ipv6_addr_step= ::1 link_local_ipv6_addr= fe80::3 gateway_ipv6_addr= 2001:1213::205:9AFF:FEAD:7090 gateway_ipv6_addr_step= 0000::1 dad_enable= true dad_transmit_count= 3 dad_retransmit_delay= 2000 router_solicit_retransmit_delay= 4000 router_solicit_retry= 4]Sample Output:
{port_handle port1} {handle host1} {status 1}# mode= modify, IPv6 autoconfiguration with IPv6 Stack:
set returnedString [ emulation ipv6 autoconfig mode= modify handle= $ipv6Handle dad_enable= true dad_transmit_count= 4 dad_retransmit_delay= 1000 router_solicit_retransmit_delay= 3000 router_solicit_retry= 5]Sample Output:
{handle host1} {status 1}# mode= create, IPv6 autoconfiguration with dual stack:
set returnedString [ emulation ipv6 autoconfig mode= create port_handle= $hltHostPort ip_version= 4_6 count= 5 local_ip_addr= 10.10.10.10 local_ip_addr_step= 0.0.0.1 local_ip_prefix_len= 24 link_local_ipv6_prefix_len= 64 link_local_ipv6_addr_step= ::1 link_local_ipv6_addr= fe80::3 \ gateway_ip_addr= 192.86.1.1 gateway_ip_addr_step= 0.0.0.1 local_ipv6_addr= 2001::2 local_ipv6_addr_step= 0000::1 local_ipv6_prefix_len= 64 gateway_ipv6_addr= 2001:1213::205:9AFF:FEAD:7090 gateway_ipv6_addr_step= 0000::1 dad_enable= true dad_transmit_count= 3 dad_retransmit_delay= 2000 router_solicit_retransmit_delay= 4000 router_solicit_retry= 4]Sample Output:
{port_handle port1} {handle {host1 host2 host3 host4 host5}} {status 1}# mode= enable:
set ret1 [emulation ipv6 autoconfig mode= enable handle= $ipv6_auto_config_device ]Sample Output:
{status 1} {handle host1}# mode activate, IPv6 autoconfiguration with expand= true:
set ipv6auto_config1 [emulation ipv6 autoconfig mode= activate ip_version= 6 encap= ethernet_ii port_handle= $port1 local_ipv6_prefix_len= 64 ipv6_enable_gateway_learning= false gateway_ipv6_addr_step= :: gateway_ipv6_addr= 3001::1 intf_ipv6_addr= 3001::2 intf_ipv6_addr_step= ::1 link_local_ipv6_prefix_len= 64 link_local_ipv6_addr_step= ::1 link_local_ipv6_addr= fe80::1 count= 10 mac_addr= 00:10:95:00:00:01 mac_addr_step= 00:00:00:00:00:01 dad_enable= true enable_eui64_linklocal= true dad_transmit_count= 3 dad_retransmit_delay= 1201 router_solicit_retransmit_delay= 3201 vlan_id= 100 vlan_id_count= 1 vlan_outer_id= 200 vlan_outer_id_count= 1 router_solicit_retry= 3 block_mode= ONE_DEVICE_PER_BLOCK block_name_index= 10 expand= true ]Sample Output:
{param_handle emulateddevicegenparams1} {status 1} {handle {}} {handle_list {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8 emulateddevice9 emulateddevice10}} {handles {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8 emulateddevice9 emulateddevice10}}
emulation ipv6 autoconfig control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts or stops IPv6 autoconfiguration on the specified port.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ipv6 autoconfig control
action= {start|stop} M
port_handle= <port_handle_list>
handle= <handle_list>
Arguments:
action
Specifies the action(s) to be performed on the on the port
specified by port_handle. This argument is `Mandatory`.
Possible values are described below::
start - Start IPv6 autoconfiguration
stop - Stop IPv6 autoconfiguration
port_handle
Specifies a list of ports on which to perform the action
handle
Specifies a list of devices on which to perform the action
- 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 An error message (if the operation failed).
- Description:
- The
emulation ipv6 autoconfig control
function controls the starting and stopping of IPv6 devices.
Examples:
The following example starts the configured IPv6 autoconfiguration:
set returnedString [ emulation ipv6 autoconfig control port_handle= $portHandle action= start]The following example stops the IPv6 autoconfiguration:
set returnedString [ emulation ipv6 autoconfig control port_handle= $portHandleSample Output:
{status 1}
emulation ipv6 autoconfig stats¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns statistics about the IPv6 autoconfiguration on the specified port. Statistics include the bound status and number and type of messages sent and received from the specified port.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ipv6 autoconfig stats
action= {clear|collect}
handle= <handle>
port_handle= <port_handle>
mode= {aggregate|session}
Arguments:
action
Specifies the action to be taken. Possible values are:
collect
Retrieves the statistics from the specified port or
IPv6 device
clear
Removes the statistics from the specified port or
IPv6 device
The default value is collect.
handle
Specifies the handle of the device on which to retrieve
statistics. If no handle is specified, then the statistics
for all devices configured on the port will be returned. You
must specify handle or -port_handle, but not both.
port_handle
Specifies the port on which to retrieve statistics
mode
Specifies the kind of information you want to see. Possible
values are described below: :
aggregate
Returns statistics for the specified port
session
If handle is specified, returns statistics for the
specified IPv6 device. If handle is not specified,
then statistics for all IPv6 devices are returned.
The default value is session.
- 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 An error message (if the operation failed).
The following port aggregated statistics when you specify mode to aggregate:
current_bound Number of addresses currently bound to interfaces current_idle Number of addresses currently not bound to any interfaces rx_nbr_adv Number of neighbor advertisement messages received rx_rtr_adv Number of router advertisement messages received state State of an IPv6 autoconfiguration session success_percent Percent of interfaces successfully bound with an address total_attempt Number of attempts to bind addresses to interfaces total_bound Total number of addresses bound to interfaces total_dad_failures Total number of duplicate address detection failures total_failed Number of failures to bind an address to an interface total_ra_timeout_failur Total number of router advertisements that timed out tx_nbr_sol Number of neighbor solicitation messages sent tx_rtr_sol Number of router solicitation messages sent
The following port aggregated statistics when you specify mode to session:
binding_state State of the current binding attempts current_attempt Number of interfaces attempting to bind to an address current_bound Number of interfaces currently bound to an address current_idle Number of interfaces not currently attempting to bind to an address state State of an IPv6 autoconfiguration session total_attempt Total number of attempts to bind addresses for all interfaces total_bound Total number of interfaces bound to an address total_dad_failures Number of duplicate address detection failures total_failed Total number of interfaces that failed to bind to an address total_ra_timeout_failure Number of router advertisements that timed out
- Description:
- The
emulation ipv6 autoconfig stats
function retrieves a list of aggregate statistics for the IPv6 devices configured on a specified port, or session statistics for a specified IPv6 device.
Examples:
The following example returns aggregate statistics:
set returnedString [ emulation ipv6 autoconfig stats port_handle= $hltSourcePort mode= aggregate]Sample Output:
{port1 {{state BOUND} {tx_nbr_sol 6} {current_bound 1} {total_attempt 1} {rx_nbr_adv 0} {tx_rtr_sol 1} {current_idle 0} {total_failed 0} {success_percent 100} {rx_rtr_adv 1} {total_bound 1} {total_dad_failures 0} {total_ra_timeout_failures 0}}} {status 1}The following example returns session statistics:
set returnedString [ emulation ipv6 autoconfig stats port_handle= $hltSourcePort mode= session]Sample Output:
{state BOUND} {current_bound 1} {total_attempt 1} {current_idle 0} {total_failed custom_llc 0} {current_attempt 0} {binding_state SUCCESS} {total_bound 1} {total_dad_failures 0} {total_ra_timeout_failures 0} {status 1}If mode is not specified then it returns both aggregate as well as session results:
{port1 {{state BOUND} {tx_nbr_sol 6} {current_bound 1} {total_attempt 1} {rx_nbr_adv 0} {tx_rtr_sol 1} {current_idle 0} {total_failed 0} {success_percent 100} {rx_rtr_adv 1} {total_bound 1} {total_dad_failures 0} {total_ra_timeout_failures 0}}} {state BOUND} {current_bound 1} {total_attempt 1} {current_idle 0} {total_failed 0} {current_attempt 0} {binding_state SUCCESS} {total_bound 1} {total_dad_failures 0} {total_ra_timeout_failures 0} {status 1}End of Procedure Header