L2TPv3 Functions

l2tpv3 config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
This is a Spirent Extension created to configure, modify, or delete emulated L2TPv3 sessions or tunnels on the specified test port of a Spirent HLTAPI chassis.

Synopsis:

Note: 1. M indicates the argument is `Mandatory`.
      2. S indicates the argument is for `scaling` scenarios.

     l2tpv3 config
        mode=  {create|modify|activate} M
        port_handle=  {port_handle} M
        handle=  {device_handle}
        avp_hide= <list of integers>
        connect_rate= <1-1000>
        disconnect_rate= <1-1000>
        force_lcp_renegotiation= {1|0|true|false}
        ipv4_tos= <0-255>
        ip_encap=  {ipv4|ipv6}
        pseudowire_type= {frame_relay|ethernet_vlan|ethernet|hdlc|ppp}
        l2tp_node_type= {lac|lns}
        l2_encap= {ethernet_ii|ethernet_ii_vlan|ethernet_ii_qinq|atm_snap|atm_vc_mux }
        l2tpv3_src_addr= <a.b.c.d>
        l2tpv3_src_count= <1-112>
        l2tpv3_src_step= <a.b.c.d>
        l2tpv3_dst_addr= <a.b.c.d>
        l2tpv3_dst_count= <1-112>
        l2tpv3_dst_step= <a.b.c.d>
        l2tpv3_mac_addr= <aa:bb:cc:dd:ee:ff>
        l2tpv3_mac_step= <aa:bb:cc:dd:ee:ff>
        lcp_proxy_mode= {none|authentication|lcponly}
        pseudo_wire_capabilities= {frame_relay|ethernet_vlan|ethernet|hdlc|ppp}
        remote_end_id_start= <1-65535>
        remote_end_id_step= <1-65535>
        rx_window_size= <1-65535>
        retry_max= <1-255>
        retry_timeout= <1-255>
        retry_enable= {1|0|true|false}
        session_count= <1-65535>
        seq_type= {sequential|parallel}
        session_out_standing= <2-65535>
        secret= {string}
        tun_auth= {1|0|true|false}
        tunnel_connect_rate= <1-1000>
        tunnel_id_start= <1-65535>
        hello_interval= <1-1024>
        hello_req= {1|0|true|false}
        hostname= {host_name}
        num_tunnels= <1-32000>
        session_id_start= <1-65535>
        use_gateway_as_remote_ipv4addr= {1|0|true|false}
        use_gateway_as_remote_ipv6addr= {1|0|true|false}
        udp_src_port=  <1-65535>
        vlan_id= <1-4095>
        vlan_count= <1-4095>
        vlan_id_step= <0-4095>
        vlan_user_priority= <0-7>
        vlan_id_outer= <1-4096>
        vlan_count_outer= <integer>
        vlan_id_step_outer= <0-4095>
        vlan_user_priority_outer= <0-7>
        expand= {true|false} S
        enable_authentication= {true|false}
        remote_ipv6_addr= <IPV6>
        remote_ipv4_addr= <IPV4>
        tunnels_per_l2tp_node= <1-65535>
        tunnel_password= <ANY>
        remote_ipv4_addr_step_per_l2tp_node= <IPV4>
        remote_ipv6_addr_step_per_l2tp_node= <IPV6>

Arguments:

mode
              Specifies the action to perform. This argument is `Mandatory`. The modes
              are described below::


               create -  Creates one or more emulated host L2TP Access
                         Concentrators (LAC) or L2TP Network Servers (LNS)

               modify - Changes the configuration for the emulated host
                        identified by the handle argument.

               activate - Used for `scaling` scenarios.
                          1. Enables L2TPv3 devices and configures L2TPv3 parameters
                             for the devices created via the emulation device config
                             function. This mode requires the value of param_handle
                             as the input to the handle option. Use this mode for
                             `scaling` scenarios. Refer to count and -expand options
                             under the ``emulation L2TPv3 config`` function for more
                             information. For this mode, only the following set of
                             options are valid::


                               enable_authentication
                               hostname
                               l2tp_node_type
                               pseudo_wire_capabilities
                               pseudowire_type
                               remote_ipv6_addr
                               remote_ipv4_addr
                               remote_ipv4_addr_step_per_l2tp_node
                               remote_ipv6_addr_step_per_l2tp_node
                               tunnels_per_l2tp_node
                               tunnel_password
                               use_gateway_as_remote_ipv4addr
                               use_gateway_as_remote_ipv6addr

                        2. Creates devices and enables L2TPv3 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.

