DHCP Server Functions¶
sth::emulation_dhcp_server_config¶
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
- M indicates that the argument is Mandatory .
- S indicates the argument is for
scaling
scenarios.
sth::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 sth::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 ``sth::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 sub-interface. 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 sub-interface. 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 sub-option (sub-option 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 sub-option (sub-option 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 sub-option (sub-option 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 sub-option (sub-option 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 VPN-ID
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 HMAC-MD5 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 valid-lifetime must be greater than the preferred-lifetime. 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 valid-lifetime must be greater than the preferred-lifetime. 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 HMAC-MD5 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 HMAC-MD5 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 Q-in-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 round-robin 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 round-robin 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 round-robin 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
Cisco-specific 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 ``sth::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 sth::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
sth::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
sth::emulation_dhcp_server_control
function.
Examples¶
#### HLTAPI for Tcl ####
The following example creates a DHCP server on the specified port:
sth::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 11112222
Sample 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:
sth::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 4 \
Sample output for example shown above:
{handle {{port_handle port1} {dhcp_handle host1}}} {status 1}
The following example modifies the created DHCP server:
sth::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 87654321
Sample output for example shown above:
{handle {dhcp_handle host1}}} {status 1}
The following example resets the specified DHCP server:
sth::emulation_dhcp_server_config \
-mode reset \
-handle dhcpserverHandle1
The following example creates a new DHCPv6 server:
sth::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:
sth::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:
sth::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:01
Sample 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 205
The following example is for -qinq_incr_mode outer:
sth::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:01
Sample 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 205
The following example is for -qinq_incr_mode both:
sth::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:01
Sample 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 205
The following example uses the function in DHCPv4 Scaling
mode (-mode activate)
with -port_handle and -block_mode:
set Dhcpv4server_ret [sth::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 [sth::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}}
#### HLTAPI for Python ####
The following example creates a DHCP server on the specified port:
device_ret0 = sth.emulation_dhcp_server_config (
mode = 'create',
ip_version = '4',
encapsulation = 'ETHERNET_II',
ipaddress_count = '251',
ipaddress_pool = '192.85.1.4',
ipaddress_increment = '1',
port_handle = port_handle[0],
count = '1',
lease_time = '3600',
local_mac = '00:10:94:00:00:01',
ip_repeat = '0',
remote_mac = '00:00:01:00:00:01',
ip_address = '192.85.1.3',
ip_prefix_length = '24',
ip_gateway = '192.85.1.1',
ip_step = '0.0.0.1');
Sample Output:
{'status': '1', 'handle': {'port_': 'port1', 'dhcp_': 'host2'}}
The following example creates a DHCPv6 server on the specified port:
device_ret0 = sth.emulation_dhcp_server_config (
mode = 'create',
ip_version = '6',
encapsulation = 'ethernet_ii',
prefix_pool_step = '1',
prefix_pool_per_server= '400',
prefix_pool_start_addr= '2000::2',
prefix_pool_step_per_server= '::',
prefix_pool_prefix_length= '64',
addr_pool_host_step = '::1',
addr_pool_addresses_per_server= '200',
addr_pool_start_addr= '2000::1',
addr_pool_prefix_length= '64',
addr_pool_step_per_server= '1',
port_handle = port_handle[0],
preferred_lifetime = '604800',
enable_delayed_auth = 'false',
valid_lifetime = '2592000',
dhcp_realm = 'spirent.com',
enable_reconfigure_key= 'false',
reneval_time_percent= '50',
rebinding_time_percent= '80',
server_emulation_mode= 'DHCPV6',
local_ipv6_prefix_len= '64',
local_ipv6_addr = '2001::2',
gateway_ipv6_addr_step= '::',
local_ipv6_addr_step= '::1',
gateway_ipv6_addr = '2001::1',
count = '1',
mac_addr = '00:10:94:00:00:02',
mac_addr_step = '00:00:00:00:00:01');
Sample Output:
{'status': '1', 'handle': {'port_': 'port1', 'dhcpv6_': 'host2'}}
#### HLTAPI for Perl ####
#The following example creates a DHCP server on the specified port:
my %device_ret0 = sth::emulation_dhcp_server_config (
mode => 'create',
ip_version => '4',
encapsulation => 'ETHERNET_II',
ipaddress_count => '251',
ipaddress_pool => '192.85.1.4',
ipaddress_increment => '1',
port_handle => "$hport[1]",
count => '1',
lease_time => '3600',
local_mac => '00:10:94:00:00:01',
ip_repeat => '0',
remote_mac => '00:00:01:00:00:01',
ip_address => '192.85.1.3',
ip_prefix_length => '24',
ip_gateway => '192.85.1.1',
ip_step => '0.0.0.1');
Sample Output:
$VAR1 = 'handle';
$VAR2 = {
'dhcp_handle' => 'host2',
'port_handle' => 'port1'
};
$VAR3 = 'status';
$VAR4 = '1';
The following example creates a DHCPv6 server on the specified port:
my %device_ret0 = sth::emulation_dhcp_server_config (
mode => 'create',
ip_version => '6',
encapsulation => 'ethernet_ii',
prefix_pool_step => '1',
prefix_pool_per_server=> '400',
prefix_pool_start_addr=> '2000::2',
prefix_pool_step_per_server=> '::',
prefix_pool_prefix_length=> '64',
addr_pool_host_step => '::1',
addr_pool_addresses_per_server=> '200',
addr_pool_start_addr=> '2000::1',
addr_pool_prefix_length=> '64',
addr_pool_step_per_server=> '1',
port_handle => "$hport[1]",
preferred_lifetime => '604800',
enable_delayed_auth => 'false',
valid_lifetime => '2592000',
dhcp_realm => 'spirent.com',
enable_reconfigure_key=> 'false',
reneval_time_percent=> '50',
rebinding_time_percent=> '80',
server_emulation_mode=> 'DHCPV6',
local_ipv6_prefix_len=> '64',
local_ipv6_addr => '2001::2',
gateway_ipv6_addr_step=> '::',
local_ipv6_addr_step=> '::1',
gateway_ipv6_addr => '2001::1',
count => '1',
mac_addr => '00:10:94:00:00:02',
mac_addr_step => '00:00:00:00:00:01');
Sample Output:
$VAR1 = 'handle';
$VAR2 = {
'dhcpv6_handle' => 'host2',
'port_handle' => 'port1'
};
$VAR3 = 'status';
$VAR4 = '1';
Note
Custom option with the same prefix are inter-dependent. If you specify one of them, you must also specify other options. The length of each option should be the same. For example:
-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}
End of Procedure Header
sth::emulation_dhcp_server_relay_agent_config¶
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 that the argument is Mandatory .
sth::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 sth::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 sth::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
sth::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
sth::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 sub-option (sub-option 1) of the DHCP ACK option relay agent information option (Option 82). The intended use for the circuit ID sub-option 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 sub-option (sub-option 2) of the DHCP ACK Option relay agent information option (Option 82). The Remote ID sub-option 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 sub-option 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 sub-option 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
sth::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
sth::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
sth::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
sth::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
sth::emulation_dhcp_server_config
function. Possible values are:nvt_ascii Network Virtual Terminal (NVT) ASCII VPN Identifier rfc_2685 RFC 2685 VPN-ID
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 sth::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 sth::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¶
#### HLTAPI for Tcl ####
To create a DHCP server relay agent address pool:
# step1: Config DHCP server host
set returnedString [ sth::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 [ sth::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.55
The 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.55
Sample Output:
{pool_handles {dhcpv4serverpoolconfig1 dhcpv4serverpoolconfig2}}
{status 1}
#### HLTAPI for Python ####
To create a DHCP server relay agent address pool:
# step1: Config DHCP server host
device_ret0 = sth.emulation_dhcp_server_config (
mode = 'create',
ip_version = '4',
encapsulation = 'ETHERNET_II',
ipaddress_count = '251',
ipaddress_pool = '192.85.1.4',
ipaddress_increment = '1',
port_handle = port_handle[0],
count = '1',
lease_time = '3600',
local_mac = '00:10:94:00:00:01',
ip_repeat = '0',
remote_mac = '00:00:01:00:00:01',
ip_address = '192.85.1.3',
ip_prefix_length = '24',
ip_gateway = '192.85.1.1',
ip_step = '0.0.0.1');
dhcpserver_handle = device_ret0['handle.dhcp_handle']
# step2: create a relay agent address pool
device_ret0_agent0 = sth.emulation_dhcp_server_relay_agent_config (
mode = 'create',
handle = dhcpserver_handle,
relay_agent_ipaddress_count= '255',
relay_agent_ipaddress_pool= '192.0.1.0',
relay_agent_ipaddress_step= '0.0.0.1',
prefix_length = '24');
Sample Output:
{'status': '1', 'pool_handles': 'dhcpv4serverpoolconfig1'}
#### HLTAPI for Perl ####
To create a DHCP server relay agent address pool:
# step1: Config DHCP server host
my %device_ret0 = sth::emulation_dhcp_server_config (
mode => 'create',
ip_version => '4',
encapsulation => 'ETHERNET_II',
ipaddress_count => '251',
ipaddress_pool => '192.85.1.4',
ipaddress_increment => '1',
port_handle => "$hport[1]",
count => '1',
lease_time => '3600',
local_mac => '00:10:94:00:00:01',
ip_repeat => '0',
remote_mac => '00:00:01:00:00:01',
ip_address => '192.85.1.3',
ip_prefix_length => '24',
ip_gateway => '192.85.1.1',
ip_step => '0.0.0.1');
my $dhcpserver_handle = join( " ", $device_ret0{handle}{dhcp_handle});
# step2: create a relay agent address pool
my %device_ret0_agent0 = sth::emulation_dhcp_server_relay_agent_config (
mode => 'create',
handle => "$dhcpserver_handle",
relay_agent_ipaddress_count=> '255',
relay_agent_ipaddress_pool=> '192.0.1.0',
relay_agent_ipaddress_step=> '0.0.0.1',
prefix_length => '24');
Sample Output:
$VAR1 = 'pool_handles';
$VAR2 = 'dhcpv4serverpoolconfig1';
$VAR3 = 'status';
$VAR4 = '1';
End of Procedure Header
sth::emulation_dhcp_server_control¶
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 that the argument is Mandatory .
sth::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 sth::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 sth::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¶
#### HLTAPI for Tcl ####
To connect the specified DHCP server:
sth::emulation_dhcp_server_control \
-action connect \
-dhcp_handle dhcpserverHandle
To connect all DHCP servers on the specified port:
sth::emulation_dhcp_server_control \
-action connect \
-port_handle port1
To renew the specified DHCP server:
sth::emulation_dhcp_server_control \
-action renew \
-dhcp_handle dhcpserverHandle
To renew all DHCP servers on the specified port:
sth::emulation_dhcp_server_control \
-action renew \
-port_handle port1
To reset the specified DHCP server:
sth::emulation_dhcp_server_control \
-action reset \
-dhcp_handle dhcpserverHandle
To reset all DHCP servers on the specified port:
sth::emulation_dhcp_server_control \
-action renew \
-port_handle port1
DHCPv6/PD:
To connect the specified DHCPv6/PD server:
sth::emulation_dhcp_server_control \
-action connect \
-dhcp_handle dhcpserverHandle \
-ip_version 6
To connect all DHCPv6/PD servers on the specified port:
sth::emulation_dhcp_server_control \
-action connect \
-port_handle port1 \
-ip_version 6
To renew the specified DHCPv6/PD server:
sth::emulation_dhcp_server_control \
-action renew \
-dhcp_handle dhcpserverHandle \
-ip_version 6
To renew all DHCPv6/PD servers on the specified port:
sth::emulation_dhcp_server_control \
-action renew \
-port_handle port1 \
-ip_version 6
To reset the specified DHCPv6/PD server:
sth::emulation_dhcp_server_control \
-action reset \
-dhcp_handle dhcpserverHandle \
-ip_version 6
To reset all DHCPv6/PD servers on the specified port:
sth::emulation_dhcp_server_control \
-action renew \
-port_handle port1 \
-ip_version 6
Sample Output:
{status 1}
#### HLTAPI for Python ####
To connect all DHCP servers on the specified port:
results_ret1 = sth.emulation_dhcp_server_stats (
port_handle = port_handle[0],
action = 'COLLECT',
ip_version = '4');
To connect all DHCPv6 servers on the specified port:
ctrl_ret1 = sth.emulation_dhcp_server_control (
port_handle = port_handle[0],
action = 'connect',
ip_version = '6');
Sample Output:
{'status': '1'}
#### HLTAPI for Perl ####
To connect all DHCP servers on the specified port:
my %ctrl_ret1 = sth::emulation_dhcp_server_control (
port_handle => "$hport[1]",
action => 'connect',
ip_version => '4');
To connect all DHCPv6 servers on the specified port:
my %ctrl_ret1 = sth::emulation_dhcp_server_control (
port_handle => "$hport[1]",
action => 'connect',
ip_version => '6');
Sample Output:
$VAR1 = 'status';
$VAR2 = '1';
End of Procedure Header
sth::emulation_dhcp_server_stats¶
Purpose¶
Returns statistics of the DHCPv6/PD server.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 sth::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¶
#### HLTAPI for Tcl ####
##DHCP for IPv4 ##
The following example collects statistics on the specified port:
::sth::emulation_dhcp_server_stats
-action collect \
-port_handle port1
Sample 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:
::sth::emulation_dhcp_server_stats
-action collect \
-dhcp_handle host1
Sample 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:
::sth::emulation_dhcp_server_stats
-action clear \
-port_handle host1
- Sample output for example shown above::
- {status 1}
The following example clears statistics on the specified DHCP server:
::sth::emulation_dhcp_server_stats
-action clear \
-dhcp_handle host1
Sample output for example shown above:
{status 1}
##DHCP for IPv6##
The following example collects statistics on the specified port:
::sth::emulation_dhcp_server_stats
-action collect \
-port_handle port1 \
-ip_version 6
Sample 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:
::sth::emulation_dhcp_server_stats
-action clear \
-port_handle host1 \
-ip_version 6
Sample output for example shown above:
{status 1}
The following example clears statistics on the specified DHCPv6/PD server:
::sth::emulation_dhcp_server_stats
-action clear \
-dhcp_handle host1 \
-ip_version 6
Sample output for example shown above:
{status 1}
#### HLTAPI for Python ####
Sample Input for DHCP for IPv4:
results_ret1 = sth.emulation_dhcp_server_stats (
port_handle = port_handle[0],
action = 'COLLECT',
ip_version = '4');
Sample Output:
{'aggregate': {'port1': {'rx': {'release': '0', 'decline': '0', 'request': '0',
'discover': '0', 'inform': '0'}, 'tx': {'ack': '0', 'nak': '0', 'offer': '0'}}},
'status': '1', 'dhcp_server_state': 'NONE'}
Sample Input for DHCP for IPv6:
results_ret1 = sth.emulation_dhcp_server_stats (
port_handle = port_handle[0],
action = 'COLLECT',
ip_version = '6');
Sample Output:
{'status': '1', 'dhcp_server_state': 'NONE', 'ipv6': {'aggregate': {'port1'::
{'rx_request_count': '0', 'rx_decline_count': '0', 'tx_advertise_count': '0',
'rx_renew_count': '0', 'tx_reconfigure_count': '0', 'rx_soilicit_count': '0',
'total_bound_count': '0', 'rx_release_count': '0', 'total_expired_count': '0',
'tx_reply_count': '0', 'rx_info_request_count': '0', 'total_release_count': '0',
'tx_reconfigure_renew_count': '0', 'current_bound_count': '0',
'rx_rebind_count': '0', 'rx_confirm_count': '0', 'tx_reconfigure_rebind_count': '0',
'total_renewed_count': '0'}}}}
#### HLTAPI for Perl ####
Sample Input for DHCP for IPv4:
my %results_ret1 = sth::emulation_dhcp_server_stats (
port_handle => "$hport[1]",
action => 'COLLECT',
ip_version => '4');
Sample output:
$VAR1 = 'status';
$VAR2 = '1';
$VAR3 = 'aggregate';
$VAR4 = {
'port1' => {
'tx' => {
'nak' => '0',
'ack' => '0',
'offer' => '0'
},
'rx' => {
'request' => '0',
'discover' => '0',
'release' => '0',
'inform' => '0',
'decline' => '0'
}
}
};
$VAR5 = 'dhcp_server_state';
$VAR6 = 'NONE';
Sample Input for DHCP for IPv6:
my %results_ret1 = sth::emulation_dhcp_server_stats (
port_handle => "$hport[1]",
action => 'COLLECT',
ip_version => '6');
Sample output:
$VAR1 = 'ipv6';
$VAR2 = {
'aggregate' => {
'port1' => {
'tx_reconfigure_rebind_count' => '0',
'rx_decline_count' => '0',
'rx_request_count' => '0',
'current_bound_count' => '0',
'total_expired_count' => '0',
'tx_reconfigure_renew_count' => '0',
'total_renewed_count' => '0',
'tx_reconfigure_count' => '0',
'rx_soilicit_count' => '0',
'total_release_count' => '0',
'rx_info_request_count' => '0',
'rx_confirm_count' => '0',
'rx_release_count' => '0',
'total_bound_count' => '0',
'tx_reply_count' => '0',
'rx_renew_count' => '0',
'rx_rebind_count' => '0',
'tx_advertise_count' => '0'
}
}
};
$VAR3 = 'status';
$VAR4 = '1';
$VAR5 = 'dhcp_server_state';
$VAR6 = 'NONE';
End of Procedure Header