PPP Functions

sth::ppp_config

Purpose

Creates, brings up, or brings down an emulated IP-over-Point-to-Point Protocol-over-POS (PPP) session on a Spirent HLTAPI chassis.

Point-to-Point Protocol is a protocol in Data Link layer. This protocol specifies a standard method of encapsulating multi-protocol datagrams for transport over serial point-to-point links between hosts, switches, and routers. Point-to-Point Protocol includes the assignment and management of IP addresses, as well as a Link Control Protocol (LCP) and Network Control Protocols (NCPs). It has built-in security mechanisms, such as the Challenge Handshake Authentication Protocol (CHAP) and the Password Authentication Protocol (PAP).

Synopsis

Note

M indicates that the argument is Mandatory .

sth::ppp_config
      [-action { config|up|down }  M]
      [-port_handle <port_handle>]
      [-handle <ppp_session_handle>]
      [-local_auth_mode { none|pap|chap}]
      [-password <1-32>]
      [-username <1-32>]
      [-chap_req_timeout <1-65535>]
      [-pap_max_req <1-65535>]
      [-pap_req_timeout <1-65535>]
      [-fsm_max_conf_req <1-65535>]
      [-fsm_max_naks <1-65535>]
      [-fsm_max_term_req <1-65535>]
      [-fsm_req_timeout <1-65535>]
      [-fcs_size {16|32}]
      [-ipv6_cp {0|1}]
      [-local_addr <a.b.c.d>]
      [-local_addr_given {0|1}]
      [-local_addr_override {0|1}]
      [-local_intf_id < aaaa:bbbb:cccc:dddd>]
      [-peer_addr <a.b.c.d>]
      [-peer_addr_given {0|1}]
      [-peer_addr_override {0|1}]
      [-peer_intf_id < aaaa:bbbb:cccc:dddd>]
      [-lcp_echo_interval <0-65535>]
      [-lcp_local_mru <128-65535>]
      [-local_fcs { 0|1}]
      [-local_magic {0|1}]
      [-local_mpls_cp {0|1}]
      [-local_mru {0|1}]
      [-local_osinl_cp {0|1}]

Arguments

-port_handle

Specifies the port on which PPP emulation is configured. The following example configures PPP emulation on the specified port:

sth::ppp_config \
    -port_handle port1 \
    -action config \
    -local_auth_mode none \
-action

Specifies the action to be performed. This argument is mandatory. Possible values are described below:

config - When you specify -action config and the
     -port_handle argument, Spirent HLTAPI will
     create a PPP emulation on the specified port.

     When you specify -action config and -handle
     argument, Spirent HLTAPI will modify the
     the parameters of the PPP emulation specified
     by the -handle argument.

up - Brings the PPP session up.

down - Brings the PPP session down.
-handle

Specifies the PPP emulation to modify. When you specify -action config and the -handle argument, you can modify the specified PPP emulation. You can get the handle value from the returned value of the “sth::ppp_config -port_handle -action config”.

The following example modifies a created PPP emulation:

sth::ppp_config \
    -handle pppHandle\
    -action config \
    -local_auth_mode chap\
-local_auth_mode

Specifies the local authentication protocol as one of the following values:

none - Specifies no authentication protocol.

pap - Indicates the local authentication protocol to be
     used is the Password Authentication Protocol. PAP
     is a method of verifying and validating PPP
     clients. PAP uses a two-way handshake to verify
     the identity of a calling PPP client when the link
     is established. Please refer to RFC 1334 for more
     information.

chap - Indicates the local authentication protocol to be
     used is the Challenge Handshake Authentication
     Protocol. Like PAP, CHAP is an
     authentication method of verifying and validating
     PPP clients. CHAP verifies the identity of calling
     PPP clients (both when the link is established and
     periodically afterward) by using a three-way
     handshake with challenge messages.
     Please refer to RFC 1994 for more information.

The default value is none.

-password

Specifies the zero-byte-terminated password used by the optional Authentication Protocol. The maximum number of characters is 32. This argument is applicable only when you specify -local_auth_mode pap or -local_auth_mode chap. The default is spirent.

-username

Specifies the zero-byte-terminated user name used by the optional Authentication Protocol. The maximum number of characters is 32. This argument is applicable only when you specify -local_auth_mode pap or -local_auth_mode chap. The default is spirent.

-chap_req_timeout

Specifies the timeout value in seconds for the acknowledgment of a CHAP Challenge or Response message. Possible values range from 1 to 65535. The default value is 3 seconds.