port_handle
                Specifies the handle of the port on which to create L2TPv3
                sessions and tunnels. This argument is `Mandatory`. This port
                handle is returned by the ``connect`` function.

handle
                Specifies the L2TPv3 session handle to modify. This
                argument is `Mandatory` for mode modify.

avp_hide
                A list of integers corresponding to AVP. The default value is 0.

connect_rate
                Specifies the time interval, in seconds, that Spirent HLTAPI
                attempts to bring up sessions or connect to tunnels. Possible
                values range from 1 to 1000. The default value is 100.

disconnect_rate
                Specifies the time interval, in seconds, that Spirent HLTAPI
                attempts to tear down sessions or disconnect from tunnels. Possible
                values range from 1 to 1000. The default value is 100.

hello_interval
                Specifies the time interval between sending of hello messages.
                This argument is available when hello_req is set to 1. Possible
                values range from 1 to 65535. The default value is 60.

hello_req
                Enables or disables sending of Hello messages. Possible values
                are 1 (true) and 0 (false). The default value is 0 .

hostname
                Specifies the name of the host to use during the tunnel setup. The
                default is server.spirent.com.

ip_encap
                Specifies the IP encapsulation mode. Possible values are ipv4 and
                ipv6. The default value is ipv4.

ipv4_tos
                IPv4 TOS value. Possible values range from 0 to 255. The default
                value is 192.

l2tp_node_type
                Specifies whether to create an LNS or LAC device. Possible values
                are lns and lac. The default value is lac.

l2_encap
                Identifies the type of Layer 2 encapsulation to use for a stream.
                Possible values are ethernet_ii, ethernet_ii_vlan, ethernet_ii_qinq,
                atm_snap, and atm_vc_mux.

                The ethernet_ii_vlan and ethernet_ii_qinq options support VLAN
                tagging on Ethernet networks; ethernet_ii does not. The atm_snap
                and atm_vc_mux options support ATM networks. If you use the
                vlan_* arguments to define a VLAN interface, you must set the L2
                encapsulation type to ethernet_ii_vlan. If you use the
                vlan_outer_* arguments to define a Q-in-Q interface, you must
                set the L2 encapsulation type to ethernet_ii_qinq. If you use the
                vci_* and vpi_* arguments to define an ATM interface, you must
                set the L2 encapsulation type to atm_vc_mux or atm_snap.

l2tpv3_src_addr
                Specifies the base IP address to use for the local IP
                interface on the port. The default value is 192.85.1.3.

l2tpv3_src_count
                Specifies the number of source IP addresses to simulate on the
                port. Possible values range from 1 to 65535.

                When the mode argument is set to lac, the value of this option
                represents the number of the L2TPv3 clients; then if the value
                of l2_encap is set to ethernet_ii_vlan, the value of this option
                must be divided evenly by the value of vlan_count. If the value
                of l2_encap is set to ethernet_ii_qinq, the value of this option
                must be divided evenly by the least common multiple of vlan_count
                and vlan_count_outer. Likewise, if the value of l2_encap is set
                to atm_snap or atm_vc_mux, then the value of this option must be
                divided evenly by the least common multiple of vpi_count and
                vci_count.

l2tpv3_src_step
                Specifies the step value for the L2TPv3 source address to generate
                multiple source addresses. The value must be in IPv4 format. The
                default is 0.0.0.1.

l2tpv3_dst_addr
                Specifies the base destination IP address to use for setting
                up tunnels. The default value is 192.85.1.3.

l2tpv3_dst_count
                Specifies the number of destination IP addresses to simulate on
                the port. Possible values range from 1 to 65535. When the mode
                argument is set to lns, the value of this option represents the
                number of the L2TPv3 client. If l2_encap is set to
                ethernet_ii_vlan, then the value of this option must be
                divided evenly by the value of vlan_count. If the value of
                l2_encap is set to ethernet_ii_qinq, then the value of this
                option must be divided evenly by the least common multiple of
                vlan_count and vlan_count_outer. Likewise, if the value of
                l2_encap is set to atm_snap or atm_vc_mux, then the value
                of this option must be divided evenly by the least common
                multiple of vpi_count and vci_count.

l2tpv3_dst_step
                Specifies the step value by which to generate multiple L2TPv3
                destination addresses. The value must be in IPv4 format. The
                default value is 0.0.0.1 .

