ANCP Functions¶
sth::emulation_ancp_config¶
Purpose¶
Creates, modifies, or deletes emulated Access Node Control Protocol(ANCP. Also known as L2CP or L2C) client devices on a Spirent HLTAPI chassis. When a device is created or modified, the user can specify configuration option. ANCP facilitates the tasks of subscriber port discovery and configuration. It operates between a service oriented network access server (e.g., Broadband Network Gateway, Broadband Remote Access Server) and an access node (e.g., Digital Subscriber Line Access Multiplexer) in order to convey subscriber line information and policies.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_ancp_config [-mode {create|modify|delete} M] [-port_handle <port_handle>] [-handle <handle>] [-ancp_standard {ietf-ancp-protocol2|gsmp-l2control-config2|rfc_6320}] [-bulk_transaction {0|1}] [-code <0-4095>] [-device_count <integer>] [-encap_type {ETHERNETII|VC_MUX|LLC_SNAP|ATM_LLC_SNAP_ETHERNETII| ATM_VC_MUX_ETHERNETII}] [-gateway_ip_addr <a.b.c.d>] [-gateway_ip_repeat <integer>] [-gateway_ip_step <a.b.c.d>] [-gateway_ip_prefix_len <1-32>] [-gateway_ip_prefix <integer>] [-intf_ip_addr <a.b.c.d>] [-intf_ip_repeat <integer>] [-intf_ip_step <a.b.c.d>] [-intf_ip_prefix_len <1-32>] [-intf_ip_prefix <integer>] [-keep_alive <1-25>] [-local_mac_addr <aa:bb:cc:dd:ee:ff>] [-local_mac_step <aa:bb:cc:dd:ee:ff>] [-local_mac_repeat <integer>] [-partition_type {NO_PARTITION|FIXED_PARTITION_REQUEST| FIXED_PARTITION_ASSIGNED}] [-partition_flag {NEW_ADJACENCY|RECOVERED_ADJACENCY}] [-partition_id <0-255>] [-sut_ip_addr <a.b.c.d>] [-sut_ip_repeat <integer>] [-sut_ip_step <a.b.c.d>] [-sut_ip_prefix_len <integer>] [-sut_ip_prefix <integer>] [-tcp_port <integer>] [-topology_discovery {0|1}] [-vci <0-65535>] [-vci_step <0-65535>] [-vci_repeat <0-65535>] [-vlan_id <0-4095>] [-vlan_id_count <integer>] [-vlan_id_repeat <integer>] [-vlan_id_step <integer>] [-vlan_id_inner <0-4095>] [-vlan_id_count_inner <integer>] [-vlan_id_repeat_inner <integer>] [-vlan_id_step_inner <integer>] [-vpi <0-255>] [-vpi_step <0-255>] [-vpi_repeat <0-255>]
Arguments¶
-
-mode
¶
Specifies the action to perform on the test port. This is a Mandatory argument. Possible values are create, modify, and delete. Every mode except create requires a valid ANCP device handle. You can delete multiple devices once, but you can only modify one device once. The modes are described below:
create Creates one or more ANCP devices on the port specified with the -port_handle argument. You must specified the -port_handle argument. modify Changes the configuration for the ANCP device identified by the -handle argument. You must specify the -handle argument. delete Deletes all of the ANCP devices specified in the -port_handle argument, or delete the device specified by -handle. You must specify either of the two. If both are configured, Spirent HLTAPI uses -port_handle for this mode.
Note
The enable, disable, enable_all, and disable_all modes are not supported.
-
-port_handle
¶
Specifies the port on which to create the ANCP device when mode is set to “create”. This argument is Mandatory only for create mode.
-
-handle
¶
Identifies the device to be modified or deleted. This argument is Mandatory only for modify or delete modes. You must specify either -handle or -port_handle, but not both.
-
-ancp_standard
¶
Specifies the ANCP standard to be used. Possible values are ietf-ancp-protocol2, gsmp-l2control-config2, and rfc_6320.
-
-bulk_transaction
¶
Spirent Extension (for Spirent HLTAPI only).
Enables or disables bulk transaction capabilities. In a bulk transaction, several messages can be bundled together in a single transaction. Possible values are 0 (disabled) and 1 (enabled). The default value is 0. You can specify this argument only when -ancp_standard is set to ietf-ancp-protocol2.
-
-code
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the Code field for the Adjacency Update message. Possible values range from 0 to 4095. The default value is 0. You can specify this argument when -ancp_standard is set to rfc_6320.
-
-device_count
¶
Specifies the number of emulated ANCP devices to create. The default value is 1.
-
-encap_type
¶
Specifies the type of Layer 2 encapsulation. Possible values are:
ETHERNETII Specifies the Layer 2 encapsulation to be Ethernet II frame. This option is available for Ethernet cards. VC_MUX Specifies ATM encapsulation to VC Multiplexed. Virtual Circuit Multiplexing (VC_MUX) is one of the two mechanisms for identifying the protocol carried in ATM Adaptation Layer5 (AAL5) frame. This option is available for ATM cards. LLC_SNAP Specifies ATM encapsulation to LLC Encapsulated. LLC_SNAP is the other mechanism for identifying the protocol carried in AAL5 frame. This option is available for ATM cards. ATM_LLC_SNAP_ETHERNETII 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_ETHERNETII 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.
The default value is ETHERNETII.
Note
SAF (IEEE 802.3/802.2) type and SNAP (IEEE 802.3/802.2 SNAP) type are .
-
-gateway_ip_addr
¶
Configures the IPv4 gateway address of the ANCP device. You must specify this argument in IPv4 format. The default is 192.85.1.1. This is the default gateway for routing the IPv4 address you specified in the -intf_ip_addr argument. The default gateway is the device that Spirent HLTAPI will use to reach hosts not on its local network. The value of this argument may be an IPv4 address or multiple IPv4 addresses in a list. When the value is a list, the number of IPv4 addresses in the list should be equal to the number of devices specified by -device_count. Meanwhile, the related step, the repeat, and the count options are invalid.
-
-gateway_ip_repeat
¶
Specifies the number of times the gateway IPv4 address should be repeated, before the step that is specified by the -gateway_ip_step argument is applied to the gateway IP address for incrementing. The default value is the number you specified by -device_count.
-
-gateway_ip_step
¶
Defines the increment used to generate gateway IPv4 addresses (-gateway_ip_addr) for emulated devices. The default value is 0.0.0.1.
-
-gateway_ip_prefix_len
¶
Specifies the gateway IPv4 mask for the IPv4 devices advertised. Possible values range from 1 to 32. The default value is 24. This argument determines the network ID and the subnet.
-
-gateway_ip_prefix
¶
Defines the prefix of gateway IPv4 addresses.
-
-intf_ip_addr
¶
Specifies the IPv4 address of the interface for the ANCP emulated device that will establish an adjacency with the DUT. It may be an IPv4 address or multiple IPv4 addresses in a list. When the value is a list, the number of IPv4 addresses in the list should be equal to the number of devices specified by -device_count. Meanwhile, the related step, the repeat, and the count options are invalid. The default is 192.85.1.3.
-
-intf_ip_repeat
¶
Defines the number of times an interface IPv4 address should be repeated before applying the step (-intf_ip_step).
-
-intf_ip_step
¶
Specifies the difference between interface IPv4 addresses of consecutive devices when multiple ANCP devices are created. The default increment is 0.0.0.1. This argument is only applicable in create mode.
-
-intf_ip_prefix_len
¶
Specifies the prefix length of the emulated device. Possible values for IPv4 addresses range from 1 to 32; the default is 24.
-
-intf_ip_prefix
¶
Specifies the prefix of interface IPv4 addresses.
-
-keep_alive
¶
Specifies the intervals (in seconds) between two keep alive messages sent from ANCP devices. Possible values range from 1 to 25.
-
-local_mac_addr
¶
Specifies the first MAC address of the emulated ANCP devices to use when emulating multiple devices. The default is 00:10:94:00:00:01.You must specify the value in MAC address format. It may be a MAC address or multiple MAC addresses in a list. When the value is a list, the number of MAC addresses in the list should be equal to the number of devices specified by -device_count. Meanwhile, the related step, the repeat, and the count options are invalid.
-
-local_mac_step
¶
Specifies the increment to use to generate additional MAC addresses for multiple devices. The default is 00.00.00.00.00.01. You must specify the value in the format of the MAC address.
-
-local_mac_repeat
¶
Specifies the number of times a MAC address should be repeated, before the step you specified by -local_mac_step is applied to the MAC address for incrementing. The default value is 1.
-
-partition_type
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the partition type. You can specify this argument when -ancp_standard is set to rfc_6320. Possible values are:
NO_PARTITION No partition FIXED_PARTITION_REQUEST Fixed partition request FIXED_PARTITION_ASSIGNED Fixed partition assigned
The default value is NO_PARTITION.
-
-partition_flag
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the partition flag. You can specify this argument when -ancp_standard is set to rfc_6320. Possible values are:
NEW_ADJACENCY New adjacency RECOVERED_ADJACENCY Recovered adjacency The default value is NEW_ADJACENCY.
-
-partition_id
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the partition ID. You can specify this argument when -ancp_standard is set to rfc_6320. Possible values range from 0 to 255. The default value is 0.
-
-sut_ip_addr
¶
Defines the IPv4 address of System Under Test (SUT) that is adjacent to the test interface or the emulated ANCP device. It may be an IPv4 address or multiple IPv4 addresses in a list. When the value is a list, the number of IPv4 addresses in the list should be equal to the number of devices specified by -device_count. Meanwhile, the related step, repeat, and count options are invalid.
-
-sut_ip_repeat
¶
Specifies the number of times a SUT address should be repeated, before the step (-sut_ip_step) is applied to the SUT address for incrementing. The default value is the number defined by -device_count.
-
-sut_ip_step
¶
Specifies the step size in which the IPv4 address of the SUT is incremented. The default is 0.0.0.1.
-
-sut_ip_prefix_len
¶
Specifies the IPv4 subnet mask for the SUT specified by the -sut_ip_addr argument. Possible values range from 1 to 32. The default value is 24.
-
-sut_ip_prefix
¶
Specifies the prefix of the SUT addresses.
-
-tcp_port
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the Transfer Control Protocol (TCP) port to be used in ANCP/TCP connection. ANCP uses TCP for exchanging protocol messages. The default value is 6068.
-
-topology_discovery
¶
Enables or Disables the topology discovery functionality. When you enable this argument, the DUT can use topology discovery to get the information about the access network and subscriber traffic from the emulated ANCP device. Possible values are 0 (disabled) and 1 (enabled).
-
-vci
¶
Specifies the Virtual Circuit Identifier (VCI) of the first ATM PVC pool. Possible values range from 0 to 65535. The default is 100. You can specify this argument when -encap_type is set to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vci_step
¶
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 -encap_type is set to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vci_repeat
¶
Specifies the number of times the VCI value should be repeated, before the step (-vci_step) is applied to the VCI value for incrementing. Possible values range from 0 to 65535. The default is 0. You can specify this argument when -encap_type is set to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vlan_id
¶
Defines the Virtual LAN (VLAN) ID of the first VLAN sub-interface. Possible values range from 0 to 4095. It may be a VLAN ID or multiple VLAN IDs in a list. When the value is a list, the number of VLAN IDs in the list should be equal to the number of devices specified by -device_count. Meanwhile, the related step, repeat, and count options are invalid. You can specify this argument when -encap_type is set to ETHERNETII, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
Note
If arguments about Inner VLAN are specified, -vlan_id, -vlan_id_count, -vlan_id_repeat, and -vlan_id_step indicate the ID, number, repeat, and step of Outer VLAN.
-
-vlan_id_count
¶
Specifies the number of VLAN IDs to use when generating ANCP devices. The default value is 1. Please refer to the note in the -vlan_id argument.
-
-vlan_id_repeat
¶
Specifies the number of times a VLAN ID should be repeated, before the step (-vlan_id_step) is applied to the VLAN ID for incrementing. The default value is the number you specified by -device_count. Please refer to the note in the -vlan_id argument.
-
-vlan_id_step
¶
Specifies the increment to use for generating additional VLAN IDs. When you specify the -vlan_id_repeat argument or the -vlan_id_count argument, the default value of this argument is 1. Please refer to the note in the -vlan_id argument.
-
-vlan_id_inner
¶
Defines the VLAN ID of the first Inner VLAN sub-interface. Possible values range from 0 to 4095. You can specify this argument when -encap_type is set to ETHERNETII , ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vlan_id_count_inner
¶
Specifies the number of the Inner VLAN IDs to use when generating ANCP devices. The default value is 1.
-
-vlan_id_repeat_inner
¶
Specifies the number of times an Inner VLAN ID should be repeated, before the step (-vlan_id_step_inner) is applied to the Inner VLAN ID for incrementing. The default value is the number of devices you specified by -device_count.
-
-vlan_id_step_inner
¶
Specifies the increment to use for generating additional Inner VLAN IDs. The default value is 1.
-
-vpi
¶
Specifies the Virtual Path Identifier (VPI) of the first ATM PVC pool (for an ATM connection). Possible values are 0 to 255. The default is 100. You can specify this argument when -encap_type is set to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vpi_step
¶
Specifies the step size in which the VPI value is incremented. Possible values are 0 to 255. The default is 1. You can specify this argument when -encap_type is set to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
-
-vpi_repeat
¶
Specifies the number of times the VPI value should be repeated, before the step (-vpi_step) is applied to the VPI value for incrementing. Possible values range from 0 to 255. The default is 0. You can specify this argument when -encap_type is specified to VC_MUX, LLC_SNAP, ATM_LLC_SNAP_ETHERNETII or ATM_VC_MUX_ETHERNETII.
Arguments Unsupported by Save as HLTAPI¶
The following Spirent HLTAPI arguments are currently by the Save as HLTAPI function:
-gateway_ip_repeat
-intf_ip_repeat
-local_mac_repeat
-sut_ip_repeat
-vlan_id_repeat
-vlan_id_repeat_inner
Cisco-specific Arguments¶
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
-intf_ip_prefix
-session_count
-remote_mac_addr
-remote_mac_step
-remote_mac_repeat
-gateway_ipv6_addr
-gateway_ipv6_repeat
-gateway_ipv6_step
-gateway_ip_prefix
-gateway_ip_prefix_len
-gateway_ipv6_prefix_len
-gateway_ipv6_prefix
-gsmp_standard
-return_receipt
-events_per_interval
-interval
-line_config
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 Identifies the list of created ANCP devices
status Success (1) or failure (0) of the operation
log An error message (if the operation failed).
Description¶
The sth::emulation_ancp_config
function creates or deletes a list of emulated
ANCP client device. This function can modify one emulated device once. Use
the -mode argument to specify the action to perform. (See the -mode argument
description for information about the actions.)
Before using this function, you must specify “-mode create” when configuring
emulated ANCP devices on a port and initialize the port handle argument
(using the sth::emulation_ancp_config
function).
You can call this function once to create multiple devices on a port. The number of devices to create is specified by the -device_count argument.
Once the ANCP devices have been configured, a handle is created, which can be used to modify the parameters. You can call this function once to modify one created device. If you want to modify multiple devices, you can call this function multiple times to do this. (See the -mode argument description for more information).
You must specify the -mode (create, modify, or delete) argument.
For information about the protocol, see “Protocol for Access Node Control Mechanism in Broadband Networks.”
Examples¶
#### HLTAPI for Tcl ####
The following example configures ANCP devices on a port:
sth::emulation_ancp_config -mode create \
-port_handle $port1 \
-local_mac_addr 00:10:94:A0:00:02 \
-local_mac_step 00:00:00:00:00:01 \
-intf_ip_addr 192.168.4.2 \
-intf_ip_step 0.0.0.1 \
-gateway_ip_addr 192.168.4.1 \
-sut_ip_addr 192.168.4.1 \
-keep_alive 10 \
-ancp_standard "ietf-ancp-protocol2"
Output:
{handle router1} {status 1}
#### HLTAPI for Python ####
The following example configures ANCP devices on a port:
sth.emulation_ancp_config (
mode = 'create',
encap_type = 'ETHERNETII',
sut_ip_addr = '192.85.1.2',
sut_ip_prefix_len = '24',
port_handle = port_handle[0],
vlan_id_inner = '100',
ancp_standard = 'ietf-ancp-protocol2',
topology_discovery = '1',
tcp_port = '6068',
bulk_transaction = '1',
keep_alive = '10',
local_mac_addr = '00:10:94:00:00:01',
intf_ip_prefix_len = '24',
intf_ip_addr = '192.85.1.3',
gateway_ip_addr = '192.85.1.2');
Sample Output:
{'status': '1', 'handle': 'router1'}
#### HLTAPI for Perl ####
The following example configures ANCP devices on a port:
my %device_ret2 = sth::emulation_ancp_config (
mode => 'create',
encap_type => 'ETHERNETII',
sut_ip_addr => '192.85.1.2',
sut_ip_prefix_len => '24',
port_handle => "$hport[1]",
vlan_id_inner => '100',
ancp_standard => 'ietf-ancp-protocol2',
topology_discovery => '1',
tcp_port => '6068',
bulk_transaction => '1',
keep_alive => '10',
local_mac_addr => '00:10:94:00:00:01',
intf_ip_prefix_len => '24',
intf_ip_addr => '192.85.1.3',
gateway_ip_addr => '192.85.1.2');
Sample Output:
$VAR1 = 'handle';
$VAR2 = 'router1';
$VAR3 = 'status';
$VAR4 = '1';
End of Procedure Header
sth::emulation_ancp_subscriber_lines_config¶
Purpose¶
Creates, modifies, or deletes emulated subscriber lines behind an ANCP enabled Access Node on a Spirent HLTAPI chassis. When a subscriber line is created or modified, the user can specify the configuration option.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth:: emulation_ancp_subscriber_lines_config [-mode {create|modify|delete} M] [-ancp_client_handle <ancp_session_handle>] [-ancp_subscriber_lines_handle <ancp_subscriber_lines_handle>] [-handle <handle>] [-subscriber_lines_per_access_node <integer>] [-subscriber_protocol {ppp|dhcp } [-circuit_id <circuit ID>] [-remote_id <remote ID>] [-circuit_id_suffix <integer>] [-circuit_id_suffix_step <integer>] [-circuit_id_suffix_repeat <integer>] [-vlan_allocation_model {1_1|N_1} ] [-enable_c_vlan {0|1}] [-customer_vlan_id <VLAN ID>] [-customer_vlan_id_step <0-4095>] [-customer_vlan_id_repeat <integer>] [-include_encap {0|1}] [-data_link { ethernet|atm_aal5}] [-encap1 {na|untagged_ethernet|single_tagged_ethernet}] [-encap2 {na|pppoa_llc|pppoa_null|ipoa_llc|ipoa_null|aal5_llc_w_fcs| aal5_llc_wo_fcs|aal5_null_w_fcs|aal5_null_wo_fcs}] [-dsl_type { adsl1|adsl2|adsl2_plus|vdsl1|vdsl2|sdsl|unknown}] [-actual_rate_upstream <integer>] [-actual_rate_upstream_step <integer>] [-actual_rate_upstream_repeat <integer>] [-upstream_min_rate <integer>] [-upstream_max_rate <integer>] [-upstream_attainable_rate <integer>] [-upstream_min_low_power_rate <integer>] [-upstream_max_interleaving_delay <integer>] [-upstream_act_interleaving_delay <integer>] [-actual_rate_downstream <integer>] [-actual_rate_downstream_step <integer>] [-actual_rate_downstream_repeat <integer>] [-downstream_min_rate <integer>] [-downstream_max_rate <integer>] [-downstream_attainable_rate <integer>] [-downstream_min_low_power_rate] [-downstream_max_interleaving_delay <integer>] [-downstream_act_interleaving_delay <integer>] [-remote_id_suffix <integer>] [-remote_id_suffix_step <integer>] [-remote_id_suffix_repeat <integer>] [-tlv_service_vlan_id <integer|wildcard>] [-tlv_service_vlan_id_wildcard {0|1}] [-tlv_customer_vlan_id <integer|wildcard>] [-tlv_customer_vlan_id_wildcard {0|1}]
Arguments¶
-
-mode
¶
Creates, modifies or deletes the subscriber line connected with the created ANCP client device. This is a Mandatory argument. Possible values are create, modify, and delete. Every mode except create requires a valid ANCP subscriber line pool handle. The modes are described below:
create Creates one or more ANCP subscriber lines on the ANCP device specified by the -ancp_client_handle argument. You must specified the -ancp_client_handle argument. modify Changes the configuration for the ANCP subscriber line identified by the -ancp_subscriber_lines_handle argument. In modify mode, you must specify both -ancp_client_handle and -ancp_subscriber_lines_handle. You can modify one subscriber line (-ancp_subscriber_lines_handle) once. If you want to modify multiple subscriber lines, you must call this command multiple times. delete Deletes all of the ANCP subscriber lines configurations specified in the -handle argument. You must specify the -handle argument. You must provide ANCP subscriber line return handle as -handle. Example: sth::emulation_ancp_subscriber_lines_config \ -mode delete \ -handle ancpaccessloopblockconfig1
Note
The enable, disable, enable_all, and disable_all modes are .
-
-ancp_client_handle
¶
Defines the handle of the emulated ANCP client device connected with the subscriber lines to be created and modified. You must specify both -ancp_client_handle and -handle in modify mode when a host is attached to ANCP subscriber line configuration.
-
-handle
¶
Specifies the subscriber lines to be created, modified, or deleted. This argument is Mandatory for create or modify modes when there is a host (DHCP/PPP) attached to ANCP subscriber line configuration.
-
-ancp_subscriber_lines_handle
¶
Specifies the ancp subscriber lines to be modified. This argument is only for modify mode. You must specify both -ancp_client_handle and -handle when a host is attached to ANCP subscriber line configuration.
-
-subscriber_lines_per_access_node
¶
Specifies the number of subscriber lines per emulated ANCP device, that is, the Access Node. The default value is 1.
-
-subscriber_protocol
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the type of subscriber session protocol to use. Possible values are ppp and dhcp. The default value is dhcp. This argument is available when -mode is set to modify.
-
-circuit_id
¶
Specifies the Circuit ID which identifies each subscriber line connected with one device.
-
-remote_id
¶
Specifies the Remote Circuit ID which identifies each subscriber line connected with the remote device. You can specify this argument when the -ancp_standard argument is set to ietf-ancp-protocol2.
-
-circuit_id_suffix
¶
Defines the suffix to append to the circuit ID specified in the -circuit_id argument.
-
-circuit_id_suffix_step
¶
Defines the increment used to generate circuit ID suffixes (-circuit_id_suffix). The default is 1.
-
-circuit_id_suffix_repeat
¶
Specifies the number of times a circuit ID suffix should be repeated, before the step that is specified in the -circuit_id_suffix_step argument is applied to the circuit ID suffix for incrementing. The default is 1.
-
-vlan_allocation_model
¶
Defines the VLAN allocation model used to identify the subscriber lines. Possible values are 1_1 and N_1:
1_1 - Specifies the 1:1 VLAN allocation model. Stacked VLAN tags provide one possible way to create equivalent of "virtual paths" and "virtual circuits" in the aggregation network. The "outer" VLAN could be used to create a form of "virtual path" between a given NAS and a given DSLAM. And "inner" VLAN tags to create a form of "virtual circuit" on a per DSL line basis. N_1 - Specifies the N:1 VLAN allocation model that is to bridge sessions from multiple subscriber line behind a DSLAM into a single VLAN in the aggregation network.
-
-enable_c_vlan
¶
Enables or disables customer VLAN ID that is the unique public network VLAN ID provided by QinQ protocol. Possible values are 0 (disabled) and 1 (enabled). When the value is set to 1, customer VLAN ID is enabled. You can specify this argument when -vlan_allocation_model is set to 1_1.
-
-customer_vlan_id
¶
Specifies the starting customer VLAN ID to use when generating ANCP devices. You can specify this argument only when -vlan_allocation_model is set to 1_1 and -enable_c_vlan is set to 1. The default value is 1.
-
-customer_vlan_id_step
¶
The value that Spirent HLTAPI uses to increment the customer VLAN ID. Possible step values range from 0 to 4095. The default is 1. You can specify this argument only when -vlan_allocation_model is set to 1_1 and -enable_c_vlan is set to 1.
-
-customer_vlan_id_repeat
¶
Specifies the number of times a customer VLAN ID should be repeated, before the step (-customer_vlan_id_step) is applied to the customer VLAN ID for incrementing. You can specify this argument only when -vlan_allocation_model is set to 1_1 and -enable_c_vlan is set to 1.
-
-include_encap
¶
Specifies whether or not Access Loop Encapsulation Threshold Limit Value (TLV) is included in ANCP messages. Access Loop Encapsulation TLV is an optional TLV for ANCP. This TLV includes the Data Link Protocol (-data_link) and, optionally the encapsulation (-encap1 and -encap2) overhead on the Access Loop. Possible values are 0 and 1. When you specify this argument to 1, Access Loop Encapsulation TLV will be included in ANCP messages. When this TLV is present, the data link protocol must be indicated. Optionally, the encapsulation overhead can be indicated. You can specify this argument when -ancp_standard is set to ietf-ancp-protocol2.
-
-data_link
¶
Defines the Access Loop Data Link. Possible values are ethernet and atm_aal5. You must use this argument when -include_encap is set to 1. Please refer to -include_encap.
-
-encap1
¶
Defines the Access Loop Encapsulation 1. Possible values are na, untagged_ethernet, and single_tagged_ethernet. You can use this argument when -include_encap is set to 1. Please refer to -include_encap.
-
-encap2
¶
Defines the Access Loop Encapsulation 2. Possible values are na, pppoa_llc, pppoa_null, ipoa_llc, ipoa_null, aal5_llc_w_fcs, aal5_llc_wo_fcs, aal5_null_w_fcs, and aal5_null_wo_fcs. You can use this argument when -include_encap is set to 1. Please refer to -include_encap.
-
-dsl_type
¶
Defines the type of Digital Subscriber Line (DSL) transmission system to use. Possible values are adsl1, adsl2, adsl2_plus, vdsl1, vdsl2, sdsl, and unknown. The default value is adsl1.
-
-actual_rate_upstream
¶
Specifies the starting value of actual upstream (from the subscriber line to the server) net data rates on a DSL line. The value is measured in kbps. The default is 0.
-
-actual_rate_upstream_step
¶
Specifies the difference between the actual upstream net data rates. The value is measured in kbps.
-
-actual_rate_upstream_repeat
¶
Specifies the number of times an actual upstream net data rate should be repeated, before the step (-actual_rate_upstream_step) is applied to the actual upstream net data rates for incrementing.
-
-upstream_min_rate
¶
Specifies the minimum net data upstream rate desired by the service provider. The value is measured in kbps.
-
-upstream_max_rate
¶
Specifies the maximum net data upstream rate desired by the service provider. The value is measured in kbps.
-
-upstream_attainable_rate
¶
Specifies the maximum net upstream rate that can be attained on the DSL Line. The value is measured in kbps.
-
-upstream_min_low_power_rate
¶
Defines the minimum net upstream rate desired by the service provider in low power state. The value is measured in kbps.
-
-upstream_max_interleaving_delay
¶
Defines the maximum one way interleaving delay. The value is measured in milliseconds.
-
-upstream_act_interleaving_delay
¶
Specifies the value corresponding to the upstream interleaver setting. The value is measured in milliseconds.
-
-actual_rate_downstream
¶
Specifies the starting value of actual downstream (from the server to the subscriber line) net data rates on a DSL line. The value is measured in kbps. The default is 0.
-
-actual_rate_downstream_step
¶
Specifies the difference between the actual downstream net data rates. The value is measured in kbps.
-
-actual_rate_downstream_repeat
¶
Specifies the number of times an actual downstream net data rate should be repeated, before the step (-actual_rate_downstream_step) is applied to the actual downstream net data rates for incrementing.
-
-downstream_min_rate
¶
Specifies the minimum net data downstream rate desired by the service provider. The value is measured in kbps.
-
-downstream_max_rate
¶
Specifies the maximum net data downstream rate desired by the service provider. The value is measured in kbps.
-
-downstream_attainable_rate
¶
Specifies the maximum net downstream rate that can be attained on the DSL Line. The value is measured in kbps.
-
-downstream_min_low_power_rate
¶
Defines the minimum net downstream rate desired by the service provider in low power state. The value is measured in kbps.
-
-downstream_max_interleaving_delay
¶
Defines the maximum one way interleaving delay. The value is measured in milliseconds.
-
-downstream_act_interleaving_delay
¶
Specifies the value corresponding to the downstream interleaver setting. The value is measured in milliseconds.
-
-remote_id_suffix
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the starting suffix to append to the remote ID specified in the -remote_id argument.
-
-remote_id_suffix_step
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the increment value used to generate subsequent remote ID suffixes. The default value is 1.
-
-remote_id_suffix_repeat
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the number of times a remote ID suffix should be repeated, before the step specified by -remote_id_suffix_step is applied to the remote ID suffix for incrementing. The default value is 0.
-
-tlv_service_vlan_id
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the service VLAN ID in the Access Aggregation Circuit ID Binary TLV. The default value is 0. When -tlv_service_vlan_id_wildcard is enabled, You can use this argument to define a wildcard expression for the service VLAN ID.
-
-tlv_service_vlan_id_wildcard
¶
Spirent Extension (for Spirent HLTAPI only).
Enables or disables service VLAN wildcard for the Access Aggregation Circuit ID Binary TLV. Possible values are 0 (disable) and 1 (enable). If it is set to 1, service VLAN ID wildcard is enabled and assigned with the wide expression specified in -tlv_service_vlan_id. The default value is 0.
-
-tlv_customer_vlan_id
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the customer VLAN ID in the Access Aggregation Circuit ID Binary TLV. The default value is 0. When -tlv_customer_vlan_id_wildcard is enabled, You can use this argument to define a wildcard expression for the customer VLAN ID.
-
-tlv_customer_vlan_id_wildcard
¶
Spirent Extension (for Spirent HLTAPI only).
Enables or disables customer VLAN wildcard for the Access Aggregation Circuit ID Binary TLV. Possible values are 0 (disable) and 1 (enable). If it is set to 1, customer VLAN ID wildcard is enabled and assigned with the wide expression specified in -tlv_customer_vlan_id. The default value is 0.
Cisco-specific Arguments¶
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
-downstream_rate_tolerance
-remote_id_suffix
-remote_id_suffix_step
-remote_id_suffix_repeat
-service_vlan_id
-service_vlan_id_step
-service_vlan_id_repeat
-upstream_rate_tolerance
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 Identifies the list of created ANCP subscriber lines
status Success (1) or failure (0) of the operation
log An error message (if the operation failed).
ancp_subscriber_lines_handle Identifies the handle of created ANCP subscriber lines.
Description¶
The sth::emulation_ancp_subscriber_lines_config
function creates, modifies or
deletes a list of emulated ANCP subscriber lines. Use the -mode argument to
specify the action to perform. (See the -mode argument description for
information about the actions.)
Before using this function, you must specify “-mode create” when configuring emulated ANCP subscriber lines on a device and initializes the device handle argument.
You can call this function once to create multiple subscriber lines on one device.The number of subscriber lines to create is specified by the -subscriber_lines_per_access_node argument.
Once the ANCP subscriber lines have been configured, a handle is created, which can be used to modify the parameters.
You must specify the -mode (create, modify, or delete) argument.
For information about the protocol, see “Protocol for Access Node Control Mechanism in Broadband Networks”.
Examples¶
#### HLTAPI for Tcl ####
The following two examples create ANCP subscriber lines on a device:
#ANCP subscriber lines with PPP protocol
sth::pppox_config -port_handle $port1 \
-mode create \
-protocol pppoe \
-encap ethernet_ii \
-auth_mode pap \
-include_id 1 \
-num_sessions 1 \
-mac_addr 00.00.12.00.01.02 \
-mac_addr_step 00.00.00.00.00.01 \
-username spirent \
-password spirent
set host1 [keylget ret handles]
sth::emulation_ancp_subscriber_lines_config -mode create \
-ancp_client_handle $anRouter1 \
-handle $host1 \
-subscriber_lines_per_access_node 1 \
-circuit_id "test" \
-remote_id "cf" \
-circuit_id_suffix 2 \
-circuit_id_suffix_step 1 \
-circuit_id_suffix_repeat 2 \
-include_encap 1 \
-data_link "ethernet" \
-dsl_type "adsl2" \
-actual_rate_upstream "444" \
-upstream_min_rate "22" \
-actual_rate_downstream "555"
puts "ret of ancp subscriber config for $anRouter1 : $ret2 \n\n"
Sample output for example shown above:
{handle host1} {ancp_subscriber_lines_handle ancpaccessloopblockconfig1} {status 1}
#ANCP subscriber lines with DHCP protocol
set ret [sth::emulation_dhcp_config -mode create -port_handle port2 \
-request_rate 25 \
-release_rate 300 \
-retry_count 4]
set dhcpgrp [keylget ret handles]
set ret [sth::emulation_dhcp_group_config -mode create -handle $dhcpgrp \
-encap ethernet_ii -num_sessions 1 -mac_addr 00.10.94.01.00.01]
set host2 [keylget ret handles]
set ret2 [sth::emulation_ancp_subscriber_lines_config -mode create \
-ancp_client_handle $anRouter2 \
-subscriber_lines_per_access_node 1 \
-handle $host2 \
-circuit_id "test" \
-remote_id "cf" \
-circuit_id_suffix 2 \
-circuit_id_suffix_step 1 \
-circuit_id_suffix_repeat 2 \
-vlan_allocation_model "1_1" \
-enable_c_vlan 1 \
-customer_vlan_id 1001 \
-include_encap 1 \
-data_link "ethernet" \
-dsl_type "adsl2" \
-actual_rate_upstream "444" \
-upstream_min_rate "22" \
-actual_rate_downstream "555"]
puts "ret of ancp subscriber config for $anRouter2 : $ret2 \n\n"
set status [keylget ret2 status]
if {$status} {
set anHost1 [keylget ret2 handle]
Sample output for example shown above:
{handle host2} {ancp_subscriber_lines_handle ancpaccessloopblockconfig2} {status 1}
The following example modifies ANCP subscriber lines on a device:
sth::emulation_ancp_subscriber_lines_config -mode modify \
-handle $hostHnd\
-ancp_client_handle $anRouter2 \
-ancp_subscriber_lines_handle ancpaccessloopblockconfig2 \
-subscriber_lines_per_access_node 50 \
-circuit_id "modify" \
-remote_id "spirent" \
-circuit_id_suffix 3 \
-circuit_id_suffix_step 3 \
-circuit_id_suffix_repeat 4 \
-vlan_allocation_model "1_1" \
-enable_c_vlan 1 \
-customer_vlan_id 1000 \
-customer_vlan_id_step 2 \
-customer_vlan_id_repeat 1 \
-include_encap 1 \
-data_link "ethernet" \
-dsl_type "adsl1" \
-actual_rate_upstream "100" \
-upstream_min_rate "20" \
-actual_rate_downstream "200" \
-actual_rate_upstream_repeat 25\
-actual_rate_downstream_repeat 25\
-actual_rate_upstream_step 500 \
-actual_rate_downstream_step 500 \
-upstream_attainable_rate 88
Sample output for example shown above:
{handle host2} {ancp_subscriber_lines_handle ancpaccessloopblockconfig2} {status 1}
The following example creates ANCP subscriber lines on a device without -handle:
set ret2 [sth::emulation_ancp_subscriber_lines_config -mode create \
-ancp_client_handle $anRouter2 \
-subscriber_lines_per_access_node 1 \
-circuit_id "test" \
-remote_id "cf" \
-circuit_id_suffix 2 \
-circuit_id_suffix_step 1 \
-circuit_id_suffix_repeat 2 \
-vlan_allocation_model "1_1" \
-enable_c_vlan 1 \
-customer_vlan_id 1001 \
-include_encap 1 \
-data_link "ethernet" \
-dsl_type "adsl2" \
-actual_rate_upstream "444" \
-upstream_min_rate "22" \
-actual_rate_downstream "555"]
puts "ret of ancp subscriber config for $anRouter2 : $ret2 \n\n"
set status [keylget ret2 status]
if {$status} {
set anHost1 [keylget ret2 handle]
Sample output for example shown above:
{handle {}} {ancp_subscriber_lines_handle ancpaccessloopblockconfig2} {status 1}
The following example modifies ANCP subscriber lines on a device without -handle:
sth::emulation_ancp_subscriber_lines_config -mode modify \
-ancp_client_handle $anRouter2 \
-ancp_subscriber_lines_handle ancpaccessloopblockconfig2 \
-subscriber_lines_per_access_node 50 \
-circuit_id "modify" \
-remote_id "spirent" \
-circuit_id_suffix 3 \
-circuit_id_suffix_step 3 \
-circuit_id_suffix_repeat 4 \
-vlan_allocation_model "1_1" \
-enable_c_vlan 1 \
-customer_vlan_id 1000 \
-customer_vlan_id_step 2 \
-customer_vlan_id_repeat 1 \
-include_encap 1 \
-data_link "ethernet" \
-dsl_type "adsl1" \
-actual_rate_upstream "100" \
-upstream_min_rate "20" \
-actual_rate_downstream "200" \
-actual_rate_upstream_repeat 25\
-actual_rate_downstream_repeat 25\
-actual_rate_upstream_step 500 \
-actual_rate_downstream_step 500 \
-upstream_attainable_rate 88
Sample output for example shown above:
{handle {}} {ancp_subscriber_lines_handle ancpaccessloopblockconfig2} {status 1}
#### HLTAPI for Python ####
The following example creates an ANCP subscriber lines on a device:
sth.emulation_ancp_subscriber_lines_config (
mode = 'create',
ancp_client_handle = ancp_router,
handle = subscribe_host,
vlan_allocation_model= '1_1',
enable_c_vlan = '1',
customer_vlan_id = '100',
customer_vlan_id_step= '2',
subscriber_lines_per_access_node= '1',
circuit_id = 'Access-Node-Identifier',
circuit_id_suffix = '1',
circuit_id_suffix_step= '2',
remote_id = 'SPIRENT11',
include_encap = '1',
data_link = 'atm_aal5',
encap1 = 'untagged_ethernet',
encap2 = 'pppoa_null',
dsl_type = 'adsl2',
downstream_act_interleaving_delay= '10',
upstream_act_interleaving_delay= '20',
downstream_attainable_rate= '12',
upstream_attainable_rate= '13',
downstream_max_interleaving_delay= '15',
upstream_max_interleaving_delay= '40',
downstream_max_rate = '41',
upstream_max_rate = '43',
downstream_min_rate = '50',
upstream_min_rate = '55',
downstream_min_low_power_rate= '56',
upstream_min_low_power_rate= '70',
actual_rate_downstream= '30',
actual_rate_upstream= '11');
Sample Output:
{'status': '1', 'handle': 'host5', 'ancp_subscriber_lines_handle': 'ancpaccessloopblockconfig3'}
#### HLTAPI for Perl ####
The following example creates an ANCP subscriber lines on a device:
sth::emulation_ancp_subscriber_lines_config (
mode => 'create',
ancp_client_handle => "$ancp_router",
handle => "$subscribe_host",
vlan_allocation_model=> '1_1',
enable_c_vlan => '1',
customer_vlan_id => '100',
customer_vlan_id_step=> '2',
subscriber_lines_per_access_node=> '1',
circuit_id => 'Access-Node-Identifier',
circuit_id_suffix => '1',
circuit_id_suffix_step=> '2',
remote_id => 'SPIRENT11',
include_encap => '1',
data_link => 'atm_aal5',
encap1 => 'untagged_ethernet',
encap2 => 'pppoa_null',
dsl_type => 'adsl2',
downstream_act_interleaving_delay=> '10',
upstream_act_interleaving_delay=> '20',
downstream_attainable_rate=> '12',
upstream_attainable_rate=> '13',
downstream_max_interleaving_delay=> '15',
upstream_max_interleaving_delay=> '40',
downstream_max_rate => '41',
upstream_max_rate => '43',
downstream_min_rate => '50',
upstream_min_rate => '55',
downstream_min_low_power_rate=> '56',
upstream_min_low_power_rate=> '70',
actual_rate_downstream=> '30',
actual_rate_upstream=> '11');
Sample Output:
$VAR1 = 'handle';
$VAR2 = 'host5';
$VAR3 = 'ancp_subscriber_lines_handle';
$VAR4 = 'ancpaccessloopblockconfig3';
$VAR5 = 'status';
$VAR6 = '1';
Note
The flap related options (-subscriber_line_up_time, -subscriber_line_down_time, and -flap_count) have been removed to
the sth::emulation_ancp_control
function.
End of Procedure Header
sth::emulation_ancp_control¶
Purpose¶
Controls ANCP emulation on a specified port.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_ancp_control [-action {initiate|send|connect|flap|flap_start|flap_stop} M] [-ancp_subscriber {<subscriber_line_handle>|all} M] [-action_control {start|stop} M] [-ancp_handle {<ancp_device_handle>|all}] [-subscriber_line_up_time <integer>] [-subscriber_line_down_time <integer>] [-flap_count <integer>]
Arguments¶
-
-ancp_handle
¶
Identifies the handle(s) of the ANCP device(s) to be used. Possible values are:
<ancp_device_handle> - Defines the handle(s) of ANCP devices to be used. <ancp_device_handle> can be a device handle or a list of device handles. <ancp_device_handle>, the value of this argument, is returned from the ``sth::emulation_ancp_config`` function when creating ANCP devices. The handle of an ANCP device can be a string of characters except "all". Please refer to the examples for more details. all - Indicates all the devices under the current project. When you specify -ancp_handle all, the command will perform the action specified by -action on all the devices under the current project. Compared with -ancp_handle <ancp_device_handle>, -ancp_handle all will make the connection of ANCP sessions faster in large-scale tests.
You must specify this argument when you specify -action initiate or -action send.
-
-ancp_subscriber
¶
Identifies the handle(s) of the ANCP subscriber line(s) to be used. Possible values are:
<subscriber_line_handle> - Defines the handle(s) of the ANCP subscriber line(s) to be used. <subscriber_line_handle>, the value of this argument, can be a subscriber line handle or a list of subscriber line handles. <subscriber_line_handle> is returned from the sth::emulation_ancp_subscriber_lines_config function when creating ANCP subscriber lines. The handle of an ANCP subscriber line can be a string of characters except "all". Please refer to the examples for more details. all - Indicates all the subscriber lines under the current project. When you specify -ancp_subscriber all, the command will perform the action specified by -action on all the subscriber lines under the current project. Compared with -ancp_subscriber <subscriber_line_handle>, -ancp_subscriber all will make the connection of ANCP sessions faster in large-scale tests.
This argument is Mandatory .
-
-action
¶
Specifies the action to perform. Possible values are initiate, send, connect, flap, flap_start, and flap_stop. You must specify one of these values. The modes are described below:
initiate - Initiates the ANCP adjacency. For example: sth::emulation_ancp_control -ancp_handle $anRouter1 \ -ancp_subscriber $anHost1 \ -action initiate \ -action_control start send - Sends ANCP port up messages. connect - Connects PPPoX or binds DHCP hosts. For example: sth::emulation_ancp_control -ancp_handle $anRouter1 \ -ancp_subscriber $anHost1 \ -action connect \ -action_control start flap - Enables flapping on the subscriber line handles specified by the -ancp_subscribe argument. This attribute withdraws the subscriber lines for the time defined by -subscriber_line_down_time and then readvertises the subscriber lines for the time defined by -subscriber_line_up_time. If you specify "flap" for the -action argument without defining -flap_count, Spirent HLTAPI will perform the flapping operation only once. If you define -flap_count while you specify -action flap, Spirent HLTAPI will perform the flapping operation the number of times defined by the -flap_count argument. For example, if there is a subscriber line $anHost1, a 10-time flapping of this subscriber line can be processed by calling the following command. sth::emulation_ancp_control -action flap \ -action_control start \ -ancp_subscriber $anHost1 -subscriber_line_up_time 160 \ -subscriber_line_down_time 20 \ -flap_count 10 \ flap_start - Starts the flapping operation on the subscriber line specified by the -ancp_subscriber argument. flap_stop - Stops the flapping operation on the subscriber line specified by the -ancp_subscriber argument. For example, if there is a subscriber line $anHost1, you can control the flapping operation of this subscriber line by calling the following command: sth::emulation_ancp_control -ancp_subscriber $anHost1 -action_control start -action flap_start # after 1000 sth::emulation_ancp_control -ancp_subscriber $anHost1 -action_control start -action flap_stop
Note
The flap option is a Spirent Extension.
-
-action_control
¶
Starts or stops the action specified by the -action option. This argument is mandatory. Possible values are described below:
start - Starts the action. stop - Stops the action.
-
-subscriber_line_up_time
¶
Specifies the amount of time, in milliseconds, that the subscriber line remains UP. The value you specify should be greater than 100 milliseconds.
-
-subscriber_line_down_time
¶
Specifies the amount of time, in milliseconds, that the subscriber line remains DOWN. The value you specify should be greater than 100 milliseconds.
-
-flap_count
¶
Specifies the number of flaps. This argument can be used when you specify -action flap. Each flap includes one advertise and one withdraw.
Cisco-specific Arguments¶
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
-peer_count
-batch_size
-interval
-interval_unit
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 Identifies the ANCP device handle.
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::emulation_ancp_control
function connects or disconnects the DUT
with ANCP devices, sends port up or port down messages. This function can
also control the flapping operation of the subscriber lines.
Examples¶
#### HLTAPI for Tcl ####
To start the flapping operation:
sth::emulation_ancp_control
-ancp_handle $anRouter1
-ancp_subscriber $anHost1
-action flap_start
-action_control start
Sample Output:
{status 1}
#### HLTAPI for Python ####
To start the flapping operation:
ancp_ctrl = sth.emulation_ancp_control (
ancp_handle = 'all',
ancp_subscriber = 'all',
action = 'initiate',
action_control = 'start');
Sample Output:
{'status': '1'}
#### HLTAPI for Perl ####
To start the flapping operation:
my %ancp_ctrl = sth::emulation_ancp_control (
ancp_handle => 'all',
ancp_subscriber => 'all',
action => 'initiate',
action_control => 'start');
Sample Output:
$VAR1 = 'status';
$VAR2 = '1'
End of Procedure Header
sth::emulation_ancp_stats¶
Purpose¶
Returns the statistics about ANCP configuration. Statistics are displayed as a keyed list.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_ancp_stats [-handle <ancp_device_handle> M] [-reset {1}]
Arguments¶
-
-handle
¶
Specifies the device from which to extract ANCP session data. This argument is Mandatory .
-
-reset
¶
Removes all device configurations for the specified ANCP devices. The only value you can specify is 1.
Return Values¶
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
statistics list The ANCP statistics for the specified device (see below).
The following keys are returned when you call this command:
rx_adj_syn_pkts The number of received adjacency SYN packets.
rx_adj_syn_ack_pkts The number of received adjacency SYN-ACK
packets.
rx_adj_ack_pkts The number of received adjacency ACK packets.
rx_adj_rst_ack_pkts The number of received adjacency RSTACK
packets.
rx_line_config_req The number of received subscriber line
configuration requests.
tx_adj_syn_pkts The number of sent adjacency SYN packets.
tx_adj_syn_ack_pkts The number of sent adjacency SYN-ACK
packets.
tx_adj_ack_pkts The number of sent adjacency ACK packets.
tx_adj_rst_ack_pkts The number of sent RSTACK packets.
The following returned values are Spirent extensions (for Spirent HLTAPI only):
tx_port_up_count The number of Port UP packets.
tx_port_down_count The number of Port DOWN packets.
rx_management_count The number of received Port Management
packets.
tx_keepalive_count The number of sent keep-alive packets.
rx_keepalive_count The number of received keep-alive packets.
keepalive_timeout_count The number of adjacency timeout packets.
subscribers_up The number of subscriber lines remains UP.
subscribers_down The number of subscriber lines remains DOWN.
Cisco-specific Returned Values::
The following returned values are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
rx_total_pkts
rx_top_disc_receipt_pkts
rx_dropped_sub_not_found
rx_dropped_no_cap
rx_dropped_adj_not_stsab
rx_dropped_malformed
tx_total_pkts
tx_top_disc_port_up_events
tx_top_disc_port_down_events
tx_line_config_receipts
adj_estab_time_min
adj_estab_time_avg
adj_estab_time_max
adj_estab_count
adj_estab_percent
adj_estab_rate
agg_sub_line_down_bw
agg_sub_line_up_bw
Description¶
The sth::emulation_ancp_stats
function provides information about the
availability of the specified device.
This function returns the requested data (device information) 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.
Examples¶
#### HLTAPI for Tcl ####
To obtain device information:
sth::emulation_ancp_stats -handle $anRouter1
Sample Output:
{rx_adj_syn_ack_pkts 0} {tx_adj_ack_pkts 0} {rx_adj_syn_pkts 0}
{tx_adj_syn_ack_pkts 0} {tx_adj_syn_pkts 0} {tx_port_up_count 0}
{rx_management_count 0} {rx_keepalive_count 0} {rx_adj_rst_ack_pkts 0}
{tx_port_down_count 0} {tx_keepalive_count 0} {tx_adj_rst_ack_pkts 0}
{subscribers_up 0} {keepalive_timeout_count 0} {subscribers_down 1}
{rx_adj_ack_pkts 0} {status 1}
#### HLTAPI for Python ####
To obtain device information:
results_ret4 = sth.emulation_ancp_stats (
handle = device);
Sample Output:
{'status': '1', 'rx_adj_rst_ack_pkts': '0', 'tx_port_down_count': '0',
'tx_keepalive_count': '0', 'subscribers_down': '1', 'tx_adj_rst_ack_pkts': '0',
'rx_management_count': '0', 'tx_adj_ack_pkts': '0', 'rx_keepalive_count': '0',
'tx_port_up_count': '0', 'rx_adj_syn_ack_pkts': '0', 'tx_adj_syn_ack_pkts': '0',
'tx_adj_syn_pkts': '0', 'rx_adj_syn_pkts': '0', 'subscribers_up': '0',
'rx_adj_ack_pkts': '0', 'keepalive_timeout_count': '0'}
#### HLTAPI for Perl ####
To obtain device information:
my %results_ret4 = sth::emulation_ancp_stats (
handle => "$device");
Sample Output:
$VAR1 = 'subscribers_down';
$VAR2 = '1';
$VAR3 = 'tx_port_up_count';
$VAR4 = '0';
$VAR5 = 'keepalive_timeout_count';
$VAR6 = '0';
$VAR7 = 'rx_keepalive_count';
$VAR8 = '0';
$VAR9 = 'status';
$VAR10 = '1';
$VAR11 = 'rx_adj_syn_pkts';
$VAR12 = '0'
...
End of Procedure Header