-pap_max_req

Specifies the maximum number of PAP Authentication Requests that can be sent without acknowledgment. Possible values range from 1 to 65535. The default value is 10.

-pap_req_timeout

Specifies the timeout value in seconds for retransmitting a PAP Authentication Request message. Possible values range from 1 to 65535. The default value is 3 seconds.

-fsm_max_conf_req

Indicates the maximum number of Configure-Request packets that can be sent, without acknowledgment, before a session fails. Possible values range from 1 to 65535. The default value is 10.

-fsm_max_naks

Indicates the maximum number of Negative-Acknowledgment packets allowed during LCP and NCP negotiation. Possible values range from 1 to 65535. The default value is 5.

-fsm_max_term_req

Indicates the maximum number of Terminate-Request packets that can be sent, without acknowledgment, before a session fails. Possible values range from 1 to 65535. The default is 10.

-fsm_req_timeout

Indicates the timeout value, measured in seconds, for acknowledgment of a Configure-Request packet. Possible values range from 1 to 65535. The default value is 3 seconds.

-fcs_size

Specifies the size of the frame check sequence (FCS) field. A FCS refers to the extra checksum characters added to a frame for error detection and correction. Possible values are 16 and 32. The default value is 32. Use this argument only when -local_fcs is enabled. 16 - Indicates the FCS field is 16 bits. 32 - Indicates the FCS field is 32 bits.

-ipv6_cp

Determines whether to enable the IPv4 Control Protocol (IPv4CP) negotiation or the IPv6 Control Protocol (IPv6CP) negotiation in NCP phase. The IP Control Protocol (IPCP) configures, enables, and disables the IP protocol modules on both ends of the point-to-point link. Possible values are 0 and 1. When it is set to 0, IPv4CP negotiation is enabled. When it is set to 1, IPv6CP negotiation is enabled. The default value is 0.

-local_addr

Specifies the IPv4CP local address. The value of the argument must be in IPv4 format. When you set the address to 0.0.0.0, the peer will provide its value. This argument is applicable only when -ipv6_cp is set to 0. The default value is 0.0.0.0.

-local_addr_given

Determines whether the local address that is set by -local_addr or -local_intf_id is to be negotiated. Possible values are 0 (disable) and 1 (enable). The default is 0. If this argument is set to 0, the local address will not be negotiated and the local address will be set by the peer.

-local_addr_override

Determines whether to allow the peer to override the local setting for the local IP address specified by -local_addr or -local_intf_id. Possible values are 0 and 1. The default value is 0. If it is set to 1, it allows the remote end to override the local IP address compulsively. If it is set to 0, it does not allow the remote end to override the local IP address. When you specify -local_addr 0.0.0.0 or -local_intf_id 0:0:0:0, -local_addr_override is automatically set to 1.

-local_intf_id

Specifies the IPv6CP 64-bit local interface identifier for the IPv6 Interface-Identifier configuration option. The value of this argument must be in hexadecimal format of “aaaa:bbbb:cccc:dddd”. The IPv6CP 64-bit local interface identifier specified by this argument is the latter 64 bits of an IPv6 address. The first 64 bits is “fe80::” that indicates the IPv6 address is a local link address. Please refer to RFC 5072 for more information. This argument is applicable only when you set -ipv6_cp to 1. The default value is 0:0:0:0.

-peer_addr

Specifies the IPv4CP address of the remote end, if negotiation about the remote IP address is required. The value of this argument must be in IPv4 format. The default value is 0.0.0.0. See the description of the -local_addr option for more information.

-peer_addr_given

Specifies whether the peer IP address specified by -peer_addr or -peer_intf_id is to be negotiated. Possible values are 0 and 1. The default value is 0. When it is set to 1, the peer IP address is to be negotiated. If this argument is set to 0, the peer IP address will not be negotiated.

-peer_addr_override

Determines whether Spirent HLTAPI allows the peer to override the local setting for the peer IP address. Possible values are 0 (disable) and 1 (enable). The default value is 0. When it is set to 1, Spirent HLTAPI allows the peer to override the local setting for the peer IP address automatically. When you specify -peer_addr 0.0.0.0 or -peer_intf_id 0:0:0:0, -peer_addr_override is automatically set to 1.

-peer_intf_id