l2tpv3_mac_addr
                Specifies the MAC address of the L2TPv3 device (LNS or LAC).
                The default value is 00:10:94:00:00:02.

l2tpv3_mac_step
                Specifies the step value by which to generate MAC addresses for
                multiple L2TPv3 devices. The default value is 00:00:00:00:00:01.

num_tunnels
                Specifies the number of tunnels to configure on the port.
                Possible values range from 1 to 32000. The default value is 1.

pseudo_wire_capabilities
                Specifies one or more pseudowire capabilities. Use "|" to specify
                multiple values. Possible values are ::


                 frame_relay         Frame Relay
                 ethernet_vlan       Ethernet VLAN
                 ethernet            Ethernet
                 hdlc                HDLC
                 ppp                 PPP

                The default value is ethernet.

pseudowire_type
                Specifies the pseudowire type for L2TPv3 sessions.
                Possible values are::


                 frame_relay         Frame Relay
                 ethernet_vlan       Ethernet VLAN
                 ethernet            Ethernet
                 hdlc                HDLC
                 ppp                 PPP

                The default value is ethernet.

remote_end_id_step
                Specifies the step value by which to generate subsequent remote
                End IDs for the L2TPv3 session block. Possible values
                range from 1 to 65535. The default value is 1.

retry_max
                Specifies the maximum number of retry attempts to createing tunnels.
                Possible values range from 1 to 255. The default value is 1.

retry_timeout
                Specifies the initial timeout value, in seconds, for the
                first retry to create tunnels. Possible values range from 1 to
                255. The default value is 1.

retry_enable
                Enables or disables retrying tunnel creation. Possible values
                are true (enable) and false (disable). The default value is
                false.

rx_window_size
                Specifies the maximum number of outstanding control messages.
                Possible values range from 1 to 65535. The default value is 1.

secret
                The password for the outgoing tunnel. The default value is
                "spirent" .

seq_type
                Specifies the portlevel sequence type that determines in what order
                tunnels are attempted. Possible values are::


                 sequential    Attempt tunnels sequentially across host blocks under
                               the port

                 parallel      Attempt tunnels in parallel across host blocks
                               under the port

                The default value is sequential.

session_count
                Specifies the number of L2TPv3 sessions per each block.
                Possible values range from 1 to 4294967295. The default value is 1.

session_out_standing
                Specifies the maximum number of outstanding L2TPv3 sessions. Possible
                values range from 2 to 65535. The default value is 100.

session_id_start
                Specifies the starting session ID to be used as the local call ID.
                Possible values range from 1 to 65535. The default value is 1.

tunnel_connect_rate
                Specifies the tunnel connection rate, in tunnels per second. Possible
                values range from 1 to 1000. The default value is 100.

tunnel_id_start
                Specifies the starting tunnel ID to be used as the local tunnel ID.
                Possible values range from 1 to 65535. The default value is 1.

tun_auth
                Enables or disables tunnel authentication during tunnel
                setup. Possible values are true (enable) and false (disable).
                The default value is false.

remote_end_id_start
                Specifies the starting remote end ID. Possible values range from
                1 to 65535. The default value is 1.

force_lcp_renegotiation
                When enabled, Spirent HLTAPI will force LCP renegotiation when
                bringing up the PPPoL2TP session. Possible values are true
                (enable) and false (disable). The default value is false.

lcp_proxy_mode
                Determines proxy LCP and authentication settings. Possible
                values are::


                 none                    None
                 lcponly                 Proxy LCP
                 authentication          Proxy LCP and Authentication

                The default value is none.

use_gateway_as_remote_ipv4addr
                Once enabled, the gateway IP address will be used as the remote
                IP address. This argument is available for LAC nodes. Possible
                values are 1 (true) and 0 (false). The default value is 1.

use_gateway_as_remote_ipv6addr
                Once enabled, the gateway IPv6 address will be used as the remote
                IPv6 address. This argument is available for LAC nodes. Possible
                values are 1 (true) and 0 (false). The default value
                is 1 .

udp_src_port
                Specifies the source UDP port to use for setting up tunnels.
                Possible values range from 1 to 65535. The default value is 1701.

vlan_count
                Sets the number of VLAN IDs to use when generating L2TPv3
                sessions or tunnels.  Possible values range from 1 to 4095. The
                default is 1.

