DHCP Server Functions¶
emulation dhcp server config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Creates, modifies, or resets an emulated Dynamic Host Configuration Protocol (DHCP) server or Dynamic Host Configuration Protocol for IPv6 or Prefix delegation (DHCPv6/PD) server for the specified Spirent HLTAPI port or handle.
A DHCP or DHCPv6/PD server is an Internet host that returns configuration parameters to DHCP or DHCPv6/PD clients respectively. DHCP or DHCPv6/PD servers can dynamically assign an IP address and deliver configuration parameters to a DHCP or DHCPv6/PD client on a TCP/IP network. DHCP allows the reuse of an address that is no longer needed by the client to which it was assigned.
Synopsis:
Note: 1. M indicates the argument is `Mandatory`.
2. S indicates the argument is for `scaling` scenarios.
emulation dhcp server config
mode= {create|enable|modify|activate|reset} M
port_handle= <port_handle>
handle= <dhcp_server_handle>|<device_handle>
count= <1-100000>
encapsulation= {ETHERNET_II | ETHERNET_II_VLAN | ETHERNET_II_QINQ |
ATM_LLC_SNAP_ETHERNET_II | ATM_VC_MUX_ETHERNET_II}
ip_version= {4|6}
mac_addr_step= <aa:bb:cc:dd:ee:ff>
rebinding_time_percent= <1-200>
renewal_time_percent= <0-200>
vlan_id= <0-4095>
vlan_cfi= {0|1}>
vlan_id_count= <1-4096>
vlan_id_mode= {fixed|increment}
vlan_id_step= <0-4095>
vlan_user_priority= <0-7>
vlan_outer_id= <0-4095>
vlan_outer_cfi= {0|1}>
vlan_outer_id_count= <1-4096>
vlan_outer_id_mode= {fixed|increment}
vlan_outer_id_step= <0-4095>
vlan_outer_user_priority= <0-7>
vlan_id_outer= <0-4095>
vlan_id_outer_step= <1-4096>
vlan_id_outer_count= {fixed|increment}
vlan_id_outer_mode= <0-4095>
assign_strategy= {gateway | circuit_id | remote_id | link_selection |
vpn_id | pool_by_pool | interface_id}]
circuit_id= <circuit_id_list>
circuit_id_count= <1-4294967295>
decline_reserve_time= <1-600>
dhcp_ack_options= {0|1}
dhcp_ack_time_offset= <8 HEX chars>
dhcp_ack_router_address= <a.b.c.d>
dhcp_ack_time_server_address= <a.b.c.d>
dhcp_ack_circuit_id= <8 HEX chars>
dhcp_ack_remote_id= <8 HEX chars>
dhcp_offer_options= {0|1}
dhcp_offer_time_offset= <integer>
dhcp_offer_router_address= <a.b.c.d>
dhcp_offer_time_server_address= <a.b.c.d>
dhcp_offer_circuit_id= <8 HEX chars>
domain_name= <ALPHANUM>
domain_name_server_list= <server_name_list>
dhcp_offer_remote_id= <8 HEX chars>
enable_custom_pool= {true|false}
enable_overlap_addr= {true|false}
host_name= <host_name>
host_addr_prefix_length= <0-32>
ip_address= <a.b.c.d>
ip_step= <a.b.c.d>
ip_prefix_step= <integer>
ip_prefix_length= <0-32>
ip_repeat= <integer>
ip_gateway= <a.b.c.d>
lease_time= <10-4294967295>
ipaddress_pool= <a.b.c.d>
ipaddress_count= <integer>
ipaddress_increment= <integer>
min_allowed_lease_time= <1-4294967295>
offer_reserve_time= <1-600>
local_mac= <aa:bb:cc:dd:ee:ff>
remote_mac= <aa.bb.cc.dd.ee.ff>
router_list= <ip_list>
remote_id= <remote_id_list>
remote_id_count= <1-20>
vci= <0-65535>
vci_count= <1-65536>
vci_step= <0-65535>
vpi= <0-255>
vpi_count= <1-256>
vpi_step= <0-255>
vpn_id= <circuit_id_list >
vpn_id_count= <1-4294967295>
vpn_id_type= {nvt_ascii|rfc_2685}
addr_pool_step_per_server= <numeric>
addr_pool_host_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
addr_pool_addresses_per_server= <numeric>
addr_pool_prefix_length= <0-128>
addr_pool_start_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_addr_pool_preferred_lifetime= <numeric>
add_addr_pool_valid_lifetime= <numeric>
add_addr_pool_remote_id= <ANY>
add_addr_pool_remote_id_count= <1-20>
add_addr_pool_remote_id_enterprise= <numeric>
add_addr_pool_min_iaid= <numeric>
add_addr_pool_max_iaid= <numeric>
add_addr_pool_interface_id= <ANY>
add_addr_pool_interface_id_count= <1-20>
addr_pool_custom_enable_wildcards= {true|false}
addr_pool_custom_string_as_hex_value= {true|false}
addr_pool_custom_include_in_message= {ADVERTISE| REPLY|RECONFIGURE|RELAY_REPL}
addr_pool_custom_option_value= <0-255>
addr_pool_custom_option_payload= <ALPHANUMERIC>
add_addr_pool_step_per_server= <numeric>
add_addr_pool_host_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_addr_pool_addresses_per_server= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_addr_pool_prefix_length= <0-128>
add_addr_pool_start_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_prefix_pool_step_per_server= <numeric>
add_prefix_pool_per_server= <numeric>
add_prefix_pool_prefix_length= <0-128>
add_prefix_pool_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_prefix_pool_start_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
add_prefix_pool_valid_lifetime= <numeric>
add_prefix_pool_remote_id_enterprise= <numeric>
add_prefix_pool_remote_id_count= <1-20>
add_prefix_pool_remote_id= <ANY>
add_prefix_pool_preferred_lifetime= <numeric>
add_prefix_pool_interface_id= <ANY>
add_prefix_pool_interface_id_count= <1-20>
add_prefix_pool_min_iaid= <numeric>
add_prefix_pool_max_iaid= <numeric>
dhcp6_delayed_auth_key_id= <0-4294967295>
dhcp6_delayed_auth_key_value= <ALPHANUMERIC>
dhcp_realm= <ANY>
gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
gateway_ipv6_addr_step= <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>
server_emulation_mode= {DHCPV6|DHCPV6_PD}
enable_delayed_auth= {true|false}
enable_reconfigure_key= {true|false}
preferred_lifetime= <numeric>
reconfigure_key= <ALPHANUMERIC>
reconfigure_key_value_type= {ASCII| HEX}
valid_lifetime= <numeric>
prefix_pool_step_per_server= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
prefix_pool_per_server= <numeric>
prefix_pool_prefix_length= <0-128>
prefix_pool_step= <numeric>
prefix_pool_start_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
prefix_pool_custom_enable_wildcards= {true|false}
prefix_pool_custom_string_as_hex_value= {true|false}
prefix_pool_custom_include_in_message= {ADVERTISE| REPLY|RECONFIGURE|RELAY_REPL}
prefix_pool_custom_option_value= <0-255>
prefix_pool_custom_option_payload= <ALPHANUMERIC>
server_custom_enable_wildcards= {true|false}
server_custom_string_as_hex_value= {true|false}
server_custom_include_in_message= {ADVERTISE| REPLY|RECONFIGURE|RELAY_REPL}
server_custom_option_value= <0-255>
server_custom_option_payload= <ALPHANUMERIC>
pvc_incr_mode= {vci|vpi|both}
qinq_incr_mode= {inner|outer|both}
tos_value= <NUMERIC|HEX>
expand= {true|false} S
prefix_pool_start= <IPV6>
addr_pool_start= <IPV6>
prefix_pool_length= <1-128>
ipv6_addr_pool_host_step= <IPV6>
addr_pool_count= <1-32768>
prefix_pool_count= <1-32768>
addr_pool_length= <1-128>
ipv6_prefix_pool_step= <IPV6>
addr_pool_step= <IPV6>
Arguments:
Arguments Common for DHCPv4 and DHCPv6
port_handle
Specifies the port on which to create the DHCP or DHCPv6/PD
server when mode is set to "create". This argument is `Mandatory`
only for "create" mode.
mode
Specifies the action to perform on the specified port or
DHCP or DHCPv6/PD server handle. The modes are described below::
create - Creates a DHCP or DHCPv6/PD server on the port
specified with the port_handle argument. You must
specify the port_handle argument.
enable- Creates a DHCP or DHCPv6/PD server on the device
specified with the handle argument. You must specify the
handle argument.
modify - Changes the configuration for the DHCP or DHCPv6/PD
server identified by the handle argument. You must specify
the handle argument.
activate - Used for `scaling` scenarios.
1. Enables DHCPv4/DHCPv6 server devices and configures DHCPv4/DHCPv6
server 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 dhcp group config`` function for more
information. For this mode, only the following set of
options are valid::
For DHCPv6/PD::
ip_version
remote_id
interface_id
prefix_pool_start
remote_id_enterprise
addr_pool_start
valid_lifetime
interface_id_count
server_emulation_mode
renewal_time_percent
prefix_pool_length
ipv6_addr_pool_host_step
addr_pool_count
remote_id_count
rebinding_time_percent
preferred_lifetime
prefix_pool_count
addr_pool_length
ipv6_prefix_pool_step
addr_pool_step
2. Creates devices and enables DHCPv4/DHCPv6 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
name
vlan_id
vlan_outer_id
vlan_user_pri
vlan_id_count
vlan_id_repeatmode
vlan_outer_id_count
vlan_outer_user_pri
vlan_outer_id_repeatmode
router_id
router_id_step
router_id_ipv6
router_id_ipv6_step
intf_ip_addr
intf_ip_addr_step
intf_prefix_len
gateway_ip_addr
gateway_ip_addr_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
ip_step_per_port
ip_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.
reset - Deletes the DHCP or DHCPv6/PD server identified by the handle
argument. You must specify the handle argument.
Note: For mode enable, the following options will be obsoleted
when ip_version is not 6::
local_mac
remote_mac
vlan_id
vlan_id_mode
vlan_id_step
vlan_id_count
vlan_user_priority
vlan_ethertype
ip_address
ip_step
ip_prefix_step
ip_prefix_length
ip_repeat
ip_gateway
ipv6_gateway
vlan_outer_id
vlan_outer_id_mode
vlan_outer_id_step
vlan_outer_id_count
vlan_outer_user_priority
vlan_outer_ethertype
qinq_incr_mode
vci
vci_step
vci_count
vpi
vpi_step
vpi_count
pvc_incr_mode
handle
Specifies the DHCP or DHCPv6/PD server handle when mode is set
to modify or reset, or specifies the device handle when mode is
set to enable. This argument is `Mandatory` for modes enable,
modify and reset. See mode.
count
Specifies the number of emulated DHCP or DHCPv6/PD server
devices. Possible values range from 1 to 100000. The default
value is 1.
encapsulation
Specifies the type of Layer 2 encapsulation. Possible values are::
ETHERNET_II - Specifies the Layer 2 encapsulation to be
Ethernet II frame. This option is available for
Ethernet cards.
If you specify vlan_* parameters, Ethernet II with
a single VLAN tag will be enabled.
If you specify both vlan_* and vlan_outer_*
parameters, Ethernet II with two VLAN tags will
be enabled.
ETHERNET_II_VLAN - Ethernet II with a single VLAN tag
ETHERNET_II_QINQ - Ethernet II with two VLAN tags.
ATM_LLC_SNAP_ETHERNET_II - Specifies the Layer 2
encapsulation to Ethernet over VC Multiplexed ATM
which will encapsulate the Ethernet packets inside
AAL5 LLC_SNAP frames. This option is available
for ATM cards.
ATM_VC_MUX_ETHERNET_II - Specifies the Layer 2
encapsulation to Ethernet over LLC Encapsulated
ATM which will encapsulate the Ethernet packets
inside AAL5 VC_MUX frames. This option is
available for ATM cards.
Note: 1. ATM_LLC_SNAP_ETHERNET_II and ATM_VC_MUX_ETHERNET_II are
not available for DHCPv6.
2. These values are not case sensitive. User can specify either
upper or lower case.
Example: ETHERNET_II or ethernet_ii
mac_addr_step
Specifies the increment to generate additional MAC addresses for
DHCP clients. The value must be in MAC format. The default value
is 00:00:00:00:00:01.
ip_version
`Spirent Extension (for Spirent HLTAPI only).`
Defines the IP version to be used. Possible values are 4 and
6. The default is 4.
rebinding_time_percent
`Spirent Extension (for Spirent HLTAPI only).`
Specifies rebinding lease time (T2) as a percentage of Lease Time.
Possible values range from 0.0 to 200.0. The default is 87.5 for
DHCPv4, 80 for DHCPv6.
renewal_time_percent
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the percent of the lease time at which the client
should begin the renewal process (T1). Possible values range from
0 to 200. The default value is 50.
vlan_id
Specifies the VLAN ID of the VLAN interface. Possible values
range from 0 to 4095. You can specify this argument when
encapsulation is set to ETHERNET_II, ETHERNET_II_VLAN,
ATM_LLC_SNAP_ETHERNET_II or ATM_VC_MUX_ETHERNET_II.
vlan_cfi
`Spirent Extension (for Spirent HLTAPI only).`
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 value is 1.
vlan_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of VLAN IDs to use when generating
multiple VLANs. Possible values range from 1 to
4096. The default value is 1.
vlan_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent TestCenter assigns VLAN tags when the
router count is greater than 1. Possible values are::
fixed - The same VLAN ID is the same for all packets.
The fixed VLAN ID is the value of the vlan_id
argument.
increment - For all packets, the VLAN tag ID increments by the
step size specified in the vlan_id_step argument.
The default is increment.
vlan_id_step
`Spirent Extension (for Spirent HLTAPI only).`
The step size by which the VLAN value is incremented when
you set vlan_id_mode to "increment". Possible values range
from 0 to 4095. You must specify the step size when
vlan_id_count is greater than 1. The default is 1.
vlan_user_priority
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VLAN priority for the inner VLAN.
Possible values range from 0 to 7. The default value is 0.
vlan_outer_id
`Spirent Extension (for Spirent HLTAPI only).`
The outer VLAN ID of VLAN subinterface. Possible values
range from 0 to 4095. The default is 1. When you use
vlan_outer_id, you must specify vlan_id. You can specify this
argument when encapsulation is set to ETHERNET_II,
ETHERNET_II_QINQ, ATM_LLC_SNAP_ETHERNET_II or
ATM_VC_MUX_ETHERNET_II. You can specify this argument only
when ip_version is set to 4.
vlan_outer_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of outer VLAN IDs to use when generating
multiple outer VLANs. Possible values range from 1 to 4096.
The default is 1. You can specify this argument only
when ip_version is set to 4.
vlan_outer_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent TestCenter assigns VLAN tags to
packets in the specified outer header when the router count
is greater than 1. You can specify this argument only
when ip_version is set to 4. 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.
vlan_outer_cfi
`Spirent Extension (for Spirent HLTAPI only).`
Sets the CFI field in the outer VLAN tag for the emulated device.
Possible values are 0 (Ethernet) and 1 (Token Ring). The default
value is 1.
vlan_outer_id_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which to increment the specified outer VLAN ID
(vlan_outer_id) for subsequent packets. Possible values
range from 1 to 4094. You must specify this step when
you specify increment for the vlan_outer_id_mode argument.
You can specify this argument only when ip_version is set to 4.
vlan_outer_user_priority
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VLAN priority to assign to the outer header.
Possible values range from 0 to 7. The default is 0.
vlan_id_outer
`Spirent Extension (for Spirent HLTAPI only).`
The outer VLAN ID of VLAN subinterface. Possible values
range from 0 to 4095. The default is 1. When you use
vlan_id_outer, you must specify vlan_id. You can specify this
argument when encapsulation is set to ETHERNET_II,
ETHERNET_II_QINQ, ATM_LLC_SNAP_ETHERNET_II or
ATM_VC_MUX_ETHERNET_II. You can specify this argument only
when ip_version is set to 6.
vlan_id_outer_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of outer VLAN IDs to use when generating
multiple outer VLANs. Possible values range from 1 to 4096.
The default is 1. You can specify this argument only
when ip_version is set to 6.
vlan_id_outer_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent TestCenter assigns VLAN tags to
packets in the specified outer header when the router count
is greater than 1. You can specify this argument only
when ip_version is set to 6. 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_id_outer argument.
increment - For all packets, the outer VLAN tag ID
increments by the step specified in the
vlan_id_outer_step argument.
vlan_id_outer_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which to increment the specified outer VLAN ID
(vlan_id_outer) for subsequent packets. Possible values
range from 1 to 4094. You must specify this step when
you specify increment for the vlan_id_outer_mode argument.
You can specify this argument only when ip_version is set to 6.
DHCPv4 Specific Arguments
assign_strategy
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the strategy with which the server chooses address
pools to assign addresses.
Possible values are described below::
gateway Assign addresses from those pools that
have the same network as the IP address
circuit_id Assign addresses from those pools that
match the relay agent circuit ID option received
remote_id Assign addresses from those pools that match the
relay agent remote ID option received
link_selection Assign addresses from those pools that match the
relay agent link selection option received
vpn_id Assign addresses from those pools that match the
relay agent virtual subnet selection option received
pool_by_pool Assign indiscriminate addresses from the default
pool
interface_id Assign address from those pools that match the relay
agent interface ID option received. This option is
available only for DHCPV6 devices.
Use | to combine multiple values if you want to specify more than
one strategy.
Note: Specifying pool_by_pool will disable all other options.
circuit_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent circuit IDs to generate, so
the pool can assign addresses for those DHCP clients that match
any circuit ID in the list. This argument is available
when assign_strategy is set to circuit_id.
circuit_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of circuit IDs to generate. This
argument is available when assign_strategy is set to circuit_id.
Possible values range from 1 to 4294967295. The default value is 1.
decline_reserve_time
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the time to reserve a lease after a Decline message is
received, in seconds. Possible values range from 1 to 600. The
default value is 10.
domain_name
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the domain name for the server (option 15)
domain_name_server_list
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of domain name servers (option 6)
enable_custom_pool
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables DHCP server custom pool. Possible values are
true (enable) and false (disable). If the value is true,
host_addr_prefix_length is available. The default value is false.
enable_overlap_addr
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables address reuse. Possible values are true (enable)
and false (disable). The default value is false.
host_addr_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the host address prefix length for the custom pool. Possible
values range from 0 to 32. The default value is 24. You must set
enable_custom_pool to true.
host_name
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the server host name
ip_address
Specifies the first IPv4 address of the emulated DHCP
server. The default value is 192.85.1.3.
ip_step
Specifies the step value for IPv4 addresses. The default
increment is 0.0.0.1. You can use ip_prefix_step and
ip_prefix_length to replace ip_step argument. If the
three arguments are specified, ip_step must be equivalent
with the step value figured out by ip_prefix_step and
ip_prefix_length.
ip_prefix_step
Specifies the size of the step applied to the prefix length
bit position. You can use it with ip_prefix_length to
increase the IPv4 address when you are not also using
ip_step. You must set ip_prefix_length if you use
ip_prefix_step.
ip_prefix_length
Specifies the IPv4 address prefix length. The prefix length
is the bit position at which the ip_prefix_step is applied.
This argument is `Mandatory` when you use ip_prefix_step.
Possible values range from 0 to 32. The default value is 24.
ip_repeat
Specifies the number of times to repeat the same IPv4
address before incrementing. The default value is 1.
ip_gateway
Specifies the IPv4 gateway address of the emulated DHCP
server. The default value is 192.85.1.1.
lease_time
Specifies a finite time period, in seconds, to use the
IP address offered by the DHCP server. The actual lease
length that the DHCP sessions will receive depends on the
lease time configured by the DHCP server. For example, if the
DHCP server sends a lease time of one day (its default), then
the IP address will only be good for one day, regardless of
the value set by Spirent HLTAPI. Possible values range
from 10 to 4294967295. The default value is 3600.
ipaddress_pool
Specifies the first IPv4 address in the DHCP server address
pool. An address pool is a set of addresses assigned by
Internet Assigned Numbers Authority (IANA) or an
associated organization.
ipaddress_count
Specifies the number of IPv4 addresses in the DHCP server
address pool. The default value is 65536.
ipaddress_increment
Specifies the number by which to increase each IPv4 address in the
DHCP server address pool. The default value is 1.
dhcp_ack_options
Enable or disable the DHCP ACK (Acknowledge) options of the
emulated DHCP server. DHCP Options are tagged data items
that carry the configuration parameters and other control
information. The data items are stored in the "options" field
of the DHCP messages. DHCP ACK options are tagged data
items stored in the "options" field of the DHCP ACK
messages. DHCP ACK messages are sent by a selected
DHCP server to acknowledge the client DHCP REQUEST
messages. Possible values are 0 and 1. The default value is
0 (disabled). If enabled, you can specify DHCP ACK options
which will be encapsulated in the DHCP ACK message sent to
the client by the DHCP server.
dhcp_ack_time_offset
Specifies DHCP ACK Option time offset (Option 2) in seconds.
Its value can be positive or negative. The default value is
0. You can use dhcp_ack_time_offset when
dhcp_ack_options is enabled.
dhcp_ack_router_address
Specifies the DHCP ACK option router option (Option 3) IPv4
address. You can specify multiple IPv4 addresses. The
default value is 0.0.0.0. You can use this argument
when dhcp_ack_options is enabled.
dhcp_ack_time_server_address
Specifies the DHCP ACK option timer server address (Option
4). You can specify multiple IPv4 addresses. The default
value is 0.0.0.0. You can use this argument
when dhcp_ack_options is enabled.
dhcp_ack_circuit_id
Specifies the circuit ID suboption (suboption 1) of the
and is eight HEX characters. You can use this argument
when dhcp_ack_options is enabled.
dhcp_ack_remote_id
Specifies the remote ID suboption (suboption 2) of the DHCP
ACK Option relay agent (Option 82). The length is fixed and
is eight HEX characters. You must set dhcp_ack_options to 1
when using dhcp_ack_remote_id.
dhcp_offer_options
Enables or disables the DHCP OFFER Options of the emulated DHCP
server. DHCP OFFER messages are sent by each DHCP
server that receives the client DHCP DISCOVER packet to
respond the DHCP DISCOVER packet. Possible values
are 0 and 1. The default value is 0(disabled). If enabled,
you can specify DHCP OFFER options which will be
encapsulated in the DHCP OFFER message
sent to the client by the DHCP server.
dhcp_offer_time_offset
Specifies DHCP OFFER option time offset (Option 2) in
seconds. Its value can be positive or negative. The default
value is 0. You must set dhcp_offer_options to 1 when
using dhcp_offer_time_offset.
dhcp_offer_router_address
Specifies DHCP OFFER option router option (Option 3) IPv4
address. You can specify multiple IPv4 addresses.
The default value is 0.0.0.0. You must set
dhcp_offer_options to 1 when using
dhcp_offer_router_adddress.
dhcp_offer_time_server_address
Specifies DHCP OFFER Option timer server address(Option 4).
You can specify multiple IPv4 addresses. The default
value is 0.0.0.0. You must set dhcp_offer_options to 1
when using dhcp_offer_time_server_address.
dhcp_offer_circuit_id
Specifies the circuit ID suboption (suboption 1) of DHCP
OFFER option relay agent (Option 82). The length is fixed and
is eight HEX characters. You must set dhcp_offer_options to
1 when using dhcp_offer_circuit_id.
dhcp_offer_remote_id
Specifies the remote ID suboption (suboption 2) of DHCP
OFFER option relay agent (Option 82). The length is fixed and
is eight HEX characters. You must set dhcp_offer_options to
1 when using dhcp_offer_remote_id.
pvc_incr_mode
`Spirent Extension (for Spirent HLTAPI only).`
Determines which ID to increment first. Possible values are::
vci - Increments the Virtual Circuit Identifier (VCI) before the
Virtual Path Identifier (VPI).
vpi - Increments the VPI before the VCI.
both - Increments both the VPI and VCI at the same time.
You can specify this argument when encapsulation is
set to ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
min_allowed_lease_time
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the minimum lease time the server allows the client to
request, in seconds. Possible values range from 1 to 4294967295.
The default value is 10.
offer_reserve_time
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the time to reserve a lease after an Offer message is
sent, in seconds. Possible values range from 1 to 600. The
default value is 10.
router_list
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of router IP addresses on the client subnet
(option 3)
remote_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent remote IDs to generate, so
the pool can assign addresses for those DHCP clients that match
any remote ID in the list. This argument is available when
assign_strategy is set to remote_id.
remote_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of remote IDs to generate. This
argument is available when assign_strategy is set to remote_id.
Possible values range from 1 to 20. The default value is 1.
local_mac
Specifies the first MAC address of the emulated DHCP server
remote_mac
Specifies the MAC address of the remote peer (DUT).
tos_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv4 ToS value as an indication of the quality of
service wanted. The value must be numerical or hexadecimal. The
default value is 192.
vci
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VCI of the first ATM PVC pool.
Possible values range from 0 to 65535. The default is 100.
You can specify this argument when encapsulation is
set to ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vci_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of VCIs used for the emulation of
clients over ATM interfaces. Possible values range from 1
to 65536. The default is 1. The value of vci_count must
be divisible by the number of sessions. You can specify
this argument when encapsulation is set to
ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vci_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step size in which the VCI value is incremented.
Possible values range from 0 to 65535. The default is 1.
You can specify this argument when encapsulation is
set to ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vpi
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VPI of the first ATM PVC pool (for an ATM
connection). Possible values range from 0 to 255. The default is 100.
You can specify this argument when encapsulation is
set to ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vpi_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of VPIs used for the emulation of
clients over ATM interfaces. Possible values range from 1 to
256. The default is 1. The VPI count number must be divisible
by the number of sessions. You can specify this
argument when encapsulation is set to
ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vpi_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step size in which the VPI value is incremented.
Possible values range from 0 to 255. The default is 1. You can
specify this argument when encapsulation is
set to ATM_LLC_SNAP_ETHERNETII or
ATM_VC_MUX_ETHERNETII.
vpn_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent VPN IDs to generate, so the
pool can assign addresses for those DHCP clients that match any
VPN ID in the list. This argument is available when
assign_strategy is set to vpn_id.
vpn_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of VPN IDs to generate.
This argument is available when set assign_strategy is set to
vpn_id. Possible values range from 1 to 4294967295. The default
value is 1.
vpn_id_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VPN ID type. This argument is available when
assign_strategy is set to vpn_id.
Possible values are::
nvt_ascii Network Virtual Terminal (NVT) ASCII VPN Identifier
rfc_2685 RFC 2685 VPNID
The default value is nvt_ascii.
DHCPv6/PD Specific Arguments (You must specify ip_version to 6)
gateway_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Configures the first IPv6 gateway address for the emulated DHCPv6
devices. The value must be in IPv6 format. The default value is
2001::1. This argument is available when dhcp_range_ip_type is
set to ipv6.
gateway_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Defines the increment used to generate IPv6 gateway addresses for
multiple devices. The value must be in IPv6 format. The default
is ::. This argument is available when dhcp_range_ip_type is
set to ipv6.
local_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting IPv6 address of the emulated dhcpv6
devices. The default value is 2001::2. This argument is
available when dhcp_range_ip_type is set to ipv6.
local_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Defines the increment used to generate IPv6 gateway addresses
for multiple devices. The value must be in IPv6 format. The
default value is 0::1. This argument is available when
dhcp_range_ip_type is set to ipv6.
local_ipv6_prefix_len
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 address prefix length. Possible values range
from 0 to 128. The default value is 64. This argument is
available when dhcp_range_ip_type is set to ipv6.
dhcp_realm
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the DHCP realm that identifies the key used to generate
the HMACMD5 value when using delayed authentication. The default
is spirent.com. This argument is valid when enable_delayed_auth
is set to true.
server_emulation_mode
`Spirent Extension (for Spirent HLTAPI only).`
Defines the server emulation mode. Possible values are DHCPV6
and DHCPV6_PD. The default is DHCPV6_PD.
enable_delayed_auth
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables delayed authentication for the Authentication
option in the IPv6 message. Possible values are true (enable) and
false (disable). The default is false.
enable_reconfigure_key
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables Reconfigure key authentication. Possible
values are true (enable) and false (disable). The default is
false.
preferred_lifetime
`Spirent Extension (for Spirent HLTAPI only).`
Preferred lifetime in seconds for the IPv6 addresses. The default
value is 604800.
reconfigure_key
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the key used for Reconfigure key authentication. The
value is alphanumeric. The default value is spirentcom123456.
reconfigure_key_value_type
`Spirent Extension (for Spirent HLTAPI only).`
Defines the Reconfigure key value type. Possible values are
ASCII and HEX. The default is ASCII.
valid_lifetime
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the lease time for the IPv6 addresses, in seconds.
The default value is 2592000.
addr_pool_step_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value for the IPv6 addresse pool per
server. The default value is 1. This argument is available when
emulation_mode is set to DHCPV6.
addr_pool_host_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the host addresses' step in the IPv6 address pool. The
value must be in IPv6 format. The default is ::1. This argument
is available when emulation_mode is set to DHCPV6.
addr_pool_addresses_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of addresses in the pool. The default value
is 1. This argument is available when emulation_mode is set to
DHCPv6.
addr_pool_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 address prefix length. Possible values range
from 0 to 128. The default value is 64. This argument is
available when emulation_mode is set to DHCPV6.
addr_pool_start_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting address in the pool. The value must be in
IPv6 format. The default value is 2000::1. This argument is
available when emulation_mode is set to DHCPV6.
addr_pool_custom_enable_wildcards
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable wildcard
expansion in the Option Payload field in address pool custom
options. The length of the list must be same as the other address
pool custom option attributes. Possible values are true (enable)
and false (disable). The default is false.
addr_pool_custom_string_as_hex_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable value as
hexadecimal in the address pool custom option. The length of the
list must be same as that of lists
addr_pool_custom_enable_wildcards,
addr_pool_custom_include_in_message,
addr_pool_custom_option_value and
addr_pool_custom_option_payload. Possible values are true
(enable) and false (disable). The default is false.
addr_pool_custom_include_in_message
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of types of DHCPv6 messages that will include
the address pool custom option. The length of the list must
be same as that of lists addr_pool_custom_enable_wildcards,
addr_pool_custom_string_as_hex_value,
addr_pool_custom_option_value and
addr_pool_custom_option_payload. Possible values are ADVERTISE,
REPLY, RECONFIGURE and RELAY_REPL. The default is the combined
values of ADVERTISE and Reply.
addr_pool_custom_option_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Option identifiers in the address pool custom
option. The length of the list must be same as that of lists
addr_pool_custom_option_enable_wildcards,
addr_pool_custom_include_in_message,
addr_pool_custom_option_option_payload, and
addr_pool_custom_option_string_as_hex_value. Possible values
range from 0 to 255. The default value is 0.
addr_pool_custom_option_payload
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of the Option payload strings in the address pool
custom option. The length of the list must be same as that of
lists addr_pool_custom_option_enable_wildcards,
addr_pool_custom_option_msg_type,
addr_pool_custom_include_in_message and
addr_pool_custom_option_string_as_hex_value. The value is
alphanumeric.
add_addr_pool_step_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional step value for the IPv6 addresse pool
per server. The default value is 1. This argument is available
when emulation_mode is set to DHCPV6.
add_addr_pool_host_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional host addresses' step in the IPv6 address
pool. The value must be in IPv6 format. The default is ::1. This
argument is available when emulation_mode is set to DHCPV6.
add_addr_pool_addresses_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional number of addresses in the pool. The
default value is 1. This argument is available when
emulation_mode is set to DHCPV6.
add_addr_pool_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional IPv6 address prefix length. Possible
values range from 0 to 128. The default value is 64. This
argument is available when
emulation_mode is set to DHCPV6.
add_addr_pool_start_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional starting address in the pool. The value
must be in IPv6 format. The default value is 2000::1. This
argument is available when emulation_mode is set to DHCPV6.
add_addr_pool_preferred_lifetime
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the preferred lifetime in seconds for the addresses.
The default value is 604800. This argument is
available when emulation_mode is set to DHCPV6.
add_addr_pool_valid_lifetime
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the valid lifetime in seconds for the addresses.
The default value is 2592000. This argument is
available when emulation_mode is set to DHCPV6.
add_addr_pool_remote_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the remote id for the address pool.
The default value is remoteId_@p-@b-@s. This argument is
available when emulation_mode is set to DHCPV6 and -assign_strategy
is set to REMOTE_ID.
add_addr_pool_remote_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum remote id count that can be generated.
The default value is 1. This argument is
available when emulation_mode is set to DHCPV6 and -assign_strategy
is set to REMOTE_ID.
add_addr_pool_remote_id_enterprise
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the vendor’s registered enterprise number in remote id option.
The default value is 3456. This argument is
available when emulation_mode is set to DHCPV6 and -assign_strategy
is set to REMOTE_ID.
add_addr_pool_interface_id
`Spirent Extension (for Spirent HLTAPI only).`
Generate a list of interface ID so that this pool can assign addresses
for those DHCPv6 clients that match any of the interface ID in the list.
The default value is interfaceId_@p. This argument is
available when emulation_mode is set to DHCPV6 and -assign_strategy
is set to INTERFACE_ID.
add_addr_pool_interface_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum interface id count that can be generated.
The default value is 1. This argument is
available when emulation_mode is set to DHCPV6 and -assign_strategy
is set to INTERFACE_ID.
add_addr_pool_min_iaid
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the minimum identifier for an Identity Association (IA) to
accept in the pool. The default value is 0. This argument is
available when emulation_mode is set to DHCPV6.
add_addr_pool_max_iaid
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum identifier for an IA to accept in the pool.
The default value is 4294967295. This argument is
available when emulation_mode is set to DHCPV6.
prefix_pool_step_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the increment value for the next client IPv6 address in
the pool. The value must be in IPv6 format. The default value is
0:0:0:1::.
prefix_pool_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of prefix pools per server. The default
value is 1.
prefix_pool_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the prefix length for the IPv6 clients. Possible values
range from 0 to 128. The default value is 64.
prefix_pool_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the increment value for the next client address in the
server. The default value is 1.
prefix_pool_start_addr
`Spirent Extension (for Spirent HLTAPI only).`
Starting network address assigned to clients. The default value
is 2000::1.
prefix_pool_custom_enable_wildcards
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable wildcard
expansion in the prefix custom option. The length of the list
must be same as that of
prefix_pool_custom_option_string_as_hex_value,
prefix_pool_custom_include_in_messag,
prefix_pool_custom_option_value, and
prefix_pool_custom_option_payload Possible values are true
(enable) and false (disable). The default is false.
prefix_pool_custom_string_as_hex_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable value as
hexadecimal in the prefix custom option. The length of the list
must be same as that of
prefix_pool_custom_option_enable_wildcards,
prefix_pool_custom_include_in_messag,
prefix_pool__custom_option_value, and
prefix_pool_custom_option_payload. Possible values are true
(enable) and false (disable). The default is false.
prefix_pool_custom_include_in_message
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of types of DHCPv6 messages that will include
the prefix pool custom option. The length of the list must be
same as that of prefix_pool_custom_option_enable_wildcards
prefix_pool_custom_option_string_as_hex_value,
prefix_pool__custom_option_value, and
prefix_pool_custom_option_payload. Possible values are
ADVERTISE, REPLY, RECONFIGURE and RELAY_REPL. The default is a
combined value of ADVERTISE and REPLY.
prefix_pool_custom_option_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of option identifiers in the prefix custom option.
The length of the list must be same as that of lists
prefix_pool_custom_option_enable_wildcards,
prefix_pool_custom_option_msg_type,
prefix_pool_custom_option_option_payload, and
prefix_pool_custom_option_string_as_hex_value. Possible values
range from 0 to 255. The default value is 0.
prefix_pool_custom_option_payload
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Option Payload strings in the prefix pool custom
option. The length of the list must be same as that of lists
prefix_pool_custom_option_enable_wildcards,
prefix_pool_custom_option_msg_type,
prefix_pool_custom_include_in_message, and
prefix_pool_custom_option_string_as_hex_value.
add_prefix_pool_step_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional increment value for the next client IPv6
address in the server. The default value is 1. This argument is
available when emulation_mode is set to DHCPV6.
add_prefix_pool_per_server
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional number of prefix pools per server. The
default value is 1. This argument is available when
emulation_mode is set to DHCPV6.
add_prefix_pool_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional prefix length for the IPv6 clients.
Possible values range from 0 to 128. The default value is 64.
This argument is available when emulation_mode is set to DHCPV6.
add_prefix_pool_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the additional increment value for the next client
address in the pool. The default value is 0:0:0:1::. This
argument is available when emulation_mode is set to DHCPV6.
add_prefix_pool_start_addr
`Spirent Extension (for Spirent HLTAPI only).`
Starting network address assigned to clients. The default value
is 2000::1. This argument is available when emulation_mode is
set to DHCPV6.
add_prefix_pool_valid_lifetime
Specifies the length of time that an address remains in the
valid state, during which the address can be used for new or
existing communications. The validlifetime must be greater
than the preferredlifetime. This argument is available when
emulation_mode is set to DHCPv6/PD.
Possible values range from 0 to 4294967295.
The default value is 2592000.
add_prefix_pool_remote_id_enterprise
Specifies the value of the enterprise number for the relay remote ID.
Possible values range from 1 to 4294967295. The default value is 3456.
This argument is available when emulation_mode is set to DHCPv6/PD
and assign_strategy is set to REMOTE_ID.
add_prefix_pool_remote_id_count
Specifies the maximum remote ID count that can be generated.
Possible values range from 1 to 20. The default value is 1.
This argument is available when emulation_mode is set to DHCPv6/PD
and assign_strategy is set to REMOTE_ID.
add_prefix_pool_remote_id
Specifies the remote ID for the prefix pool. The default value is
remoteId_@p-@b-@s. This argument is available when emulation_mode
is set to DHCPv6/PD and assign_strategy is set to REMOTE_ID.
add_prefix_pool_preferred_lifetime
Specifies the length of time that a valid address is in the
preferred state and can be used without any restrictions.
The validlifetime must be greater than the preferredlifetime.
This argument is available when emulation_mode is set to DHCPv6/PD.
Possible values range from 0 to 4294967295.
The default value is 604800.
add_prefix_pool_interface_id
Generate a list of interface ID so that this pool can assign addresses
for those DHCPv6 clients that match any of the interface ID in the list.
The default value is interfaceId_@p. This argument is available when
emulation_mode is set to DHCPv6/PD and -assign_strategy is set to INTERFACE_ID.
add_prefix_pool_interface_id_count
Specifies the maximum interface ID count that can be generated.
Possible values range from 1 to 20. The default value is 1.
This argument is available when emulation_mode is set to
DHCPv6/PD and assign_strategy is set to INTERFACE_ID.
add_prefix_pool_min_iaid
Specifies the minimum identifier for an Identity Association (IA) to
accept in the pool. This argument is available when emulation_mode
is set to DHCPv6/PD. Possible values range from 0 to 4294967295.
The default value is 0.
add_prefix_pool_max_iaid
Starting network address assigned to clients. The default value
is 2000::1. This argument is available when emulation_mode
is set to DHCPv6/PD. Possible values range from 0 to 4294967295.
The default value is 0.
dhcp6_delayed_auth_key_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the list of Key identifiers used to generate the
HMACMD5 values. The length of the list must be same as the
dhcp6_delayed_auth_key_value. Possible values range from 0 to
4294967295. The default is 1. This argument is available when
enable_auth is set to true and -auth_protocol is set to
DELAYED_AUTH.
dhcp6_delayed_auth_key_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of keys used to generate the HMACMD5 value.
The length of the list must be same as the
dhcp6_delayed_auth_key_id. This value is alphanumeric.
The default value is spirent123. This argument is available when
enable_auth is set to true and -auth_protocol is set to
DELAYED_AUTH.
qinq_incr_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the increment mode for ethernet_ii_qinq encapsulation.
This parameter only applies to Qin-Q Ethernet interfaces.
Possible values are inner, outer, and both. The default is
inner. The value of count must be divisible by the values of
vlan_id_count and vlan_outer_id_count.
The modes are described below::
inner - When the number of sessions is greater than
the inner VLAN count times the outer VLAN count, the
inner VLAN ID is incremented first until the specified
number of inner VLANs is exhausted, then the outer
VLAN ID is incremented. This continues in a
roundrobin fashion until the number of
sessions is exhausted.
outer - When the number of sessions is greater than the
inner VLAN count times the outer VLAN count, the outer
VLAN ID is incremented first until the specified number
of outer VLANs is exhausted, and then the inner VLAN ID is
incremented. This continues in a roundrobin fashion
until the number of sessions is exhausted.
both - When the number of sessions is greater than the
inner VLAN count times the outer VLAN count, the
inner VLAN ID and outer VLAN ID increment at the
same time. This continues in a roundrobin fashion
until the number of sessions is exhausted.
server_custom_enable_wildcards
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable wildcard
expansion for the DHCPv6 server custom option. The length
of the list must be same as that of
server_custom_string_as_hex_value,
server_custom_include_in_message, server_custom_option_value.
server custom option attributes and server_custom_option_value.
Possible values are (enable) true and false (disable). The
default is false.
server_custom_string_as_hex_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to enable or disable value as
hexadecimal in the DHCPv6 server custom option. The length of
the list must be same as that of server_custom_enable_wildcards,
server_custom_include_in_message, server_custom_option_value,
and server_custom_option_payload. Possible values are true
(enable) and false (disable). The default is false.
server_custom_include_in_message
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of types of DHCPv6 messages that will include
DHCPv6 server custom option. The length of the list must be same
as that of lists server_custom_enable_wildcards,
server_custom_string_as_hex_value, server_custom_option_value
and server_custom_option_payload. Possible values are ADVERTISE,
REPLY, RECONFIGURE, and RELAY_REPL. The default is the combined
values of ADVERTISE and REPLY.
server_custom_option_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Option identifiers for the DHCPv6 server
custom option. The length of the list must be same as that of
lists server_custom_option_enable_wildcards,
server_pool_custom_option_msg_type,
serverl_custom_option_option_payload, and
server_custom_option_string_as_hex_value. Possible values range
from 0 to 255. The default is 0.
server_custom_option_payload
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Option payload strings for the DHCPv6 server
custom option. The length of the list must be same as that of
lists server_custom_option_enable_wildcards,
server_pool_custom_option_msg_type,
server_custom_include_in_message, and
server_custom_option_string_as_hex_value.
expand
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to expand the specified DHCPv4/DHCPv6 server device
parameters into emulated DHCPv4/DHCPv6 device objects. It is
used in `scaling` test scenarios.
When set to true, a list of emulated device handles (handle_list)
with enabled DHCPv4/DHCPv6 server device configurations is created.
When set to false, only DHCPv4/DHCPv6 parameters are configured with no
handle returned.
prefix_pool_start
Specifies thepPrefix pool starting address.
The default is 2000:::
Applicable only in mode activate when -block_mode or -expand is specified.
addr_pool_start
Specifies the address pool starting address.
The default is 2000::1
Applicable only in mode activate when -block_mode or -expand is specified.
prefix_pool_length
Specifies the prefix pool length.
The default is 64
Applicable only in mode activate when -block_mode or -expand is specified.
ipv6_addr_pool_host_step
Specifies the address pool host step.
The default is ::1
Applicable only in mode activate when -block_mode or -expand is specified.
addr_pool_count
Specifies the number of addresses in the address pool.
The default is 200
Applicable only in mode activate when -block_mode or -expand is specified.
prefix_pool_count
Specifies the number of prefixes in the prefix pool.
The default is 200
Applicable only in mode activate when -block_mode or -expand is specified.
addr_pool_length
Specifies the address pool prefix length.
The default is 64
Applicable only in mode activate when -block_mode or -expand is specified.
ipv6_prefix_pool_step
Specifies the prefix pool step.
The default is :::
Applicable only in mode activate when -block_mode or -expand is specified.
addr_pool_step
Specifies the address pool step per server.
The default is :::
Applicable only in mode activate when -block_mode or -expand is specified.
Arguments Unsupported by Save as HLTAPI:
The following Spirent HLTAPI arguments are currently not supported by the Save as
HLTAPI function::
dhcp_ack_options
dhcp_ack_time_offset
dhcp_ack_router_address
dhcp_ack_time_server_address
dhcp_ack_circuit_id
dhcp_ack_remote_id
dhcp_offer_options
dhcp_offer_time_offset
dhcp_offer_router_address
dhcp_offer_time_server_address
dhcp_offer_circuit_id
dhcp_offer_remote_id
handle
pvc_incr_mode
qinq_incr_mode
vlan_id_mode
vlan_outer_id_mode
- Ciscospecific Arguments:
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
dhcp_ack_link_selection dhcp_ack_cisco_server_id_override dhcp_ack_server_id_override dhcp_ignore_mac dhcp_ignore_mac_mask dhcp_mac_nak dhcp_mac_nak_mask dhcp_ack_subnet_mask dhcp_offer_subnet_mask dhcp_offer_link_selection dhcp_offer_cisco_server_id_override dhcp_offer_server_id_override ipv6_gateway ip_count spfc_mac_mask_pool spfc_mac_pattern_pool spfc_mac_ipaddress_pool spfc_mac_ipaddress_count spfc_mac_ipaddress_increment
- 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.port_handle The port handle on which DHCP or DHCPv6/PD server emulation was configured handle.dhcp_handle The handle that identifies the DDHCP or DHCPv6/PD server emulation created by the ``emulation dhcp server config`` function handles The emulated device handles list with enabled DHCPv4/DHCPv6 server configurations is created when expand is set true. handle_list The emulated device handles list with enabled DHCPv4/DHCPv6 server configurations is created when expand is set true. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation dhcp server config
function creates, modifies, or resets an emulated DHCP or DHCPv6/PD server. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)Use create mode to create the DHCP or DHCPv6/PD server on the specified port. The handle of the DHCP or DHCPv6/PD server host you created is returned. You can modify the DHCP or DHCPv6/PD server host using modify and reset modes.
When you create an emulated DHCP or DHCPv6/PD server, use the port_handle argument to specify the Spirent HLTAPI port that the emulated DHCP or DHCPv6/PD server will use respectively. (The port handle value is contained in the keyed list returned by the connect function.)
In addition to specifying the port, you must also provide one or more of the following pieces of information when you create a DHCP server:
DHCP for IPv4:
- The IPv4 address for the emulated DHCP server (the ip_address argument)
- The IPv4 address for the DHCP server (DUT) to communicate with (the ip_gateway argument)
- The first IPv4 address in the DHCP server address pool (the ipaddress_pool argument)
DHCPv6/PD:
- The IPv6 address for the emulated DHCPv6/PD server (the local_ipv6_addr
- argument)
- The IPv6 address for the DHCPv6/PD server (DUT) to communicate with (the gateway_ipv6_addr argument)
- The first IPv6 address in the DHCPv6/PD server address pool (the addr_pool_start_addr argument or the -prefix_pool_start_addr argument respectively)
After you create a DHCP or DHCPv6/PD server, use the emulation dhcp server control mode=connect command for Spirent HLTAPI to connect the server. To reset all of the DHCP or DHCPv6/PD servers associated with a particular port, use the reset mode with the
emulation dhcp server control
function.
Examples:
The following example creates a DHCP server on the specified port:
emulation dhcp server config count= 1 port_handle= port1 local_mac= 00:10:94:00:00:03 ip_address= 192.0.1.4 ip_step= 0.0.1.0 ip_prefix_length= 24 ip_prefix_step= 1 ip_repeat= 1 ip_gateway= 192.0.1.1 ipaddress_pool= 192.0.1.5 \ ipaddress_increment= 2 ipaddress_count= 30 enable_custom_pool= true host_addr_prefix_length= 18 vlan_id= 200 vlan_ethertype= 0x8100 lease_time= 20 dhcp_ack_options= 1 dhcp_ack_time_offset= 12 dhcp_ack_router_adddress= 10.0.0.1 dhcp_ack_time_server_address= 20.0.0.1 dhcp_ack_circuit_id= 12345678 dhcp_ack_remote_id= 87654321 dhcp_offer_options= 1 dhcp_offer_time_offset= 25 dhcp_offer_router_address= 10.0.0.2 dhcp_offer_time_server_address= 20.0.0.2 \ dhcp_offer_circuit_id= 22221111 dhcp_offer_remote_id= 11112222Sample output for example shown above:
{handle {{port_handle port1} {dhcp_handle host1}}} {status 1}The following example configures a DHCP server over Ethernet over ATM on a port:
emulation dhcp server config mode= create count= 10 encapsulation= ATM_LLC_SNAP_ETHERNET_II port_handle= $hltSourcePort local_mac= 00:10:94:00:00:03 ip_address= 192.0.1.4 ip_gateway= 192.0.1.1 ipaddress_pool= 192.0.1.5 ipaddress_increment= 2 ipaddress_count= 30 lease_time= 20 vci= 100 vci_step= 2 vpi= 200 vpi_step= 3 vci_count= 3 vpi_count= 4Sample output for example shown above:
{handle {{port_handle port1} {dhcp_handle host1}}} {status 1}The following example modifies the created DHCP server:
emulation dhcp server config mode= modify handle= dhcpserverHandle1 ip_address= 192.0.1.6 dhcp_ack_options= 1 dhcp_ack_time_offset= 10 dhcp_ack_circuit_id= 87654321Sample output for example shown above:
{handle {dhcp_handle host1}}} {status 1}The following example resets the specified DHCP server:
emulation dhcp server config mode= reset handle= dhcpserverHandle1The following example creates a new DHCPv6 server:
emulation dhcp config mode= create port_handle= $hltHostPort ip_version= 6 server_emulation_mode= DHCPV6_PD enable_delayed_auth= false enable_reconfigure_key= false preferred_lifetime= 604800 rebinding_time_percent= 80.0 reconfigure_key= spirentcom123456 reconfigure_key_value_type= ASCII renewal_time_percent= 50.0 valid_lifetime= 592000 addr_pool_step_per_server= 1 addr_pool_host_step= ::1 addr_pool_addresses_per_server= 1 addr_pool_prefix_length= 64 addr_pool_start_addr= 2000::1 addr_pool_custom_enable_wildcards= {false false} addr_pool_custom_string_as_hex_value= {false false} addr_pool_custom_include_in_message= {ADVERTISE REPLY} addr_pool_custom_option_value= {1 2} addr_pool_custom_option_payload= {none none}The following example modifies the created DHCPv6 server:
emulation dhcp group config mode= modify handle= $hltHostPort rebinding_time_percent= 70.0 reneval_time_percent= 50.0 valid_lifetime= 2992000 enable_delayed_auth= true dhcp6_delayed_auth_key_id= {1 2} dhcp6_delayed_auth_key_value= {spirent1 spirent2} ]Sample output for example shown above:
{status 1}The following example is for qinq_incr_mode= inner:
emulation dhcp server config mode= create count= 10 qinq_incr_mode= inner port_handle= port1 vlan_user_priority= 7 vlan_outer_id_count= 2 vlan_outer_id= 101 ip_address= 192.168.1.4 vlan_id_count= 5 vlan_id= 201 ipaddress_pool= 192.168.1.5 ip_version= 4 encapsulation= ETHERNET_II_QINQ vlan_outer_user_priority= 0 local_mac= 00:00:00:62:0A:01Sample output for example shown above:
# Generated values for outer VLAN ID 101 101 101 101 101 102 102 102 102 102 # Generated values for inner VLAN ID 201 202 203 204 205 201 202 203 204 205The following example is for qinq_incr_mode= outer:
emulation dhcp server config mode= create count= 10 qinq_incr_mode= outer port_handle= port1 vlan_user_priority= 7 vlan_outer_id_count= 2 vlan_outer_id= 101 ip_address= 192.168.1.4 vlan_id_count= 5 vlan_id= 201 ipaddress_pool= 192.168.1.5 ip_version= 4 encapsulation= ETHERNET_II_QINQ vlan_outer_user_priority= 0 local_mac= 00:00:00:62:0B:01Sample output for example shown above:
# Generated values for outer VLAN ID 101 102 101 102 101 102 101 102 101 102 # Generated values for inner VLAN ID 201 201 202 202 203 203 204 204 205 205The following example is for qinq_incr_mode= both:
emulation dhcp server config mode= create count= 20 qinq_incr_mode= both port_handle= port1 vlan_user_priority= 7 vlan_outer_id_count= 10 vlan_outer_id= 101 ip_address= 192.168.1.4 vlan_id_count= 5 vlan_id= 201 ipaddress_pool= 192.168.1.5 ip_version= 4 encapsulation= ETHERNET_II_QINQ vlan_outer_user_priority= 0 local_mac= 00:00:00:62:0c:01Sample output for example shown above:
# Generated values for outer VLAN ID 101 102 103 104 105 106 107 108 109 110 # Generated values for inner VLAN ID 201 202 203 204 205 201 202 203 204 205The following example uses the function in DHCPv4 scaling mode (mode= activate) with port_handle= and block_mode:
set Dhcpv4server_ret [emulation dhcp server config mode= activate port_handle= $port1 count= 2 block_mode= ONE_DEVICE_PER_BLOCK block_name_index= 1 vlan_id= 444 vlan_outer_id= 333 router_id= 11.111.11.11 router_id_step= 0.0.0.2 mac_addr= 00:11:11:11:11:11 mac_addr_step= 00:00:00:00:00:01 mac_addr_step_per_port= 00:00:00:01:00:01 mac_addr_step_per_vlan= {"" 00:00:00:00:10:01} ip_step_per_port= 0.0.0.5 ip_step_per_vlan= {"" 0.0.1.1} intf_prefix_len= 22 name= DEVICE_BLOCK_DHCPV4SERVER vlan_user_pri= 3 vlan_id_count= 2 vlan_id_repeatmode= REPEAT_ACROSS_PORT vlan_outer_id_count= 2 vlan_outer_user_pri= 4 vlan_outer_id_repeatmode= REPEAT_ACROSS_PORT intf_ip_addr= 11.111.11.11 gateway_ip_addr= 11.111.11.1 expand= true
]
Sample output for example shown above:
{param_handle emulateddevicegenparams1} {status 1} {handle_list {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8}} {handle {}} {handles {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8}}The following example uses the function in DHCPv6/PD server scaling mode (mode= activate) with port_handle= and block_mode:
set Dhcpv6server_ret [emulation dhcp server config mode= activate port_handle= $port1 count= 2 block_mode= ONE_DEVICE_PER_BLOCK block_name_index= 1 ip_version= 6 vlan_id= 444 vlan_outer_id= 333 mac_addr= 00:11:11:11:11:11 mac_addr_step= 00:00:00:00:00:02 mac_addr_step_per_port= 00:00:00:00:01:01 mac_addr_step_per_vlan= {00:00:00:01:00:01 00:00:00:00:00:01} intf_ipv6_prefix_len= 65 ipv6_step_per_vlan= {"" ::2} ipv6_step_per_port= ::1 link_local_ipv6_step_per_port= ::4 link_local_ipv6_step_per_vlan= {::4 ::5} name= DEVICE_BLOCK_DHCPV6SERVER vlan_user_pri= 3 vlan_id_count= 2 vlan_id_repeatmode= REPEAT_ACROSS_PORT vlan_outer_id_count= 2 vlan_outer_user_pri= 4 vlan_outer_id_repeatmode= REPEAT_ACROSS_PORT router_id_ipv6= 0101::011 router_id_ipv6_step= ::11 gateway_ip_addr= 11.111.11.1 link_local_ipv6_addr= 2000::2 link_local_ipv6_addr_step= ::1 intf_ipv6_addr= 1111::3e9 intf_ipv6_addr_step= ::1 link_local_ipv6_prefix_len= 64 gateway_ipv6_addr= 1111::1 gateway_ipv6_addr_step= ::1 expand= true prefix_pool_start= 2001:: addr_pool_start= 2001::1 valid_lifetime= 2592001 server_emulation_mode= DHCPV6_PD renewal_time_percent= 50 prefix_pool_length= 64 ipv6_addr_pool_host_step= ::1 addr_pool_count= 200 rebinding_time_percent= 80 preferred_lifetime= 604800 prefix_pool_count= 200 addr_pool_length= 64 ipv6_prefix_pool_step= :: addr_pool_step= ::
]
Sample output for example shown above:
{param_handle emulateddevicegenparams1} {status 1} {handle_list {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8}} {handle {}} {handles {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5 emulateddevice6 emulateddevice7 emulateddevice8}}
emulation dhcp server relay agent config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
Configures IPv4 address pools in which the IPv4 addresses are assigned to DHCP clients through a Relay Agent by the DHCP server.
DHCP relay agents are used to forward DHCP packets between DHCP clients and DHCP servers when the clients and servers are not on the same physical subnet. The relay agent sets the gateway address (giaddr field of the DHCP packet) and, if configured, adds the relay agent information option (Option 82) in the packet and forwards it to the DHCP server. The reply sent from the server is forwarded back to the client after Option 82 is removed.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation dhcp server relay agent config
handle= <server_handle> M
mode= {create | modify | delete} M
circuit_id= < circuit_id list>
circuit_id_count= <1-4294967295>
domain_name= <ALPHANUM>
domain_name_server_list= <server_list>
dhcp_ack_options= {0 | 1}
dhcp_ack_time_offset= <integer>
dhcp_ack_router_address= <a.b.c.d>
dhcp_ack_time_server_address= <a.b.c.d>
dhcp_ack_circuit_id= <hexadecimal>
dhcp_ack_remote_id= <hexadecimal>
dhcp_offer_options= {0 | 1}
dhcp_offer_time_offset= <integer>
dhcp_offer_router_address= <a.b.c.d>
dhcp_offer_time_server_address= <a.b.c.d>
dhcp_offer_circuit_id= <hexadecimal>
dhcp_offer_remote_id= <hexadecimal
prefix_length= <0-32>
relay_agent_pool_count= <integer>
relay_agent_pool_step= <a.b.c.d>
relay_agent_ipaddress_pool= <a.b.c.d>
relay_agent_ipaddress_count= <integer>
relay_agent_ipaddress_step= <a.b.c.d>
router_list= < ip_list >
remote_id= <remote_id_list>
remote_id_count= <1-20>
vpn_id= < vpn_id_list>
vpn_id_count= <1-4294967295>
vpn_id_type= {nvt_ascii|rfc_2685}
Arguments:
handle
Specifies the host handle for the DHCP server. When you set
the mode argument to create, the value of this argument is
returned from emulation dhcp server config. When you
set the mode argument to modify or delete, the value of
this argument indicates the handle(s) of the created DHCP
server relay agent pool(s) returned from
emulation dhcp server relay agent config. For the
modify or delete mode, the value of this argument can be a
list of handles. This argument is `Mandatory`.
mode
Specifies the action to be performed. This argument is
`Mandatory`. Possible values are listed below::
create - Creates IPv4 address pools for DHCP server to be
assigned to clients through the relay agent.
modify - Modifies the created IPv4 address pools.
delete - Deletes the created IPv4 address pools.
circuit_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent circuit IDs to generate, so
the pool can assign addresses for those DHCP clients that match
any circuit ID in the list. This argument is available
when assign_strategy is set to circuit_id in the
``emulation dhcp server config`` function.
circuit_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of circuit IDs to generate. This
argument is available when assign_strategy is set to circuit_id in
the ``emulation dhcp server config`` function. Possible values
range from 1 to 4294967295. The default value is 1.
dhcp_ack_options
Enables or disables the DHCP ACK Options. Possible
values of this argument are 1 (enable) and 0 (disable). When
this argument is set to 1, you can configure the DHCP ACK
Options by specifying the arguments below::
dhcp_ack_time_offset
dhcp_ack_router_address
dhcp_ack_time_server_address
dhcp_ack_circuit_id
dhcp_ack_remote_id
The default value is 0.
dhcp_ack_time_offset
Specifies the DHCP ACK Option time offset (Option 2) in seconds.
Its value can be positive or negative. The default value is
0. You can specify this argument when the dhcp_ack_options
argument is set to 1.
dhcp_ack_router_address
Specifies the DHCP ACK option router option (Option 3) IPv4
address. You can specify multiple IPv4 addresses. The
default value is 0.0.0.0. You can specify this argument
when the dhcp_ack_options argument is set to 1.
dhcp_ack_time_server_address
Specifies the DHCP ACK option timer server address (Option
4). You can specify multiple IPv4 addresses. The default
value is 0.0.0.0. You can specify this argument
when the dhcp_ack_options argument is set to 1.
dhcp_ack_circuit_id
Specifies the circuit ID suboption (suboption 1) of the
DHCP ACK option relay agent information option (Option 82).
The intended use for the circuit ID suboption is to relay DHCP
responses back to the proper circuit. The
value of this argument must be eight hexadecimal characters.
You can specify this argument when the dhcp_ack_options
argument is set to 1.
dhcp_ack_remote_id
Specifies the Remote ID suboption (suboption 2) of the DHCP
ACK Option relay agent information option (Option 82). The
Remote ID suboption may be added by DHCP relay agents
which terminate switched or permanent circuits and have
mechanisms to identify the remote host end of the circuit.
The value of this argument must be eight hexadecimal
characters. You can specify this argument when the
dhcp_ack_options argument is set to 1.
dhcp_offer_options
Enables or disables DHCP OFFER Options of the emulated DHCP
server. Possible values are 0 and 1. The default value is
0 (disabled). When this argument is enabled, you can specify the
DHCP OFFER options below::
dhcp_offer_time_offset
dhcp_offer_router_address
dhcp_offer_time_server_address
dhcp_offer_circuit_id
dhcp_offer_remote_id
dhcp_offer_time_offset
Specifies the DHCP OFFER option time offset (Option 2) in
seconds. Its value can be positive or negative. The default
value is 0. You can specify this argument when the
dhcp_offer_options argument is enabled.
dhcp_offer_router_address
Specifies the router option (Option 3) of the DHCP OFFER
options. The router option defines a list of IPv4
addresses for routers on the client's subnet. You can
specify a list of IPv4 addresses. The default value is
0.0.0.0. You can specify this argument when
dhcp_offer_options is enabled.
dhcp_offer_time_server_address
Specifies the time server option (Option 4) of the DHCP
OFFER Options. The time server option defines a list of
IPv4 addresses for the time servers available to the client.
You can specify this argument when dhcp_offer_options is
enabled.
dhcp_offer_circuit_id
Configures the circuit ID suboption of the relay agent
option (82). The value of this argument must be eight
hexadecimal characters. This argument is available when
dhcp_offer_options is enabled.
dhcp_offer_remote_id
Configures the remote ID suboption of relay agent option
(Option 82). The value of this argument must be eight
hexadecimal characters. This argument is available when
dhcp_offer_options is enabled.
domain_name
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the domain name for the server (option 15)
domain_name_server_list
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of domain name servers (option 6)
relay_agent_pool_count
Specifies the number of address pools to be created.
The default value is 1.
relay_agent_pool_step
Specifies the increment used to generate the IPv4 addresses
of IPv4 address pools when the count
(relay_agent_pool_count) is larger than 1. The values of
this argument must be in IPv4 format. The default
value is 1.0.0.0.
relay_agent_ipaddress_pool
Specifies the starting IP address for address pools.
The default value is 192.0.1.0.
prefix_length
Specifies the IPv4 address prefix length of the address in
the pool. Possible values range from 0 to 32. The default
value is 24.
relay_agent_ipaddress_count
Defines the number of IPv4 addresses that can be assigned
to clients in a pool. The largest value of this argument
equals the number of remaining IPv4 addresses after the
addresses that have been assigned are taken from the total
number of IPv4 addresses in a pool. The total number of IPv4
addresses in a pool depends on the value of the prefix_length
argument. Possible values range from 0 to the number of
remaining IPv4 addresses in a pool. The default value is 24.
relay_agent_ipaddress_step
Defines the increment used to generate IPv4 addresses in
an address pool. The default value is 0.0.0.1.
router_list
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of router IP addresses on the client subnet
(option 3)
remote_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent remote IDs to generate so
the pool can assign addresses for those DHCP clients that match
any remote ID in the list. This argument is available when
assign_strategy is set to remote_id in the
``emulation dhcp server config`` function.
remote_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of remote IDs to generate. This
argument is available when assign_strategy is set to remote_id
in the ``emulation dhcp server config`` function. Possible
values range from 1 to 20. The default value is 1.
vpn_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of relay agent VPN IDs to generate, so the
pool can assign addresses for those DHCP clients that match any
VPN ID in the list. This argument is available when
assign_strategy is set to vpn_id in the
``emulation dhcp server config`` function.
vpn_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum number of VPN IDs to generate.
This argument is available when assign_strategy is set to vpn_id
in the ``emulation dhcp server config`` function. Possible
values range from 1 to 4294967295. The default value is 1.
vpn_id_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VPN ID type. This argument is available when
assign_strategy is set to vpn_id in the
``emulation dhcp server config`` function.
Possible values are::
nvt_ascii Network Virtual Terminal (NVT) ASCII VPN Identifier
rfc_2685 RFC 2685 VPNID
The default value is nvt_ascii.
Arguments Unsupported by Save as HLTAPI:
The following Spirent HLTAPI arguments are not supported by the Save as HLTAPI
function::
dhcp_ack_options
dhcp_ack_time_offset
dhcp_ack_router_add dress
dhcp_ack_time_server_address
dhcp_ack_circuit_id
dhcp_ack_remote_id
dhcp_offer_options
dhcp_offer_time_offset
dhcp_offer_router_address
dhcp_offer_time_server_address
dhcp_offer_circuit_id
dhcp_offer_remote_id
relay_agent_pool_count
relay_agent_pool_step
vlan_id_count
vlan_outer_id_count
- 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). pool_handles Handle(s) of the created DHCP server address pool(s).
- Description:
The emulation dhcp server relay agent config creates, modifies, or deletes IPv4 address pools where the IPv4 addresses are assigned to DHCP clients through a Relay Agent. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)
Use mode create to create address pools on the specified DHCP server. The handle of the DHCP server host is returned from emulation dhcp server config. You can modify or delete the address pools you created with the modify or delete mode.
When you create multiple emulated address pools where addresses are assigned to DHCP clients through a relay agent, use the relay_agent_pool_step argument and relay_agent_ipaddress_pool argument to specify the starting address and the increment step.
You can use the dhcp_ack_options argument and the dhcp_offer_options argument to insert specific options in ACK or OFFER messages sent to the DHCP relay agent by the DHCP server.
Examples:
To create a DHCP server relay agent address pool:
# step1: Config DHCP server host set returnedString [ emulation dhcp server config mode= create port_handle= port1 count= 1 local_mac= 00:10:94:00:00:03 ip_address= 100.1.0.8 ip_gateway= 100.1.0.1 ipaddress_pool= 100.1.0.9 lease_time= 60] keylget returnedString handle.dhcp_handle dhcpServer # step2: create two relay agent address pools set returnedString [ emulation dhcp server relay agent config handle= $dhcpServer mode= create relay_agent_pool_count= 2 relay_agent_pool_step= 1.0.0.0 relay_agent_ipaddress_pool= 110.0.0.5 relay_agent_ipaddress_count= 50 relay_agent_ipaddress_step= 0.0.0.1 dhcp_ack_options= 1 dhcp_ack_time_offset= 8000]The example above creates two address pools on the DHCP server named $dhcpServer. The number of IPv4 addresses in each address pool is 50. The IP address of the first address pool is 110.0.0.5. The IP address of the second address pool is 111.0.0.5. The IPv4 addresses in the first address pool are listed below:
110.0.0.5 110.0.0.6 110.0.0.7 ... 110.0.0.55The IPv4 addresses in the second address pool are listed below:
111.0.0.5 111.0.0.6 111.0.0.7 ... 111.0.0.55Sample Output:
{pool_handles {dhcpv4serverpoolconfig1 dhcpv4serverpoolconfig2}} {status 1}
emulation dhcp server control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Connects, renews, or resets DHCP or DHCPv6/PD server(s) on the specified ports or the DHCP or DHCPv6/PD handles/servers respectively.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation dhcp server control
action= {connect|renew|reset} M
port_handle= {<port_handle_list>|all}
dhcp_handle= {<server_handle_list>|all}
ip_version= {4|6}
Arguments:
dhcp_handle
Identifies a list of DHCP or DHCPv6/PD server handles on which to
connect, renew, or reset the server. The selected action value
applies only to the specified DHCP or DHCPv6/PD handles
respectively. Use "all" to specify all devices under all ports.
You can specify either dhcp_handle or -port_handle, but not
both. If neither of the two is specified, all devices under all
ports will be called.
action
Specifies the action to be taken on the specified DHCP or
DHCPv6/PD handles specified by the dhcp_handle argument, or on
the port handle specified by the port_handle argument. This
argument is `Mandatory`. Possible values are:
connect
Connects the DHCP or DHCPv6/PD servers on the
specified ports or DHCP or DHCPv6/PD handles.
renew
Reconnects the DHCP or DHCPv6/PD servers on the
specified ports or DHCP or DHCPv6/PD handles
respectively.
reset
Resets the DHCP or DHCPv6/PD servers on the specified
ports or DHCP or DHCPv6/PD handles respectively.
port_handle
Specifies a list of ports on which the DHCP or DHCPv6/PD server
will connect, renew, and reset. Use "all" to specify all ports.
You can specify either dhcp_handle or -port_handle, but not
both. If neither of the two is specified, all devices under all
ports will be called.
ip_version
`Spirent Extension (for Spirent HLTAPI only).`
Defines the IP version to be used. Possible values are 4 and
6. The default is 4.
- 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
emulation dhcp server control
function controls the DHCP or DHCPv6/PD server on the specified ports. You can use this function to perform several actions:- Connecting a DHCP or DHCPv6/PD server
- Renewing a DHCP or DHCPv6/PD server
- Resetting a DHCP or DHCPv6/PD server
When you call the
emulation dhcp server control
function, you specify either a DHCP or DHCPv6/PD server handle or a port handle. Spirent HLTAPI applies the specified action to the specified DHCP or DHCPv6/PD server or to all of the emulated DHCP or DHCPv6/PD servers associated with the specified port.
Examples:
To connect the specified DHCP server:
emulation dhcp server control action= connect dhcp_handle= dhcpserverHandleTo connect all DHCP servers on the specified port:
emulation dhcp server control action= connect port_handle= port1To renew the specified DHCP server:
emulation dhcp server control action= renew dhcp_handle= dhcpserverHandleTo renew all DHCP servers on the specified port:
emulation dhcp server control action= renew port_handle= port1To reset the specified DHCP server:
emulation dhcp server control action= reset dhcp_handle= dhcpserverHandleTo reset all DHCP servers on the specified port:
emulation dhcp server control action= renew port_handle= port1 DHCPv6/PD:To connect the specified DHCPv6/PD server:
emulation dhcp server control action= connect dhcp_handle= dhcpserverHandle ip_version= 6To connect all DHCPv6/PD servers on the specified port:
emulation dhcp server control action= connect port_handle= port1 ip_version= 6To renew the specified DHCPv6/PD server:
emulation dhcp server control action= renew dhcp_handle= dhcpserverHandle ip_version= 6To renew all DHCPv6/PD servers on the specified port:
emulation dhcp server control action= renew port_handle= port1 ip_version= 6To reset the specified DHCPv6/PD server:
emulation dhcp server control action= reset dhcp_handle= dhcpserverHandle ip_version= 6To reset all DHCPv6/PD servers on the specified port:
emulation dhcp server control action= renew port_handle= port1 ip_version= 6Sample Output:
{status 1}
emulation dhcp server stats¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns statistics of the DHCPv6/PD server.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation dhcp server stats
action= {collect|clear} M
dhcp_handle= {<dhcp_server_handle_list>|all}
port_handle= {<port_handle_list>|all}
ip_version= {4|6}
Arguments:
dhcp_handle
Specifies a list of DHCP or DHCPv6/PD server handles from which to
extract the server statistics data. Use "all" to return results
from all devices. You can specify dhcp_handle or -port_handle,
but not both. If neither of the two is specified, statistics from
all devices under all ports will be returned.
action
Specifies the action of the statistics for the specified port or
DHCP or DHCPv6/PD server. This argument is mandaotry. Possible
values are:
collect
Retrieves the statistics from the specified ports or
DHCP or DHCPv6/PD servers
clear
Removes all statistics
port_handle
Specifies a list of ports from which to extract DHCP or DHCPv6/PD
server statistics data. Use "all" to return results from all
ports. You can specify either dhcp_handle or -port_handle, but
not both. If neither of the two is specified, statistics from all
devices under all ports will be returned.
ip_version
`Spirent Extension (for Spirent HLTAPI only).`
Defines the IP version to be used. Possible values are 4 and
6. The default is 4.
- 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 Retrieves a value indicating the success (1) or failure (0) of the operation. log Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log value is null. aggregate statistics Provided when port_handle is used. Contains the aggregate statistics from all the DHCP or DHCPv6/PD handles/servers on the specified port_handle. server specific statistics Provided when dhcp_server is used. Contains the statistics from the specified DHCP or DHCPv6/PD handle/server.
The following keys are returned when you specify port_handle:
DHCP for IPv4 aggregate.<port_handle>.rx.discover aggregate.<port_handle>.rx.offer (not supported) aggregate.<port_handle>.rx.request aggregate.<port_handle>.rx.decline aggregate.<port_handle>.rx.ack (not supported) aggregate.<port_handle>.rx.nak (not supported) aggregate.<port_handle>.rx.release aggregate.<port_handle>.rx.inform aggregate.<port_handle>.rx.force_renew (not supported) aggregate.<port_handle>.rx.relay_agent (not supported) aggregate.<port_handle>.tx.discover (not supported) aggregate.<port_handle>.tx.offer aggregate.<port_handle>.tx.request (not supported) aggregate.<port_handle>.tx.decline (not supported) aggregate.<port_handle>.tx.ack aggregate.<port_handle>.tx.nak aggregate.<port_handle>.tx.release (not supported) aggregate.<port_handle>.tx.inform (not supported) aggregate.<port_handle>.tx.force_renew (not supported) aggregate.<port_handle>.allocated.ip (not supported) DHCP for IPv6: (Spirent Extension keys) ipv6.aggregate.<port_handle>.current_bound_count ipv6.aggregate.<port_handle>.rx_confirm_count ipv6.aggregate.<port_handle>.rx_decline_count ipv6.aggregate.<port_handle>.rx_info_request_count ipv6.aggregate.<port_handle>.rx_rebind_count ipv6.aggregate.<port_handle>.rx_release_count ipv6.aggregate.<port_handle>.rx_renew_count ipv6.aggregate.<port_handle>.rx_request_count ipv6.aggregate.<port_handle>.rx_soilicit_count ipv6.aggregate.<port_handle>.total_bound_count ipv6.aggregate.<port_handle>.total_expired_count ipv6.aggregate.<port_handle>.total_release_count ipv6.aggregate.<port_handle>.total_renewed_count ipv6.aggregate.<port_handle>.tx_advertise_count ipv6.aggregate.<port_handle>.tx_reconfigure_count ipv6.aggregate.<port_handle>.tx_reconfigure_rebind_count ipv6.aggregate.<port_handle>.tx_reconfigure_renew_count ipv6.aggregate.<port_handle>.tx_reply_count
The following keys are returned when you specify dhcp_handle:
DHCP for IPv4 dhcp_handle.<dhcp_handle>.rx.discover dhcp_handle.<dhcp_handle>.rx.offer (not supported) dhcp_handle.<dhcp_handle>.rx.request dhcp_handle.<dhcp_handle>.rx.decline dhcp_handle.<dhcp_handle>.rx.ack (not supported) dhcp_handle.<dhcp_handle>.rx.nak (not supported) dhcp_handle.<dhcp_handle>.rx.release dhcp_handle.<dhcp_handle>.rx.inform dhcp_handle.<dhcp_handle>.rx.force_renew (not supported) dhcp_handle.<dhcp_handle>.rx.relay_agent (not supported) dhcp_handle.<dhcp_handle>.tx.discover (not supported) dhcp_handle.<dhcp_handle>.tx.offer dhcp_handle.<dhcp_handle>.tx.request (not supported) dhcp_handle.<dhcp_handle>.tx.decline (not supported) dhcp_handle.<dhcp_handle>.tx.ack dhcp_handle.<dhcp_handle>.tx.nak dhcp_handle.<dhcp_handle>.tx.release (not supported) dhcp_handle.<dhcp_handle>.tx.inform (not supported) dhcp_handle.<dhcp_handle>.tx.force_renew (not supported) dhcp_handle.<dhcp_handle>.allocated.ip (not supported) DHCP for IPv6: (Spirent Extension keys) ipv6.dhcp_handle.<dhcp_handle>.current_bound_count ipv6.dhcp_handle.<dhcp_handle>.rx_confirm_count ipv6.dhcp_handle.<dhcp_handle>.rx_decline_count ipv6.dhcp_handle.<dhcp_handle>.rx_info_request_count ipv6.dhcp_handle.<dhcp_handle>.rx_rebind_count ipv6.dhcp_handle.<dhcp_handle>.rx_release_count ipv6.dhcp_handle.<dhcp_handle>.rx_renew_count ipv6.dhcp_handle.<dhcp_handle>.rx_request_count ipv6.dhcp_handle.<dhcp_handle>.rx_soilicit_count ipv6.dhcp_handle.<dhcp_handle>.total_bound_count ipv6.dhcp_handle.<dhcp_handle>.total_expired_count ipv6.dhcp_handle.<dhcp_handle>.total_release_count ipv6.dhcp_handle.<dhcp_handle>.total_renewed_count ipv6.dhcp_handle.<dhcp_handle>.tx_advertise_count ipv6.dhcp_handle.<dhcp_handle>.tx_reconfigure_count ipv6.dhcp_handle.<dhcp_handle>.tx_reconfigure_rebind_count ipv6.dhcp_handle.<dhcp_handle>.tx_reconfigure_renew_count ipv6.dhcp_handle.<dhcp_handle>.tx_reply_count
- Description:
The
emulation dhcp server info
function provides statistics about either the specified DHCP or DHCPv6/PD server handles or ports.This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message. Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values for a description of each key.)
Examples:
##DHCP for IPv4 ##
The following example collects statistics on the specified port:
::emulation dhcp server stats action= collect port_handle= port1Sample output for example shown above:
{dhcp_server_state UP} {aggregate {{port1 {{tx {{nak 0} {offer 0} {ack 0}}} {rx {{decline 0} {release 0} {request 0} {inform 0} {discover 0}}}}}}} {status 1}The following example collects statistics on the specified DHCP server:
::emulation dhcp server stats action= collect dhcp_handle= host1Sample output for example shown above:
{dhcp_server_state UP} {dhcp_handle {{host1 {{tx {{nak 0} {offer 0} {ack 0}}} {rx {{decline 0} {release 0} {request 0} {inform 0} {discover 0}}}}}}} {status 1}The following example clears statistics on the specified port:
::emulation dhcp server stats action= clear port_handle= host1Sample output for example shown above:
{status 1}The following example clears statistics on the specified DHCP server:
::emulation dhcp server stats action= clear dhcp_handle= host1Sample output for example shown above:
{status 1}##DHCP for IPv6##
The following example collects statistics on the specified port:
::emulation dhcp server stats action= collect port_handle= port1 ip_version= 6Sample output for example shown above:
{ipv6 {{aggregate {{port1 {{rx_soilicit_count 1} {tx_advertise_count 1} {rx_release_count 0} {total_bound_count 1} {tx_reconfigure_renew_count 0} {total_expired_count 0} {total_renewed_count 0} {rx_decline_count 0} {rx_rebind_count 0} {current_bound_count 1} {rx_renew_count 0} {rx_request_count 1} {tx_reconfigure_count 0} {total_release_count 0} {rx_info_request_count 0} {tx_reply_count 1} {tx_reconfigure_rebind_count 0} {rx_confirm_count 0}}}}}}}The following example clears statistics on the specified port:
::emulation dhcp server stats action= clear port_handle= host1 ip_version= 6Sample output for example shown above:
{status 1}The following example clears statistics on the specified DHCPv6/PD server:
::emulation dhcp server stats action= clear dhcp_handle= host1 ip_version= 6Sample output for example shown above:
{status 1}End of Procedure Header