Specifies the IPv6CP 64-bit remote interface identifier for the IPv6 Interface-Identifier configuration option. The value of this argument must be in hexadecimal format of “aaaa:bbbb:cccc:dddd”. Please refer to -local_intf_id for more information. This argument is applicable only when you set -ipv6_cp to 1. The default value is 0:0:0:0.

-lcp_echo_interval

Specifies the time, measured in seconds, between Echo Requests for link integrity. Possible values range from 0 to 65535. The default value is 0, which disables the Echo Requests.

-lcp_local_mru

Specifies the Maximum Receive Unit (MRU) size in bytes for the local side. MRU is data sent to inform remote systems of the local system’s maximum receive packet size. Possible values range from 128 to 65535. The default value is 4096. This parameter is valid only if you set -local_mru to 1.

-local_fcs

Enables or disables the FCS for the local interface. Possible values are 0 (disable) and 1 (enable). The default value is 0.

-local_magic

Enables or disables the magic number option, which is used to detect PPP loops. Possible values are 0 (disable) and 1 (enable). The default is 0. When this option is enabled, the local end sends a LCP Configure Request packet with the magic number option, which contains a randomly generated number. When the Configure Request packet from the peer is received, its magic number is compared with the sent magic number. If the magic numbers match, the path contains a loop. You must set this parameter to 0 for successful loopbacked PPP.

-local_mpls_cp

Enables or disables a control protocol for traffic going through MPLS tunnels. The control protocol is used with CR-LDP and RSVP routing emulation. Possible values are 0 (disable) and 1 (enable). When this argument is set to 1, the MPLS control protocol is enabled. The default value is 0.

-local_mru

Enables or disables the MRU negotiation. The MRU negotiation sets the size in bytes of the maximum receive unit for the local PPP session. Possible values are 0 and 1. When this option is set to 1, the MRU is negotiated. The default value is 0.

-local_osinl_cp

Enables or disables the Network Layer Control Protocol (NLCP) required for OSI protocols. Possible values are 0 and 1. When it is set to 1, the OSINL control protocol is enabled. The default value is 0.

Arguments Unsupported by Save as HLTAPI

None

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-peer_auth_mode
-chap_auth_interval
-chap_max_challenge
-pap_peer_req_timeout
-holdoff
-timeout
-lcp_fcs_size
-lcp_peer_max_tolerance
-lcp_peer_mru
-lcp_accm
-local_accm
-peer_accm
-peer_fcs
-peer_mru
-vlan_outer_cfi
-vlan_outer_tpid
-vlan_outer_user_priority

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).
handle   A handle that identifies the PPP emulation created by the
         sth::ppp_config command.

Description

The sth::ppp_config function configures, brings up or brings down an emulated PPP session on a specified test port. Use the -port_handle argument to specify the port for the PPP session. Use the -action argument to specify the action to perform. (See the -action argument description for information about the actions.)

The sth::ppp_config command provides two ways to indicate the PPP address used on the local end of the Point-to-Point link.

You can configure the local IPv4 or IPv6 address directly by specifying the arguments below:

-local_addr (-local_intf_id)
-local_addr_given
-local_addr_override

In addition, when the local IPv4 address specified by -local_addr is 0.0.0.0 or the -local_intf_id argument is set to 0:0:0:0, you can get the local address by negotiating with the peer end. You must specify the following arguments for the peer end in this case:

-peer_addr (-peer_intf_id)
-peer_addr_given
-peer_addr_override

You can refer to the examples below for more information.

Examples

#### HLTAPI for Tcl ####

The following example configures PPP settings on the existing port:

sth::ppp_config -port_handle port1 \
               -action config \
               -local_auth_mode chap \
               -username ss1 \
               -password ss1 \
               -ipv6_cp 0 \
               -local_addr  1.1.1.1 \
               -local_addr_given 1\
               -local_addr_override 0 \
               -local_magic 1 \
               -local_mru 1 \

Sample output for example shown above:

{handles host3} {status 1}

The following example configures PPP settings for the local end which requires the peer to provide its local IPv4 address:

sth::ppp_config -port_handle port1 \
            -action config \
            -local_auth_mode none \
            -ipv6_cp 0 \
            -local_addr  0.0.0.0 \
            -local_addr_given 1\
            -local_addr_override 1 \
            -local_magic 1 \
            -local_mru 1 \

The following example configures PPP settings for the remote end which will provide the IPv4 address for the local end:

sth::ppp_config -port_handle port2 \
           -action config \
           -local_auth_mode none \
           -ipv6_cp 0 \
           -local_addr  2.2.2.2 \
           -local_addr_given 1\
           -local_addr_override 0 \
           -peer_addr 3.3.3.3 \
           -peer_addr_given 1 \
           -peer_addr_override 1 \
           -local_magic 1 \
           -local_mru 1 \

The following example configures PPP IPv6CP settings on the existing port:

sth::ppp_config -port_handle port1 \
            -action config \
            -local_auth_mode none \
            -ipv6_cp 1 \
            -local_intf_id 1:2:3:4 \
            -local_addr_given 1 \
            -local_addr_override 0 \
            -local_magic 1 \
            -local_mru 1 \

Sample output for the example shown above:

{handles host3} {status 1}

The following example modifies the created PPP:

sth::ppp_config -handle pppHandle \
                -action config \
                -chap_req_timeout 8 \
                -pap_max_req 8 \
                -pap_req_timeout 10 \
                -fsm_max_conf_req 13 \
                -fsm_max_naks 13 \
                -fsm_max_term_req 13 \
                -fsm_req_timeout 13 \
                -fcs_size 32 \

Sample output for the example shown above:

{handles host3} {status 1}

The following example starts PPP session on the specified port:

set returnedString [sth::ppp_config \
              -action up \
              -port_handle port1]

Sample output for the example shown above:

{status 1}

The following example stops PPP session on the specified port:

set returnedString [sth::ppp_config \
                -action down\
                -port_handle port1]

Sample output for the example shown above:

{status 1}

#### HLTAPI for Python ####

The following example configures PPP settings on the specified port:

device_ret0 = sth.ppp_config (
         action              = 'config',
         port_handle         = port_handle[0],
         local_addr_given    = '1',
         local_addr_override = '0',
         peer_addr_given     = '0',
         peer_addr_override  = '1',
         local_mpls_cp       = '0',
         local_osinl_cp      = '0',
         lcp_echo_interval   = '10',
         local_magic         = '1',
         lcp_local_mru       = '1492',
         pap_max_req         = '10',
         local_mru           = '1',
         peer_addr           = '0.0.0.0',
         pap_req_timeout     = '10',
         local_auth_mode     = 'none',
         chap_req_timeout    = '3',
         fsm_max_term_req    = '10',
         fsm_req_timeout     = '3',
         ipv6_cp             = '0',
         fsm_max_conf_req    = '10',
         fsm_max_naks        = '5');

Sample Output:

{'status': '1', 'handle': 'host3'}

The following example starts PPP session on the specified port:

ctrl_ret1 = sth.ppp_config (
             port_handle         = port_handle[0],
             action              = 'up');

Sample Output:

{'status': '1'}

#### HLTAPI for Perl ####

The following example configures PPP settings on the specified port:

my %device_ret0 = sth::ppp_config (
            action              => 'config',
            port_handle         => "$hport[1]",
            local_addr_given    => '1',
            local_addr_override => '0',
            peer_addr_given     => '0',
            peer_addr_override  => '1',
            local_mpls_cp       => '0',
            local_osinl_cp      => '0',
            lcp_echo_interval   => '10',
            local_magic         => '1',
            lcp_local_mru       => '1492',
            pap_max_req         => '10',
            local_mru           => '1',
            peer_addr           => '0.0.0.0',
            pap_req_timeout     => '10',
            local_auth_mode     => 'none',
            chap_req_timeout    => '3',
            fsm_max_term_req    => '10',
            fsm_req_timeout     => '3',
            ipv6_cp             => '0',
            fsm_max_conf_req    => '10',
            fsm_max_naks        => '5');

Sample Output:

$VAR1 = 'handle';
$VAR2 = 'host3'
$VAR3 = 'status';
$VAR4 = '1';

The following example starts PPP session on the specified port:

my %ctrl_ret2 = sth::ppp_config (
             port_handle         => "$hport[2]",
             action              => 'up');

Sample Output:

$VAR1 = 'status';
$VAR2 = '1

End of Procedure Header

sth::ppp_stats

Purpose

Spirent Extension (for Spirent HLTAPI only).

Returns the information about the PPP session.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::ppp_stats
      [-action { collect | clear }  M]
      [-port_handle <port_handle>]

Arguments

-action

Determines whether to collect statistics or clear statistics. Possible values are collect and clear. This argument is Mandatory . collect - Collects the statistics. clear - Clears the statistics.

-port_handle

Specifies from which port to query statistics. This argument is Mandatory .

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).