vlan_id
                Specifies the VLAN ID of the first VLAN subinterface.
                Possible values range from 1 to 4095. The default value is 1.

vlan_id_step
                Specifies the step value by which to increment the VLAN ID for
                subsequent packets. Possible values range from 0 to 4095. The
                default value is 0.

vlan_user_priority
                Specifies the VLAN user priority assigned to the emulated L2TPv3
                nodes. Possible values range from 0 to 7. The default value is 0.

vlan_count_outer
                Specifies the number of outer VLAN IDs to use when
                generating L2TPv3 clients. Possible values range from 0 to 4096.
                The default value is 1.

vlan_id_outer
                Specifies the outer VLAN ID of the VLAN subinterface. Possible
                values range from 1 to 4096. The default value is 1. When you use
                vlan_id_outer, you must specify vlan_id.

vlan_id_step_outer
                Specifies the step value by which to increment the outer VLAN ID
                for subsequent packets. Possible values range from 0 to 4095.
                You must specify this step when you specify the qinq_incr_mode
                argument.

vlan_user_priority_outer
                Specifies the VLAN priority to assign to the outer header.
                Possible values range from 0 to 7. The default value is 0.

expand
                `Spirent Extension (for Spirent HLTAPI only).`

                Determines whether to expand the specified L2TPv3 device
                parameters into emulated L2TPv3 device objects. It is
                used in `scaling` test scenarios.

                When set to true, a list of emulated device handles (handle_list)
                with enabled L2TPv3 device configurations is created.

                When set to false, only L2TPv3 parameters are configured with no
                handle returned.

remote_ipv4_addr_step_per_l2tp_node
                Specifies the remote IPv4 address step per L2TP node.
                The default is 0.0.0.0

enable_authentication
                Specifies to enable/disable authentication.
                Possible values are true and false. The default is false.

remote_ipv6_addr
                Specifies the remote IPv6 Address.
                The default is :::


remote_ipv4_addr
                Specifies the remote IPv6 Address.
                The default is 0.0.0.0

tunnels_per_l2tp_node
                Specifies the tunnels per L2TP node.
                The default is 1

tunnel_password
                Specifies the tunnel password.
                The default is spirent

remote_ipv6_addr_step_per_l2tp_node
                Specifies the remote IPv6 address step per L2TP node.
                The default is :::

Arguments Unsupported by Save as HLTAPI:

None
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

handles            A list of L2TPv3 handles that identify the sessions and
                    tunnels created by the ``l2tp config`` function

handle_list        The list of emulated device handles with enabled L2TPv3 configuration
                    when expand is set true.

status             Success (1) or failure (0) of the operation

log                An error message (if the operation failed)
Description:

The l2tp config function creates or modifies an emulated L2TPv3 session or tunnel on the specified test port of a Spirent HLTAPI chassis. Use the mode argument to specify the action to perform, and the l2tp_node_type argument to specify whether the port will be acting as an LAC or LNS.

If the operation fails, Spirent HLTAPI returns an error message. For example, if you try to configure a nonexisting session handle using the modify mode, an error message is returned.

Examples:

The following example creates an LAC:

set returnedString [l2tpv3 config
         port_handle=        $hltLACPort
         l2tp_node_type=     lac
         mode=             create
         l2tpv3_src_addr=      5.5.5.60
         l2tpv3_dst_addr=      5.5.5.50
         tun_auth=            1
         hostname=           spirent
         hostname_wc=        1
         secret=              spirent_1]
keylget returnedString handles LAC

Sample Output:

{handles host3} {handle host3} {status 1}

The following example modifies the L2TPv3 LAC specified by handles:

set device_ret0 [l2tpv3 config
          mode=                        modify
          handle=                      $lac_handle
          avp_hide=                    {9 4 14}
          hello_interval=               60
          hello_req=                    1
          seq_type=                                parallel
          pseudo_wire_capabilities=     ethernet
          num_tunnels=                 2
          ]

Sample Output:

{handles host3} {handle host3} {status 1}

The following example uses the function in scaling mode (mode= activate) with port_handle= and block_mode:

set l2tpv3_ret [l2tpv3 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:02
            mac_addr_step_per_port=                          00:00:00:00:01:01
            mac_addr_step_per_vlan=                          {"" 00:00:00:00:00:01}
            ip_step_per_port=                                0.0.0.5
            ip_step_per_vlan=                                {0.1.0.0 0.0.1.1}
            intf_ipv6_prefix_len=                            65
            ipv6_step_per_vlan=                              {::1 ::4}
            ipv6_step_per_port=                              ::9
            intf_prefix_len=                                 22
            link_local_ipv6_step_per_port=                   ::4
            link_local_ipv6_step_per_vlan=                   {::1 ::2}
            name=                                            DEVICE_BLOCK_L2TPV3
            vlan_user_pri=                                   3
            vlan_id_count=                                   2
            vlan_id_repeatmode=                              REPEAT_ACROSS_PORT
            vlan_outer_id_count=                             1
            vlan_outer_user_pri=                             4
            vlan_outer_id_repeatmode=                        REPEAT_ACROSS_PORT
            router_id_ipv6=                                  0101::011
            router_id_ipv6_step=                             ::1
            intf_ip_addr=                                    11.111.11.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
            enable_authentication=                           true
            hostname=                                        l2tp
            l2tp_node_type=                                  lac
            pseudo_wire_capabilities=                        ethernet
            pseudowire_type=                                 ethernet
            remote_ipv6_addr=                                2000::11
            remote_ipv4_addr=                                10.1.1.1
            remote_ipv4_addr_step_per_l2tp_node=             0.0.0.1
            remote_ipv6_addr_step_per_l2tp_node=             ::
            tunnels_per_l2tp_node=                          1
            tunnel_password=                                spirent
            use_gateway_as_remote_ipv4addr=                 0
            use_gateway_as_remote_ipv6addr=                 0]

Sample Output:

{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}}

End of Procedure Header

l2tpv3 control

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
A Spirent Extension created to start, pause, resume, or tear down the L2TPv3 sessions or tunnels

Synopsis:

Note: M indicates the argument is `Mandatory`.

      l2tpv3 control
         handle= <l2tpv3_handle_list> M
         action= {connect|disconnect|pause|resume} M

Arguments:

handle
                Specifies a list of handles of L2TPv3 sessions or tunnels to be
                controlled. This argument is `Mandatory`.

mode
                Specifies the action to be taken. This argument is
                `Mandatory`. Possible values are::

                 connect       Starts the configured sessions and tunnels
                 disconnect    Tears down established sessions and tunnels
                 pause         Pauses all sessions
                 resume        Resumes all sessions
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 l2tp control function starts, pauses, resumes, or tears down the L2TPv3 sessions or tunnels. When you call the l2tp control function, you specify a handle. Spirent HLTAPI applies the specified action to the specified L2TPv3 session or tunnel.
Examples:

The following example starts the specified LNS:

set returnedString l2tpv3 control handle=$LNS action connect

Sample Output:

{status 1}

End of Procedure Header

l2tpv3 stats

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
A Spirent Extension to retrieve information about the L2TPv3 sessions or tunnels configured on the specified test port.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     l2tpv3 stats
         handle= <l2tpv3_handle> M
         mode= {aggregate|session|tunnel}  M

Arguments:

handle
                The L2TPv3 session or tunnel for which you want information. This
                argument is `Mandatory`.

mode
                Specifies the kind of information you want to see. Possible
                values are::


                 aggregate  Returns transmitted and received statistics for
                            all configured L2TPv3 sessions associated with the
                            specified port and a status value (1 for success).

                 session    Returns transmitted and received statistics for only
                            the L2TPv3 sessions specified with handle.

                 tunnel    Returns transmitted and received statistics for only
                           the L2TPv3 tunnels specified by handle.

                Note: Session statistics are only valid after the L2TP
                      sessions are established. They will not be returned nor
                      accessible until you are connected.
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 following keys are returned when you specify mode aggregate:

*** Aggregate stats ***
aggregate.atm_mode......Specifies whether the port is in ATM mode
                                 (currently not supported)
aggregate.avg_setup_time........Average time `Mandatory` to bring a session
                                 up
aggregate.chap_auth_rsp_tx......Number of CHAP messages sent
aggregate.chap_auth_chal_rx.....The number of CHAP messages received*
aggregate.chap_auth_succ_rx......The number of CHAP messages received*
aggregate.chap_auth_fail_rx......The number of CHAP messages received*

aggregate.connecting............PPPoE clients that are connecting. If
                                 aggregate.connecting is 1, then there are
                                 sessions connecting on the port.

aggregate.connected.............All sessions that have finished with NCP
                                 negotiation. If aggregate.connected is 1,
                                 then PPPoX has finished attempting all
                                 configured PPPoX sessions.