The statistics that will be returned are listed below:

*** POS interface statistics ***

    pos_port_state         State of the PPP link
      Dead                 The PPP link is not up and is not ready to be
                           established.
      Initialize           The PPP link is initializing.
      Establish            The port is trying to establish a link using the
                           link control protocol.
      Authenticate         The port is trying to authenticate itself with a
                           peer using PAP or CHAP. Authentication is
                           optional, so this state is not always displayed
                           during link establishment.
      Network              IPCP/IPv6CP negotiation was successful, and
                           the PPP link is up.
      Disconnect           PPP is terminating the link.

      lcp_or_ncp_state        State of the link control protocol
      Initial              The lower layer is unavailable, and no
                           attempt has been made to open a link.
      Starting             An attempt has been made to open a link, but
                           the lower layer is unavailable.
      Closed               The lower layer is available, but that there is
                           no active attempt to open a link.
      Stopped              The link is waiting for termination.
      Closing              An attempt has been made to terminate the
                           connection. A Terminate-Request packet has
                           been sent, but a Terminate-Ack packet has
                           not been received.
      Stopping             A Terminate-Request packet has been sent,
                           but a Terminate-Ack packet has not been
                           received.
      Request Sent         An attempt has been made to configure the
                           connection. A Configure-Request packet has
                           been sent, but a Configure-Ack packet has
                           not been received nor sent.
      Ack Received         A Configure-Request packet has been sent,
                           and a Configure-Ack packet has been
                           received.
      Ack Sent             Both a Configure-Request packet and a
                           Configure-Ack packet have been sent, but a
                           Configure-Ack packet has not yet been
                           received.
      Opened               A Configure-Ack packet has been both sent
                           and received.

      tx_mru_size         Sent MRU size

      rx_mru_size          Received MRU size

pap_authentication_state   State of CHAP authentication
      Initial              The PPP link is down.
      Closed               The link is not available and is not allowed
                           to be opened.
      Pending              An Authentication Request is being
                           prepared.
      Opened               PAP authentication passed and is up.
      Auth_failed          Authentication was denied.
      Auth_req_sent        An Authentication Request has been sent.

chap_authentication_state   State of PAP authentication
      Initial              The CHAP authorization negotiation phase
                           is not active.
      Started              The client is waiting for a CHAP Challenge
                           packet from the server.
      Pending              The client received the challenge, sent a
                           response, and is waiting for an
                           acknowledgement from the server.
      Auth failed          Authorization failed.
      Opened               Authorization was successful.

ipv4_cp_state              State of the IP control protocol as it tries
                           to bring up the IP layer on top of the PPP
                           layer
      Initial              The lower layer is unavailable, and no
                           attempt has been made to open a link.
      Starting             An attempt has been made to open a link,
                           but the lower layer is unavailable.
      Closed               The lower layer is available, but that there
                           is no active attempt to open a link.
      Stopped              The link is waiting for termination.
      Closing              An attempt has been made to terminate the
                           connection. A Terminate-Request packet
                           has been sent, but a Terminate-Ack packet
                           has not been received.
      Stopping             This state indicates that a Terminate-Request
                           packet has been sent, but a Terminate-Ack
                           packet has not been received.
      Request Sent         An attempt has been made to configure the
                           connection. A Configure-Request packet has
                           been sent, but a Configure-Ack packet has
                           not been received nor sent.
      Ack Received         A Configure-Request packet has been sent,
                           and a Configure-Ack packet has been
                           received.
      Ack Sent             Both a Configure-Request packet and a
                           Configure-Ack packet have been sent, but a
                           Configure-Ack packet has not yet been
                           received.
      Opened               IPv4 is enabled on top of PPP.

ipv4_local_address         Local IPv4 address used for the interface

ipv4_peer_address          IPv4 address of the peer (PPP server)

ipv6_cp_state              State of the IPv6 control protocol as it tries
                           to bring up the IP layer on top of the PPP
                           layer.
      Initial              The lower layer is unavailable, and no
                           attempt has been made to open a link.
      Starting             An attempt has been made to open a link,
                           but the lower layer is unavailable.
      Closed               The lower layer is available, but there
                           is no active attempt to open a link.
      Stopped              The link is waiting for termination.
      Closing              An attempt has been made to terminate the
                           connection. A Terminate-Request packet has
                           been sent, but a Terminate-Ack packet has
                           not been received.
      Stopping             A Terminate-Request packet has been sent,
                           but a Terminate-Ack packet has not been
                           received.
      Request Sent         An attempt has been made to configure the
                           connection. A Configure-Request packet has
                           been sent, but a Configure-Ack packet has
                           not been received nor sent.
      Ack Received         A Configure-Request packet has been sent,
                           and a Configure-Ack packet has been
                           received.
      Ack Sent             Both a Configure-Request packet and a
                           Configure-Ack packet have been sent, but a
                           Configure-Ack packet has not yet been
                           received.
      Opened               IPv6 is enabled on top of PPP.