aggregate.idle..................The sessions have been disconnected or
                                 terminated. If aggregate.idle is 1, then
                                 the port state is idle.

aggregate.disconnecting.........If aggregate.disconnecting is 1, then L2TP
                                 sessions are disconnecting.

aggregate.connect_attempts......Number of sessions attempted
aggregate.connect_success.......Number of sessions that connected
                                 successfully
aggregate.disconnect_failed.....Number of sessions that failed to
                                 disconnect
aggregate.disconnect_success....Number of sessions that disconnected
                                 successfully
aggregate.echo_req_rx...........Number of Echo Requests received
aggregate.echo_rsp_tx...........Number of Echo Replies sent

aggregate.lcp_cfg_req_rx........Number of LCP ConfigureRequest messages
                                 received
aggregate.lcp_cfg_req_tx........Number of LCP ConfigureRequest messages
                                 sent
aggregate.lcp_cfg_rej_rx........Number of LCP ConfigureReject messages
                                 received
aggregate.lcp_cfg_rej_tx........Number of LCP ConfigureReject messages
                                 sent
aggregate.lcp_cfg_ack_rx........Number of LCP ConfigureACK messages
                                 received
aggregate.lcp_cfg_ack_tx........Number of LCP ConfigureACK messages
                                 sent
aggregate.lcp_cfg_nak_rx........Number of LCP ConfigureNAK messages
                                 received
aggregate.lcp_cfg_nak_tx........Number of LCP ConfigureNAK messages sent
aggregate.max_setup_time........Maximum time to bring a session up
aggregate.min_setup_time........Minimum time to bring a session up
aggregate.num_sessions..........Number of sessions configured
aggregate.sessions_up...........Number of sessions currently active
aggregate.sessions_down.........Number of sessions that failed to connect
aggregate.success_setup_rate....Number of sessions per second that have
                                 been established
aggregate.term_ack_rx...........Number of LCP TerminateACK messages
                                 received
aggregate.term_ack_tx...........Number of LCP TerminateACK messages
                                 sent
aggregate.term_req_rx...........Number of LCP TerminateRequest messages
                                 received
aggregate.term_req_tx...........Number of LCP TerminateRequest messages
                                 sent
aggregate.zlb_tx............... Number of ZeroLength Body (ZLB) Messages sent.
aggregate.sccrq_tx..............Number of StartControlConnection-Request
                                 (SCCRQ) packets transmitted.
aggregate.scccn_tx..............Number of StartControlConnection-
                                 Connected (SCCCN) packets transmitted.
aggregate.sccrp_tx..............Number of StartControlConnection-Reply
                                 (SCCRP) packets transmitted.
aggregate.stopccn_tx............Number of StopControlConnection-
                                 Notification (StopCCN)
                                 packets transmitted.
aggregate.hello_tx..............Number of Hello packets transmitted
aggregate.icrq_tx...............Number of IncomingCall-Request (ICRQ)
                                 packets transmitted
aggregate.icrp_tx...............Number of IncomingCall-Reply (ICRP)
                                 packets transmitted
aggregate.iccn_tx...............Number of IncomingCallConnected (ICCN)
                                 packets transmitted
aggregate.cdn_tx................Number of CallDisconnect-Notify (CDN)
                                 packets transmitted
aggregate.wen_tx............... Number of WANError-Notify (WEN) packets
                                 transmitted
aggregate.sli_tx................Number of SetLink-Info (SLI) packets
                                 transmitted
aggregate.zlb_rx................ Number of ZeroLength Body (ZLB) Messages
                               received
aggregate.sccrp_rx..............Number of StartControlConnection-Reply
                                 (SCCRP) packets received
aggregate.scccn_rx..............Number of StartControlConnection-
                                 Connected (SCCCN) packets received
aggregate.sccrq_rx..............Number of StartControlConnection-Request
                                 (SCCRQ) packets received
aggregate.stopccn_rx............Number of StopControlConnection-
                                 Notification (StopCCN) packets received
aggregate.hello_rx..............Number of Hello packets received
aggregate.icrq_rx...............Number of IncomingCall-Request (ICRQ)
                                 packets received
aggregate.icrp_rx...............Number of IncomingCall-Reply (ICRP)
                                 packets received.
aggregate.iccn_rx...............Number of IncomingCallConnected (ICCN)
                                 packets received
aggregate.cdn_rx................Number of CallDisconnect-Notify (CDN)
                                 packets received
aggregate.wen_rx................Number of WANError-Notify (WEN) packets
                                 received.
aggregate.sli_rx................Number of SetLink-Info (SLI) packets
                                 received.
aggregate.tx_pkt_acked......... Number of ACK packets received.
aggregate.tunnels_up........... Number of tunnels on this port that are in
                                 the established state

The following keys are returned when you specify mode session:

session.<session ID>.icrq_tx....
                                 Number of IncomingCall-Request (ICRQ)
                                 packets transmitted
session.<session ID>.icrp_tx.....
                                 Number of IncomingCall-Reply (ICRP)
                                 packets transmitted
session.<session ID>.iccn_tx...............
                                 Number of IncomingCallConnected (ICCN)
                                 packets transmitted
session.<session ID>.cdn_tx................
                                 Number of CallDisconnect-Notify (CDN)
                                 packets transmitted
session.<session ID>.icrq_rx...............
                                 Number of IncomingCall-Request (ICRQ)
                                 packets received
session.<session ID>.icrp_rx...............
                                 Number of IncomingCall-Reply (ICRP)
                                 packets received
session.<session ID>.iccn_rx...............
                                 Number of IncomingCallConnected (ICCN)
                                 packets received
session.<session ID>.cdn_rx................
                                 Number of CallDisconnect-Notify (CDN)
                                 packets received

The following keys are returned when you specify mode tunnel:

tunnel.<tunnel ID>.scccn_tx.....
                                 Number of StartControlConnection-
                                 Connected (SCCCN) packets transmitted.
tunnel.<tunnel ID>.sccrp_tx.....
                                 Number of StartControlConnection-Reply
                                 (SCCRP) packets transmitted.
tunnel.<tunnel ID>.stopccn_tx............
                                 Number of StopControlConnection-
                                 Notification (StopCCN) packets transmitted.
tunnel.<tunnel ID>.hello_tx..............
                                 Number of Hello packets transmitted
tunnel.<tunnel ID>.wen_tx...............
                                 Number of WANError-Notify (WEN) packets
                                 transmitted
tunnel.<tunnel ID>.sli_tx................
                                 Number of SetLink-Info (SLI) packets
                                 transmitted
tunnel.<tunnel ID>.sccrp_rx..............
                                 Number of StartControlConnection-Reply
                                 (SCCRP) packets received
tunnel.<tunnel ID>.scccn_rx..............
                                 Number of StartControlConnection-
                                 Connected (SCCCN) packets received
tunnel.<tunnel ID>.sccrq_rx..............
                                 Number of StartControlConnection-Request
                                 (SCCRQ) packets received
tunnel.<tunnel ID>.stopccn_rx............
                                 Number of StopControlConnection-
                                 Notification (StopCCN) packets received
tunnel.<tunnel ID>.hello_rx..............
                                 Number of Hello packets received
tunnel.<tunnel ID>.wen_rx................
                                 Number of WANError-Notify (WEN) packets
                                 received.
tunnel.<tunnel ID>.sli_rx................
                                 Number of SetLink-Info (SLI) packets
                                 received.

tunnel.<tunnel ID>.tx_pkt_acked..Number of ACK packets received.
Description:
Use the l2tpv3 stats function to specify statistics retrieval mode as either aggregate for all configured sessions, on a per session (call) basis, or on a per tunnel basis. When specifying per session stats, the session ID is the local call assigned by the local node. Similarly, when specifying per tunnel stats, the tunnel ID is the local tunnel ID assigned by the local node.
Examples:

The following example returns aggregate results:

l2tpv3 stats handle=$lnsSessionHandle mode aggregate

Output:

{procName l2tpv3_stats} {status 1} {handles host1} {aggregate {{iccn_tx 0}
{sli_rx 0} {zlb_rx 0} {icrp_tx 0} {scccn_rx 0} {sli_tx 0} {zlb_tx 0} {sccrp_rx
0} {hello_rx 0} {scccn_tx 0} {cdn_rx 0} {sccrp_tx 0} {hello_tx 0} {icrq_rx 0}
{cdn_tx 0} {tx_pkt_acked 0} {icrq_tx 0} {wen_rx 0} {stopccn_rx 0} {s ccrq_rx 0}
{wen_tx 0} {stopccn_tx 0} {iccn_rx 0} {icrp_rx 0} {sccrq_tx 0} {connecting 0}
{connected 0} {disconnecting 0} {idle 0}}}