ipv6_local_address        Local IPv6 address used for the interface

ipv6_peer_address         IPv6 address of the peer (PPP server)

pos_mpls_cp_state         State of the MPLS control protocol
                          (MPLSCP ) phase of the PPP
                          connection
      Initial             The lower layer is unavailable, and no
                          attempt has been made to open a link.
      Starting            An attempt has been made to open a link,
                          but the lower layer is unavailable.
      Closed              The lower layer is available, but there is
                          no active attempt to open a link.
      Stopped             The link is waiting for termination.
      Closing             An attempt has been made to terminate the
                          connection. A Terminate-Request packet has
                          been sent, but a Terminate-Ack packet has
                          not been received.
      Stopping            A Terminate-Request packet has been sent,
                          but a Terminate-Ack packet has not been
                          received.
      Request Sent        An attempt has been made to configure the
                          connection. A Configure-Request packet has
                          been sent, but a Configure-Ack packet has
                          not been received nor sent.
      Ack Received        A Configure-Request packet has been sent,
                          and a Configure-Ack packet has been
                          received.
      Ack Sent            Both a Configure-Request packet and a
                          Configure-Ack packet have been sent, but a
                          Configure-Ack packet has not yet been
                          received.
      Opened              The MPLS protocol is enabled.

pos_osi_nlcp_state        State of the Network Layer Control
                          Protocol required for OSI protocols
                          (OSINLCP) phase of the PPP
                          connection
      Initial             The lower layer is unavailable, and no
                          attempt has been made to open a link.
      Starting            An attempt has been made to open a link,
                          but the lower layer is unavailable.
      Closed              This state indicates that the lower layer is
                          available, but that there is no active attempt
                          to open a link.
      Stopped             This state indicates that the link is waiting
                          for termination.
      Closing             An attempt has been made to terminate the
                          connection. A Terminate-Request packet has
                          been sent, but a Terminate-Ack packet has
                          not been received.
      Stopping            A Terminate-Request packet has been sent,
                          but a Terminate-Ack packet has not been
                          received.
      Request Sent        An attempt has been made to configure the
                          connection. A Configure-Request packet has
                          been sent, but a Configure-Ack packet has
                          not been received nor sent.
      Ack Received        A Configure-Request packet has been sent,
                          and a Configure-Ack packet has been
                          received.
      Ack Sent            Both a Configure-Request packet and a
                          Configure-Ack packet have been sent, but a
                          Configure-Ack packet has not yet been
                          received.
      Opened              The OSI protocol is enabled.

Description

The sth::ppp_stats function collects or clears the statistics about the PPP session on the specified port.

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). 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 ####

The following example collects statistics from port1:

sth::ppp_stats \
     -action collect \
     -port_handle port1 \

Sample output for the example shown above:

{pos_osi_nlcp_state INITIAL} {tx_mru_size 1492}
{ipv4_local_address 192.168.1.2} {chap_authentication_state INITIAL}
{ipv6_local_address ::} {ipv4_cp_state OPENED}
{pos_port_state NETWORK} {pos_mpls_cp_state INITIAL}
{ipv6_cp_state INITIAL} {pap_authentication_state INITIAL}
{ipv4_peer_address 192.168.1.6} {ipv6_peer_address ::}
{rx_mru_size 1492} {lcp_or_ncp_state OPENED} {status 1}

The following example clears the statistics about PPP session on port1:

sth::ppp_stats \
   -action clear \
   -port_handle port1 \

Sample output for the example shown above:

{status 1}

#### HLTAPI for Python ####

The following example collects statistics from the specified port:

results_ret1 = sth.ppp_stats (
             port_handle         = port_handle[0],
             action              = 'collect');

#### HLTAPI for Perl ####

The following example collects statistics from the specified port:

my %ctrl_ret1 = sth::ppp_config (
            port_handle         => "$hport[1]",
            action              => 'up');

End of Procedure Header