PPPoX Server Functions

pppox server config

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

Purpose:

Creates, modifies, or deletes PPPoX server session blocks for the specified Spirent HLTAPI port or handle.

A PPPoX sever is responsible for the dynamic allocation and serving of network addresses to PPPoX clients. It responds to the connection request from the client.

Synopsis:

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

    pppox server config
        mode= {create|modify|activate|reset} M
        port_handle= <port_handle>
        handle= <pppox_server_block_handle>
        attempt_rate= {<1-1000>
        auth_mode= { none | pap | chap | pap_or_chap }
        chap_reply_timeout= <1-65535>
        config_req_timeout= <1-65535>
        disconnect_rate= <1-1000>
        echo_req= {0 | 1}
        echo_req_interval < 165535= >
        echo_vendor_spec_tag_in_pado= {0 | 1}
        echo_vendor_spec_tag_in_pads= {0 | 1}
        encap= { ethernet_ii | ethernet_ii_vlan | ethernet_ii_qinq | vc_mux| llcsnap }
        enable_osi= {0 | 1}
        enable_mpls= {0 | 1}
        fsm_max_naks= <1-65535>
        force_server_connect_mode= {0 | 1}
        include_id= {0 | 1}
        ip_cp= { ipv4_cp | ipv6_cp | ipv4v6_cp }
        intf_ip_addr=  <a.b.c.d>
        intf_ip_addr_step= <a.b.c.d>
        intf_ip_prefix_length= <0-32>
        gateway_ip_addr= <a.b.c.d>
        intf_ipv6_addr=  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        intf_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        intf_ipv6_prefix_length= <0-128>
        gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        gateway_ipv6_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        ipcp_req_timeout= <1-65535>
        ipv4_pool_addr_start= <a.b.c.d>
        ipv4_pool_addr_prefix_len= <1-32>
        ipv4_pool_addr_count= <1-65535>
        ipv4_pool_addr_step= <1-65535>
        ipv6_pool_prefix_start= <aaaa:bbbb:cccc:dddd::>
        ipv6_pool_prefix_step= <aaaa:bbbb:cccc:dddd::>
        ipv6_pool_intf_id_start= <::eeee:ffff:gggg:hhhh>
        ipv6_pool_intf_id_step= <::eeee:ffff:gggg:hhhh>
        ipv6_pool_prefix_len= <0-128>
        ipv6_pool_addr_count= <1-65535>
        lcp_mru= <128-65535>
        local_magic= {0 | 1}
        mac_addr= < aa:bb:cc:dd:ee:ff >
        mac_addr_step= < aa:bb:cc:dd:ee:ff >
        max_configure_req= <1-65535>
        max_chap_req_attempt= <1-65535>
        max_echo_acks= <0-65535>
        max_ipcp_req= <1-65535>
        max_outstanding= <2- 65535>
        max_payload_tag_enable= {0 | 1}
        max_terminate_req= <1- 65535>
        mru_neg_enable= {0 | 1}
        num_sessions= <1-65535>
        pap_req_timeout= <1-65535>
        protocol= < pppoe | pppoa | pppoeoa >
        pvc_incr_mode= < vci | vpi | both >
        password
        password_wildcard= {0 | 1}
        qinq_incr_mode= < inner | outer | both >
        service_name= < service_name >
        server_inactivity_timer= <1-65535>
        term_req_timeout= <1-65535>
        username= <username>
        username_wildcard= {0 | 1}
        unconnected_session_threshold= <0-65535>
        vlan_id= <0-4095>
        vlan_id_step= <1-4095>
        vlan_id_count= <1-4096>
        vlan_cfi= {0 | 1}
        vlan_user_priority= <0-7>
        vlan_id_outer= <0-4095>
        vlan_id_outer_step= <0-4095>
        vlan_id_outer_count= <1-4096>
        vlan_outer_cfi= {0 | 1}
        vlan_outer_user_priority= <0-7>
        vci= <0-65535>
        vci_count <165536= >
        vci_step= <0-255>
        vpi= <0-255>
        vpi_count < 1256= >
        vpi_step= <0-255>
        wildcard_bang_start= <0-65535>
        wildcard_bang_end= <0-65535>
        wildcard_dollar_start= <0-65535>
        wildcard_dollar_end= <0-65535>
        wildcard_pound_start= <0-65535>
        wildcard_pound_end= <0-65535>
        wildcard_pound_fill= <0-9>
        wildcard_question_end= <0-65535>
        wildcard_question_start= <0-65535>
        wildcard_question_fill= <0-9>
        wildcard_bang_fill= <0-9>
        wildcard_dollar_fill= <0-9>
        expand= {true|false} S
        ac_name= <ANY>
        emulation_type= {server}
        enable_max_payload_tag= {true|false}
        ipv4_addr_pool_count= <1-65535>
        ipv4_addr_pool_start= <IPV4>
        ipv4_addr_pool_step= <NUMERIC>
        ipv6_addr_pool_count= <1-65535>
        ipv6_addr_pool_int_id_start= <IPV6>
        ipv6_addr_pool_int_id_step= <IPV6>
        ipv6_addr_pool_prefix_step= <IPV6>
        ipv6_addr_pool_prefix_start= <IPV6>
        max_payload_bytes= <0-65535>
        remote_or_session_id= <ANY>

Arguments:

mode
                Specifies the action to perform. Possible values are
                create, modify, and reset. This argument is `Mandatory`.
                The modes are described below::


                 create - Configures PPPoX server session blocks on the port
                          specified by the port_handle argument.

                 modify - Changes the configuration for the PPPoX server
                          block identified by the handle argument.

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


                               ac_name
                               auth_mode
                               echo_req
                               emulation_type
                               enable_max_payload_tag
                               ipv6_addr_pool_count
                               ipv6_addr_pool_int_id_start
                               ipv6_addr_pool_prefix_start
                               ipv4_addr_pool_start
                               include_id
                               password
                               username
                               ipv6_addr_pool_int_id_step
                               max_payload_bytes
                               ipv6_addr_pool_prefix_step
                               ipv4_addr_pool_count
                               service_name
                               max_echo_acks
                               ipv4_addr_pool_step
                               remote_or_session_id
                               echo_req_interval
                               ip_cp
                               lower_encap

                        2. Creates devices and enables PPPoE protocol.
                           Requires port_handle and -block_mode options.
                           For this mode, the following options are required/supported
                           along with the options specified above::


                             count
                             block_mode
                             block_name_index
                             name
                             vlan_id
                             vlan_outer_id
                             vlan_user_pri
                             vlan_id_count
                             vlan_id_repeatmode
                             vlan_outer_id_count
                             vlan_outer_user_pri
                             vlan_outer_id_repeatmode
                             router_id
                             router_id_step
                             router_id_ipv6
                             router_id_ipv6_step
                             intf_ip_addr
                             intf_ip_addr_step
                             intf_prefix_len
                             gateway_ip_addr
                             gateway_ip_addr_step
                             mac_addr
                             mac_addr_step
                             link_local_ipv6_addr
                             link_local_ipv6_addr_step
                             intf_ipv6_addr
                             intf_ipv6_addr_step
                             intf_ipv6_prefix_len
                             link_local_ipv6_prefix_len
                             gateway_ipv6_addr
                             gateway_ipv6_addr_step
                             mac_addr_step_per_port
                             mac_addr_step_per_vlan
                             ip_step_per_port
                             ip_step_per_vlan
                             ipv6_step_per_vlan
                             ipv6_step_per_port
                             link_local_ipv6_step_per_port
                             link_local_ipv6_step_per_vlan

                           Note: Please refer to the emulation_device_config documentation.

                 reset - Deletes the PPPoX servers specified by handle.

port_handle
                Specifies the handle of the port on which the PPPoX server(s)
                is to be created when mode is set to create.
                This argument is `Mandatory` for create mode only.

handle
                Specifies the handle of the PPPoX server group to
                use when mode is set to "modify" or "reset."
                This argument is `Mandatory` for modify and reset mode.
                The handle is returned by the ``pppox server config`` function.

attempt_rate
                Specifies the PPP attempt rate, in seconds, for all PPPoX servers
                on this port. This is a portwide option. Possible values range
                from 1 to 1000. The default value is 100.

auth_mode
                Specifies the authentication mode to use. Possible values are
                listed below::


                 none - No authentication. This is the default.
                 pap - Password Authentication Protocol (PAP).
                 chap - Challenge Handshake Authentication Protocol (CHAP) MD5.

chap_reply_timeout
                Specifies the timeout wait period (in seconds) for the PPPoX
                client to send a CHAP response. Possible values range from 1 to
                65535. The default value is 3.

config_req_timeout
                Specifies the timeout value in seconds for acknowledgement of a
                ConfigureRequest or Terminate Request. Possible values range
                from 1 to 65535. The default value is 3.

disconnect_rate
                Specifies the disconnect rate at which PPPoX servers are
                disconnected. This option is a portwide option. Possible vales
                range from 1 to 1000. The default value is 1000.

echo_req
                Enables or disables echo requests. Possible values are 0 (disable)
                and 1 (enable). The default value is 0.

echo_req_interval
                Specifies the time interval in seconds for sending Link Control
                Protocol (LCP) echo requests. Possible values range from 1 to
                65535. The default value is 10. This argument is available when
                echo_req is set to 1.

echo_vendor_spec_tag_in_pado
                Enables or disables echo vendorspecific tag in PPPoE Active
                Discovery Offer (PADO) message. Possible values are 0 (disable)
                and 1 (enable). The default value is 0.

echo_vendor_spec_tag_in_pads
                Enables or disables echo vendorspecific tag in PPPoE Active
                Discovery Sessionconfirmation (PADS) message. Possible values
                are 0 (disable) and 1 (enable). The default value is 0.

encap
                Identifies the type of Layer2 encapsulation to use. Possible
                values are described below::


                 ethernet_ii - Ethernet II. This option supports Ethernet
                              encapsulation

                 ethernet_ii_vlan - Ethernet II with a single VLAN tag. This option
                                   supports Ethernet encapsulation. You can use the vlan_*
                                    arguments to define a VLAN interface.

                 ethernet_ii_qinq - Ethernet II with two VLAN tags. This option
                                   supports Ethernet encapsulation. You can use the
                                   vlan_outer_* and vlan_* arguments to define
                                   a Qin-Q interface

                 vc_nux - Specifies ATM encapsulation to VC Multiplexed.  Virtual
                          Circuit Multiplexing (VC_MUX) is one of the two mechanisms
                          or identifying the protocol carried in ATM Adaptation Layer5
                          (AAL5) frame. This option is available for ATM cards.
                          Use the vci_* arguments and vpi_* arguments to define
                          an ATM interface

                 llcsnap - Specifies ATM encapsulation to LLC Encapsulated.
                          llcsnap is the other mechanism for identifying the protocol
                          carried in AAL5 frame. This option is available for ATM
                          cards. Use the vci_* arguments and vpi_* arguments to define
                          an ATM interface



                Note: When setting PPP over Ethernet over ATM (PPPoEoA) encapsulation,
                      you can set the Layer 2 encapsulation type to the combination of
                      {ethernet_ii|ethernet_ii_vlan|ethernet_ii_qinq} and
                      {vc_mux|llcsnap}. You can set PPPoEoA encapsulation using
                      protocol pppoeoa. The default value is ethernet_ii.

enable_osi
                Enables or disables the Network Layer Control Protocol (NLCP)
                required for OSI protocols. Possible values are 0 (disable) and 1
                (enable). The default value is 0.

enable_mpls
                Enables or disables a control protocol for the traffic going
                through MPLS tunnels. Possible values are 0 (disable) and 1
                (enable). The default value is 0

fsm_max_naks
                Specifies the maximum number of NegativeAcknowledgment
                packages allowed during the LCP or the NCP negotiation. Possible
                values range from 1 to 65535. The default value is 5.

force_server_connect_mode
                Enables or disables the force connect mode. A server is forced
                into the Connected state provided it has the userdefined maximum
                number of unconnected sessions. Forcing a server into the
                Connected state allows a partially bound block to send and
                receive traffic. Possible values are 0 (disable) and 1 (enable).
                The default value is 0.

include_id
                Determines whether to include the Identifier field in the
                challenge message during the CHAP authentication. Possible values
                are 0 and 1. The default value is 0. When the argument is set to
                1, the ID will be included in the challenge message during the
                CHAP authentication. This argument is available only when you
                specify auth_mode chap.

ip_cp
                Determines the IP Control Protocol (IPCP) version to enable.
                Possible values are listed below::


                 ipv4_cp - Enables IPv4 addressing. This is the default.
                 ipv6_cp - Enables IPv6 addressing

intf_ip_addr
                Defines the starting IPv4 address of emulated PPPoX servers. The
                format of the values must be in IPv4 format. This argument is
                available when ip_cp is set to ipv4_cp or ipv4v6_cp.

intf_ip_addr_step
                Defines the increment used to generate IPv4 addresses.The format
                of the values must be in IPv4 format. The default value is
                0.0.0.1. This argument is available when ip_cp is set to
                ipv4_cp or ipv4v6_cp.

intf_ip_prefix_length
                Specifies the IPv4 prefix length for the emulated PPPoX servers.
                Possible values range from 0 to 32. The default value is 24. This
                argument is available when ip_cp is set to ipv4_cp or ipv4v6_cp.

gateway_ip_addr
                Configures the starting IPv4 gateway address of emulated PPPoX
                servers. The format of the values must be in IPv4 format. This
                argument is available when ip_cp is set to ipv4_cp or ipv4v6_cp.

gateway_ip_step
                Defines the increment used to generate IPv4 gateway addresses.
                The format of the values must be in IPv4 format. This argument is
                available when ip_cp is set to ipv4_cp or ipv4v6_cp. The default value is
                0.0.0.0.

intf_ipv6_addr
                Configures the starting IPv6 address of emulated PPPoX servers.
                The format of the values must be in IPv6 format. This argument is
                available when ip_cp is set to ipv6_cp or ipv4v6_cp.

intf_ipv6_addr_step
                Defines the increment used to generate IPv6 addresses. The format
                of the values must be in IPv6 format. This argument is available
                when ip_cp is set to ipv6_cp or ipv4v6_cp. The default value is 0000::1.

intf_ipv6_prefix_length
                Specifies the IPv6 prefix length for the emulated PPPoX server.
                Possible values range from 0 to 128. This argument is available
                when ip_cp is set to ipv6_cp or ipv4v6_cp. The default value is 64.

gateway_ipv6_addr
                Configures the starting IPv6 gateway address of emulated PPPoX
                servers. The format of the values must be in IPv6 format. This
                argument is available when ip_cp is set to ipv6_cp or ipv4v6_cp.

gateway_ipv6_step
                Defines the increment used to generate gateway IPv6 addresses.
                The format of the values must be in IPv6 format. This argument is
                available when ip_cp is set to ipv6_cp or ipv4v6_cp. The default value is ::.

ipcp_req_timeout
                Specifies the timeout value in seconds for the acknowledgement of
                an IPCP ConfigureRequest.Possible values range from 1 to 65535.
                The default value is 3.

ipv4_pool_addr_start
                Specifies the starting IPv4 address of the IP address pool. The
                format of the values must be in IPv4 format. The default value is
                192.0.1.0. This argument is available when ip_cp is set to
                ipv4_cp or ipv4v6_cp.

ipv4_pool_addr_prefix_len
                Specifies the IPv4 prefix length of IPv4 addresses in the PPPoX
                server pool. Possible values range from 0 to 32. The default
                value is 24. This argument is available when ip_cp is set to
                ipv4_cp or ipv4v6_cp.

ipv4_pool_addr_count
                Specifies the number of IPv4 addresses in the PPPoX server pool.
                Possible values range from 1 to 65535. The default value is 1.
                This argument is available when ip_cp is set to ipv4_cp or ipv4v6_cp.

ipv4_pool_addr_step
                Specifies the integer step by which to increment the IPv4
                addresses in the PPPoX Server pool. The values of the argument
                must be integers. Possible values range from 1 to 65535. The
                default value is 1. This argument is available when ip_cp is set
                to ipv4_cp or ipv4v6_cp.

ipv6_pool_prefix_start
                Specifies the upper 64 bits of the starting IPv6 address for the
                PPPoX Server's address pool. The format must be IPv6. The default
                value is 2001::. This argument is available when ip_cp is set to
                ipv6_cp or ipv4v6_cp.

ipv6_pool_prefix_step
                Specifies the upper 64 bits of the IPv6 step to increment the
                addresses in the PPPoX Server pool. The format must be IPv6. The
                default value is 0:0:0:1::. This argument is available when
                ip_cp is set to ipv6_cp or ipv4v6_cp.

ipv6_pool_intf_id_start
                Specifies the lower 64 bits of the starting IPv6 address for the
                PPPoX Server's address pool. The format must be IPv6. The default
                value is ::1. This argument is available when ip_cp is set to
                ipv6_cp or ipv4v6_cp.

ipv6_pool_intf_id_step
                Specifies the lower 64 bits of the IPv6 step to increment the
                addresses in the PPPoX Server pool. The format must be IPv6. The
                default value is ::1. This argument is available when ip_cp is
                set to ipv6_cp or ipv4v6_cp.

ipv6_pool_prefix_len
                Specifies the IPv6 prefix length of IPv4 addresses in the PPPoX
                Server pool. Possible values range from 0 to 128. The default
                value is 64. This argument is available when ip_cp is set to
                ipv6_cp or ipv4v6_cp.

ipv6_pool_addr_count
                Specifies the number of IPv6 addresses in the PPPoX Server pool.
                Possible values range from 1 to 65535. The default value is 1.
                This argument is available when ip_cp is set to ipv6_cp or ipv4v6_cp.

lcp_mru
                Specifies the local Maximum Receive Unit (MRU) size in bytes.
                Possible values range from 128 to 65535. The default value is
                1492. This argument is available when mru_neg_enable is set to
                1.

local_magic
                Enables or disables the use of the magic number for detecting
                data link layer errors. Possible values are 0 (disable) and 1
                (enable). The default value is 1.

mac_addr
                Specifies the starting value for MAC addresses. The value must be
                in MAC format.

mac_addr_step
                Specifies the step value applied to the base MAC address. The
                value must be in MAC format. The default value is
                00.00.00.00.00.01.

max_configure_req
                Specifies the maximum number of ConfigureRequest packets that
                can be sent without acknowledgement. Possible values range from 1
                to 65535. The default value is 5.

max_chap_req_attempt
                Specifies the maximum number of CHAP challenge attempts made by
                the server. Possible values range from 1 to 65535. The default
                value is 10.

max_echo_acks
                Specifies the maximum number of unanswered echo requests to send
                before the PPPoX server session fails. When you specify
                max_echo_acks 0, echo requests are disabled. Possible values
                range from 0 to 65535. The default value is 3. This argument is
                available when echo_req is set to 1.

max_ipcp_req
                Specifies the maximum number of IPCP ConfigureRequest packets
                that can be sent without getting an ACK. Possible values range
                from 1 to 65535. The default value is 10.

max_outstanding
                Specifies the maximum number of sessions in progress at one time.
                The sessions in process are the sessions either coming up or
                disconnecting.This is a portwide option. Possible values range
                from 2 to 65535. The default value is 100.

max_payload_tag_enable
                Enables or disables the Maximum Payload tag. When this argument
                is set to 1, PPPoX servers allow the negotiation of an MRU larger
                than 1492. Possible values are 0 (disable) and 1 (enable). The
                default value is 0.

max_payload_bytes
                Specifies the maximum payload in bytes. Possible values range from
                1 to 65535. The default value is 1500. This argument is available
                when max_payload_tag_enable is set to 1.

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

mru_neg_enable
                Enables or disables the MRU negotiation. Possible values are
                0 (disable) and 1 (enable). The default value is 1.

num_sessions
                The number of PPPoX servers to emulate. Possible values range
                from 1 to 65535. This argument is `Mandatory`. The default value is 1.

                When you specify encap ethernet_ii_vlan, the value of this
                argument must be divided evenly by the value of the
                vlan_id_count argument.

                When you specify encap ethernet_ii_qinq, the value of this
                argument must be divided evenly by the least common multiple
                of the values of vlan_id_count and vlan_id_outer_count.

                Likewise, if you specify encap vc_mux or encap llcsnap,
                the value of this argument must be divided evenly by the least
                common multiple of the values of vpi_count and vci_count.

pap_req_timeout
                Specifies the timeout wait period (in seconds) between
                retransmissions of a PAP request. Possible values range from
                1 to 65535. The default value is 3.

protocol
                Specifies the type of protocol to use. Possible values are
                listed below::


                 pppoe - Indicates the PPP over Ethernet encapsulation. This is the
                       default. Applicable on Ethernet cards.

                 pppoa - indicates the PPP over ATM encapsulation. Applicable on
                       ATM cards

                 pppoeoa - Indicates the PPP over Ethernet and bridging over ATM
                       encapsulation. This argument is applicable on ATM cards

pvc_incr_mode
                Determines which ID to increment first. Possible values are
                listed below::


                 vci - Increments the VC ID before the Virtual Path (VP) ID. This
                     is the default.

                 vpi - Increments the VP ID before the Virtual Circuit (VC)ID.

                 both - Increments both the VP and VC ID at the same time.

password
                Specifies the string base from which the passwords are
                generated (e.g., Password#) when the authentication mode
                is pap or chap (see auth_mode).

                When password_wildcard is enabled, you can include # (pound), ?
                (question), ! (bang), and $ (dollar) into the string to use
                wildcards to generate unique passwords. See the description of
                arguments related to pound (wildcard_pound_*), question
                (wildcard_question_*), bang (wildcard_bang_*) and dollar
                (wildcard_dollar_*) for details.

password_wildcard
                Enables or disables the wildcard substitution in passwords
                defined by the password argument. Possible values are 0
                (disable) and 1 (enable). If the value is set to 1, any wildcards
                used in password will be replaced with the corresponding values
                according to arguments related to pound (wildcard_pound_*),
                question (wildcard_question_*), bang (wildcard_bang_*)and
                dollar (wildcard_dollar_*). If the value is 0, wildcards will
                not be replaced. The default value is 0.

qinq_incr_mode
                Specifies the increment mode for Qin-Q Ethernet interfaces. This
                parameter only applies to Qin-Q Ethernet interfaces. Possible
                values are described below::


                 inner - The inner VLAN ID is incremented first until the
                     specified number of inner VLANs is exhausted, then the outer
                     VLAN ID is incremented. This continues in a roundrobin
                     fashion until the number of outer VLANs is exhausted. This
                     is the default.

                 outer - The outer VLANs ID is incremented first until the
                     specified number of outer VLANs is exhausted, then the inner
                     VLAN ID is incremented. This continues in a roundrobin
                     fashion until the number of inner VLANs is exhausted.

                 both - The inner VLAN ID and outer VLAN ID increment at the same
                     time. When inner VLAN count is larger than the outer VLAN
                     count, then the inner VLAN ID will continues in a
                     roundrobin fashion until the number of the outer VLAN ID is
                     exhausted. The similar thing happens when the outer VLAN
                     count is larger than the outer VLAN count.

service_name
                Indicates the service (ISP name, class, or QoS) requested.
                If you do not specify a service name or specify an empty
                string, any service will be accepted.

server_inactivity_timer
                Specifies the number of seconds to wait before the PPPoX server
                is forced to the Connected state. The timer begins during a
                period of inactivity on the server and is reset upon
                transmission/receipt of a packet (excluding keepalives). When the
                timer expires, the server is put in the Connected state provided
                the server hits the threshold defined by
                unconnected_session_threshold. Possible values range from 1 to
                65535. The default values is 30. This argument is available when
                force_server_connect_mode is set to 1.

term_req_timeout
                Specifies the timeout value in seconds for acknowledgement
                of a Terminate Request packet. Possible values range from 1 to
                65535. The default value is 10.

username
                Indicates the string base from which the usernames are generated
                (for example, User#) when the authentication mode is pap or chap
                (see auth_mode). When -username_wildcard is enabled, the
                #(pound), ? (question), ! (bang), and $ (dollar) you use in the
                string will be replaced with corresponding values. See the
                description of arguments related to pound (wildcard_pound_*),
                question (wildcard_question_*), bang (wildcard_bang_*) and
                dollar (wildcard_dollar_*) for details.

username_wildcard
                Enables or disables the wildcard substitution in the usernames
                defined by the username argument. If the value is set to 1, any
                wildcards used in the usernames will be replaced with the
                corresponding values according to arguments related to pound,
                question, bang and dollar. If the value is 0, wildcards will not
                be replaced. The default value is 0.

unconnected_session_threshold
                Specifies the number of unconnected sessions required for putting
                a PPPoX server in the Connected state. Possible values range from
                0 to 65535. The default value is 0. This argument is only
                available when force_server_connect_mode is set to 1.

vlan_id
                Specifies the first inner VLAN ID to use when generating PPPoX
                servers. Possible values range from 0 to 4095. The default value
                is 100.

vlan_id_step
                The step value to increment the inner VLAN ID. Possible values
                range from 1 to 4095. The default value is 0.

vlan_id_count
                The number of inner VLAN IDs to use when generating PPPoX servers.
                VLAN membership is assigned in roundrobin fashion. The Session
                number must be divided evenly by the VLAN number. Possible values
                range from 1 to 4096. The default value is 1.

vlan_cfi
                Sets the canonical format indicator field in VLAN for the
                emulated router node. Possible values are 0 (Ethernet) and 1
                (Token Ring). The default is 0. If set to 0, it indicates the
                network is Ethernet. If set to 1, it indicates that Token Ring
                and packets are dropped by Ethernet ports.

vlan_user_priority
                Specifies the inner VLAN priority to assign to the specified
                port. Possible values range from 0 to 7. The default value is 0.

vlan_id_outer
                The first outer VLAN ID to use when generating PPPoX server
                sessions. This ID only applies to PPPoX w/Stacked VLAN. Possible
                values range from 0 to 4095. The default is 100.

vlan_id_outer_step
                Specifies the step value to increment the outer VLAN IDs.
                Possible values range from 0 to 4095. The default value is 0.

vlan_id_outer_count
                Defines the number of outer VLAN IDs to use when generating
                PPPoX servers. VLAN membership is assigned in roundrobin
                fashion. The number of sessions must be divided evenly into
                the outer VLAN count. Possible values range from 1 to 4096.
                The default value is 1.

vlan_outer_cfi
                Defines the outer VLAN CFI. Possible values are 0 and 1.
                The default value is 0.

vlan_outer_user_priority
                Specifies the outer VLAN priority to assign to the specified
                port. Possible values range from 0 to 7. The default value is 0.

vci
                Specifies the VCI of the first ATM PVC pool. Possible values
                range from 0 to 65535. The default value is 32. This argument
                is available when protocol is set to pppoa or pppoeoa.

vci_count
                The number of VCIs to use when generating PPPoX servers.
                The session number must be divided evenly by the value of this
                argument. Possible values range from 1 to 65536. The default
                value is 1. This argument is available when protocol is set to
                pppoa or pppoeoa.

vci_step
                Specifies the step size in which the VCI value is incremented.
                Possible values range from 0 to 65535. The default value is 0.
                This argument is available when protocol is set to pppoa
                or pppoeoa.

vpi
                Specifies the VPI of the first ATM PVC pool (for an ATM
                connection). Possible values range from 0 to 255. The
                default value is 0. This argument is only available when
                protocol is set to pppoa or pppoeoa.

vpi_count
                Specifies the number of the VPIs to use when generating PPPoX
                servers. The session number must be divided evenly by the value
                of this argument. Possible values range from 1 to 256. The
                default value is 1. This argument is available when protocol is
                set to pppoa or pppoeoa.

vpi_step
                Specifies the step size in which the VPI value is incremented.
                Possible values range from 0 to 255. The default value is 0. This
                argument is available when protocol is set to pppoa or pppoeoa.

wildcard_bang_start
                Specifies the starting value of the wildcard symbol bang (!)
                substitution in the usernames or passwords. Possible values range
                from 0 to 65535. The default value is 1. This argument is
                available when username_wildcard or -password_wildcard is
                enabled.

wildcard_bang_end
                Specifies the ending value of the substitution of the wildcard
                symbol bang (!) in the usernames or passwords. Possible values
                range from 0 to 65535. The default value is 1. This argument is
                available when username_wildcard or -password_wildcard s
                enabled.

wildcard_dollar_start
                Specifies the starting value of the substitution of the wildcard
                symbol dollar ($) in the usernames or passwords. Possible values
                range from 0 to 65535. The default value is 1. This argument is
                available when username_wildcard or -password_wildcard is
                enabled.

wildcard_dollar_end
                Specifies the ending value for the substitution of the wildcard
                symbol dollar ($) in the usernames or passwords. Possible values
                range from 0 to 65535. The default value is 1. This argument
                is available when username_wildcard or -password_wildcard
                is enabled.

wildcard_pound_start
                Specifies the starting value to replace the wildcard pound (#)
                characters in usernames or passwords, such as user# or pwd#.
                Possible values range from 0 to 65535. The default value is 1.
                This argument is available when username_wildcard or
                password_wildcard is enabled.

wildcard_pound_end
                Specifies the ending numerical value to replace the wildcard
                pound (#) characters in usernames or passwords, such as
                user# or pwd#. Possible values range from 0 to 65535. The default
                value is 1. This argument is available when username_wildcard or
                password_wildcard is enabled.

wildcard_question_start
                Specifies the starting numerical value to replace the wildcard
                question mark (?) characters in usernames or passwords.
                Possible values range from 0 to 65535. The default value is 1.
                This argument is available when username_wildcard or
                password_wildcard is enabled.

wildcard_question_end
                Defines the ending numerical value to replace the wildcard
                question mark (?) characters in usernames and passwords.
                Possible values range from 0 to 65535. The default value is 1.
                This argument is available when username_wildcard or
                password_wildcard is enabled.

wildcard_bang_fill
                Indicates the length that the substitution of the wildcard symbol
                bang (!) should be. If the substitution generated by
                wildcard_bang_start and wildcard_bang_end is shorter than this
                length, leading zeros will be filled to make the substitution
                length equal to the length specified by this argument. If the
                substitution is longer than this length, the value of this
                argument will be ignored. When it is set to 0, leading zeros will
                not be filled. Possible values range from 0 to 9. The default
                value is 0. This argument is available when username_wildcard or
                password_wildcard is enabled.

wildcard_dollar_fill
                Indicates the length that the substitution of the wildcard symbol
                dollar ($) should be. If the substitution generated by
                wildcard_dollar_start and wildcard_dollar_end is shorter than
                this length, leading zeros will be filled to make the
                substitution length equal to the length specified by this
                argument. If the substitution is longer than this length, the
                value of this argument will be ignored. When it is set to 0,
                leading zeros will not be filled. Possible values range from 0 to
                9. The default value is 0. This argument is available when
                username_wildcard or -password_wildcard is enabled.

wildcard_pound_fill
                Indicates the length that the substitution of the wildcard symbol
                pound (#) should be. If the substitution generated by
                wildcard_pound_start and wildcard_pound_end is shorter than
                this length, leading zeros will be filled to make the
                substitution length equal to the length specified by this
                argument. If the substitution is longer than this length, the
                value of this argument will be ignored. When it is set to 0,
                leading zeros will not be filled. Possible values range from 0 to
                9. The default value is 0. This argument is available when
                username_wildcard or -password_wildcard is enabled.

wildcard_question_fill
                Indicates the length that the substitution of the wildcard symbol
                question mark (?) should be. If the substitution generated by
                wildcard_question_start and wildcard_question_end is shorter
                than this length, leading zeros will be filled to make the
                substitution length equal to the length specified by this
                argument. If the substitution is longer than this length, the
                value of this argument will be ignored. When it is set to 0,
                leading zeros will not be filled. Possible values range from 0 to
                9. The default value is 0. This argument is available when
                username_wildcard or -password_wildcard is enabled.

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

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

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

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

ac_name
                Specifies the Access Concentrator name in the PADO messages.
                The default is spirenttestcenter
                Applicable only in mode activate when -block_mode or -expand is specified.

emulation_type
                Specifies the PPPoX node emulation type.
                The default is server
                Applicable only in mode activate when -block_mode or -expand is specified.

enable_max_payload_tag
                Enables the PPPMax-Payload-Tag (see RFC 4638).
                The default is false

ipv4_addr_pool_count
                Specifies the number of IPv4 addresses in the PPPoX server's pool.
                The default is 1
                Applicable only in mode activate when -block_mode or -expand is specified.

ipv4_addr_pool_step
                Specifies the step IPv4 address for the PPPoX server's pool.
                The default is 1
                Applicable only in mode activate when -block_mode or -expand is specified.

ipv4_addr_pool_start
                Specifies the starting IPv4 address for the PPPoX server's pool.
                The default is 192.0.1.0
                Applicable only in mode activate when -block_mode or -expand is specified.

ipv6_addr_pool_int_id_step
                Specifies the IPv6 address pool Interface ID (lower 64 bits) step.
                The default is ::1
                Applicable only in mode activate when -block_mode or -expand is specified.

ipv6_addr_pool_int_id_start
                Specifies the IPv6 address pool Interface ID (lower 64 bits) start.
                The default is ::2
                Applicable only in mode activate when -block_mode or -expand is specified.

ipv6_addr_pool_prefix_start
                Specifies the IPv6 address pool prefix (upper 64 bits) start.
                The default is 2001:::

                Applicable only in mode activate when -block_mode or -expand is specified.

ipv6_addr_pool_prefix_step
                Specifies the IPv6 address pool prefix (upper 64 bits) step.
                The default is 0:0:0:1:::

                Applicable only in mode activate when -block_mode or -expand is specified.

max_payload_bytes
                Specifies the maximum number of PPP payload bytes the client can transmit and receive.
                The default is 1500
                Applicable only in mode activate when -block_mode or -expand is specified.

remote_or_session_id
                Specifies the remote ID or session ID depending on the relay agent type. Special wildcards allowed.
                The default is remote @m-@p-@b
                Applicable only in mode activate when -block_mode or -expand is specified.

Arguments Unsupported by Save as HLTAPI:

The following Spirent HLTAPI arguments are currently not supported by the Save as
HLTAPI function::


   qinq_incr_mode
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           A list of created PPPoX Server group handles.

handles
                 A list of emulated devices with PPPoX Server configuratin created by
                 ``pppox server config`` function when expand is set true.
handle_list
                 A list of emulated devices with PPPoX Server configuratin created by
                 ``pppox server config`` function when expand is set true.

status           $SUCCESS or $FAILURE
log              An error message if the command returns {status 0}
Description:

The pppox server config function creates, modifies, or deletes PPPoX server session blocks for the specified port. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)

When you create a PPPoX server session block, you must use the port_handle argument to specify the Spirent HLTAPI port that the emulated PPPoX server session block will use for PPPoX communication. (The port handle value is contained in the keyed list returned by the connect function.)

To make PPPoX servers connect to PPPoX clients successfully, you must create PPPoX server session number equivalent to or larger than PPPoX client number by specifying num_sessions. PPPoX servers will delegate IP addresses to the clients from the address pool after the connection is established. To make sure each client can be assigned unique IP address, you must configure IP address pool count equivalent to or larger than PPPoX client number by specifying ipv4_pool_addr_count or ipv6_pool_addr_count.

In addition to specifying the port handle (port_handle), you must also provide one or more of the following arguments when you create PPPoX servers or use their default values:

Defines the number of PPPoX servers to emulate (num_sessions)
The IPCP version (ip_cp { ipv4_cp | ipv6_cp | ipv4v6_cp } )
The Layer2 encapsulation type (encap)
The type of protocol to use (protocol)

When you specify ip_cp ipv4_cp or ipv4v6_cp, the following arguments are needed to configure IPv4 address and the pool address settings:

intf_ip_addr
intf_ip_addr_step
intf_ip_prefix_length
gateway_ip_addr
gateway_ip_step
ipv4_pool_addr_start
ipv4_pool_addr_prefix_len
ipv4_pool_addr_count
ipv4_pool_addr_step

When you specify ip_cp ipv6_cp or ipv4v6_cp, the following arguments are needed to configure IPv6 address and the pool address settings:

intf_ipv6_addr
intf_ipv6_addr_step
intf_ipv6_prefix_length
gateway_ipv6_addr
gateway_ipv6_step
ipv6_pool_prefix_start
ipv6_pool_prefix_step
ipv6_pool_intf_id_start
ipv6_pool_intf_id_step
ipv6_pool_prefix_len
ipv6_pool_addr_count

For a detailed description of PPPoX server encapsulation, see RFC 2516.

Examples:

The following example creates 10 IPv4 PPPoE servers:

pppox server config mode="create"
    port_handle=          $hltSourcePort
    num_sessions=         10
    encap=                ethernet_ii_qinq
    protocol=              pppoe
    attempt_rate=         50
    disconnect_rate=      50
    max_outstanding=      100
    auth_mode=            chap
    username=             spirent
    password=             spirent
    mac_addr=             "00:10:94:01:00:01"
    mac_addr_step=        "00.00.00.00.00.01"
    intf_ip_addr=         192.0.0.8
    intf_ip_addr_step=      0.0.0.1
    gateway_ip_addr=        192.0.0.1
    qinq_incr_mode=         inner
    vlan_id=                200
    vlan_id_count=           2
    vlan_id_outer=           300
    vlan_id_outer_count=     5
    ipv4_pool_addr_start=    10.1.0.0
    ipv4_pool_addr_prefix_len=   24
    ipv4_pool_addr_count=        50
    ipv4_pool_addr_step=         1

Sample Output:

{port_handle port1} {pppox_port pppoxportconfig1} {handle host3}

The following example creates 4 IPv6 PPPoE servers:

set status [pppox server config mode="create"
   port_handle=               $hltSourcePort
   encap=                    pppoe
   protocol=                  ethernet_ii
   num_sessions=              4
   ip_cp=                    "ipv6_cp"
   mac_addr=                "00:10:94:01:00:01"
   intf_ipv6_addr=            2000::5
   intf_ipv6_addr_step=        0::2
   gateway_ipv6_addr=        2000::1
   ipv4_pool_addr_start=      10.0.0.4
   ipv6_pool_prefix_start=     1000::
   ipv6_pool_prefix_step=      2::
   ipv6_pool_intf_id_start=     ::1
   ipv6_pool_intf_id_step=      ::2
   ipv6_pool_prefix_len=        64
   ipv6_pool_addr_count=        50

Sample Output:

{port_handle port1} {pppox_port pppoxportconfig1} {handle host4}

You can generate outgoing usernames and passwords based on wildcard replacements. For example, the # character represents a counter. If you define a counter to start at 1 (wildcard_pound_start= 1), run to 50 (wildcard_pound_end), and increment by 1. Then, in the username= argument, the specified user# would be replaced with User1, User2, and so on, when the authentication begins. The following example generates 50 user names and passwords:

pppox server config mode="create"
      port_handle=                 $hltSourcePort
      num_sessions=                50
      encap=                      ethernet_ii
      protocol=                    pppoe
      mac_addr=                   "00:10:94:01:00:01"
      intf_ip_addr=                 192.0.0.8 \
      gateway_ip_addr=             192.0.0.1 \
     ipv4_pool_addr_start=          10.1.0.0 \
     ipv4_pool_addr_count=          50 \
     auth_mode=                   chap
     username=                    User#
      password=                    Pass?
     username_wildcard=            1
     password_wildcard=            1
     wildcard_pound_start=              1
     wildcard_pound_end=                50
     wildcard_question_start=      1
     wildcard_question_end=        50 \

Sample Output:

{port_handle port1} {pppox_port pppoxportconfig1} {handle host5}

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

set pppoe_server_ret [pppox server config
            mode=                                            activate
            port_handle=                                     $port2
            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.0.1.1}
            intf_ipv6_prefix_len=                            65
            ipv6_step_per_vlan=                              {"" ::2}
            ipv6_step_per_port=                              ::1
            intf_prefix_len=                                 22
            link_local_ipv6_step_per_port=                   ::4
            link_local_ipv6_step_per_vlan=                   {"" ::5}
            name=                                            DEVICE_BLOCK_PPPOX
            vlan_user_pri=                                   3
            vlan_id_count=                                   2
            vlan_id_repeatmode=                              REPEAT_ACROSS_PORT
            vlan_outer_id_count=                             2
            vlan_outer_user_pri=                             4
            vlan_outer_id_repeatmode=                        REPEAT_ACROSS_PORT
            router_id_ipv6=                                  0101::011
            router_id_ipv6_step=                             ::11
            intf_ip_addr=                                    11.111.11.11
            gateway_ip_addr=                                 11.111.11.1
            expand=                                          true
            ac_name=                                         spirent
            auth_mode=                                       none
            echo_req=                                        true
            emulation_type=                                  server
            enable_max_payload_tag=                          true
            ipv6_addr_pool_count=                            1
            ipv6_addr_pool_int_id_start=                     ::2
            ipv6_addr_pool_prefix_start=                     2002::
            ipv4_addr_pool_start=                            10.1.1.1
            include_id=                                      true
            password=                                        spirent
            username=                                        spirent
            ipv6_addr_pool_int_id_step=                      ::2
            max_payload_bytes=                               1400
            ipv6_addr_pool_prefix_step=                     ::
            ipv4_addr_pool_count=                           2
            service_name=                                   spirent
            max_echo_acks=                                  10
            ipv4_addr_pool_step=                            1
            remote_or_session_id=                           remote
            echo_req_interval=                              20
            ip_cp=                                          ipv4_cp
            lower_encap=                                  pppoe]

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

pppox server control

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

Purpose:
Controls the pppox server activity on the specified test port.

Synopsis:

Note: M indicates the argument is `Mandatory`.

   pppox server control
       action= {connect|disconnect|retry|pause|resume|reset|clear|abort} M
       handle= <pppox_server_block_handle_list>
       port_handle= <port_handle_list>
       ipcp_mode= {ipv4|ipv6|ipv4v6}

Arguments:

action
                Specifies the action to perform. Possible values are
                described below::


                 connect - Brings up the configured PPPoX servers.

                 disconnect - Tears down connected PPPoX servers

                 retry - Attempts to connect PPPoX servers that have
                         previously failed to establish

                 pause - Pauses the PPPoX servers

                 resume - Resumes the PPPoX servers.

                 reset - Aborts PPPoX sessions and resets the PPP.

                 clear - Clears the status and statistics of the PPP sessions.

                 abort - Aborts PPPoX sessions and resets the PPP
                         emulation engine (without bringing the sessions
                         back up) on the specified device.

handle
                Identifies a list of server session blocks on which the actions
                defined by the action argument will be taken. You must specify
                either handle or -port_handle, but not both.

port_handle
                Specifies a list of ports to use. When you specify this
                argument, the action (action) will be applied
                to all PPPoX servers on the port. You must specify
                either handle or -port_handle, but not both.

ipcp_mode
                Specifies the IP version of PPPoX servers to connect, retry
                or disconnect. Possible values are ipv4, ipv6 and ipv4v6.
                The default mode is ipv4v6.
                You must specify one of these values. The modes are
                described below::


                 ipv4 - Use this mode, to connect, retry or disconnect all IPv4
                        PPPoX servers under the specified handle or the -port_handle.

                 ipv6 - Use this mode, to connect, retry or disconnect all IPv6
                        PPPoX servers under the specified handle or the -port_handle.

                 ipv4v6 - Use this mode, to connect, retry or disconnect all IPv4 and IPv6
                        PPPoX servers under the specified handle or the -port_handle.
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 or $FAILURE
log            Returns debug information when status is $FAILURE.
Description:

The pppox server control function operates PPPoX server session blocks. You can use the function to perform the following actions: connecting, disconnecting, resetting, retrying, pausing, resuming, clearing or aborting PPPoX server session blocks. When you call the pppox server control function, you must specify a handle or a port handle. When you specify a port handle, the action will be applied to all the PPPoX servers on the port.

You can check the aggregate.connected and aggregate.idle fields returned by pppox server stats to see when all sessions finish connecting or disconnecting. If the aggregate.idle or the aggregate.connected values are equal to 1, then you can send pppox server control connect, retry, disconnect, pause, or resume actions again. When the aggregate.connected value is 1, you can disconnect the PPPoX server sessions with pppox server control handle=<handle> action disconnect. If configuring and connecting multiple PPPoX server handles, configure all the handles before connecting PPPoE servers. Do not call pppox server config while aggregate.connecting, aggregate.connected, or aggregate.disconnecting are equal to 1.

While in the aggregate.connecting, aggregate.connected, or aggregate.disconnecting state, the PPPoX server cannot accept newly configured PPPoX server session blocks. Therefore, if you plan to configure and bring up multiple PPPoX server session blocks, configure all the PPPoX server session blocks before connecting PPPoE server sessions.

Examples:

To connect with the specified PPPoX server:

pppox server control action=connect
                port_handle= $hltSourcePort

Sample Output:

{status 1}

To connect only IPv4 PPPoX servers:

pppox server control
                action=        connect
                port_handle=   $hltSourcePort
                ipcp_mode=     ipv4

Sample Output:

{status 1}

pppox server stats

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

Purpose:
Returns statistics of the PPPoX servers configured on the specified test port.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     pppox server stats
         handle= <handle>
         mode= { aggregate | session }

Arguments:

handle
                Specifies the handle of the PPPoX server block whose
                PPPoX statistics you will retrieve.

mode
                Specifies the statistics retrieval mode. Possible values
                are described below::


                 aggregate - Aggregates the statistics on all the configured sessions.

                 session - Retrieves the statistics on a per session basis.

                Note: Session statistics are only valid after the PPPoX server
                      sessions are established. They will not be returned or
                      accessible until the sessions 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 or $FAILURE
log            Error message if command returns {status 0}

The following keys are returned when you specify port_handle:

*** aggregate statistics ***

aggregate.idle
                Possible return values are 0 and 1. When
                it returns 1, no PPP servers are active. This
                state is entered if all hosts were manually released.

aggregate.connecting
                Possible return values are 0 and 1. When
                it returns 1, the server is awaiting
                connection requests (PADI messages) from clients.

aggregate.connected
                Possible return values are 0 and 1. When it returns 1, PPP
                sessions have completed all phases (LCP, authentication, and
                IPCP) of negotiation between the PPP client and the server and
                have resulted in retrieving an IP address for at least one host
                on the port.

aggregate.disconnecting
                Possible return values are 0 and 1. When it returns 1, the server
                is bringing down sessions by sending TerminateRequest messages
                to clients.

aggregate.abort
                Possible return values are 0 and 1. When it returns 1, the server
                is terminating.

aggregate.atm_mode
                Specifies whether the server session block is in the ATM mode.

aggregate.num_sessions
                The number of sessions.

aggregate.connect_attempts
                The number of connection attempts for the PPPoX server
                sessions (maximum of one per session). This value increments
                the first time an LCP ConfigureRequest packet is sent per session.

aggregate.connect_success
                The number of PPPoX server sessions that connected successfully.

aggregate.disconnect_success
                The number of disconnected server sessions during which an LCP
                TerminateRequest packet was sent (from either peer) and an LCP
                TerminateAck packet was received

aggregate.sessions_up
                The Number of sessions currently up.

aggregate.sessions_down
                The Number of sessions currently down.

aggregate.disconnect_failed
                The number of PPPoX server sessions that fail to disconnect.

aggregate.min_setup_time
                The shortest period of time (in milliseconds) from when the first
                LCP ConfigureRequest packet was sent out to when an IPCP
                ConfigureAck packet was received for a single session.

aggregate.max_setup_time
                The longest period of time (in milliseconds) from when the first
                LCP ConfigureRequest packet was sent out to when an IPCP
                ConfigureAck packet was received for a single session.

aggregate.avg_setup_time
                The average period of time (in milliseconds) from when the first
                LCP ConfigureRequest packet was sent out to when an IPCP
                ConfigureAck packet was received for a single session.

aggregate.success_setup_rate
                The average rate of successful connections (in sessions
                per second).

aggregate.lcp_cfg_req_rx
                The number of ConfigureRequest packets received.

aggregate.lcp_cfg_req_tx
                The number of ConfigureRequest packets sent.

aggregate.lcp_cfg_rej_rx
                The number of ConfigureReject packets received.

aggregate.lcp_cfg_rej_tx
                The number of ConfigureReject packets sent.

aggregate.lcp_cfg_ack_rx
                The number of ConfigureAcknowledge packets received.

aggregate.lcp_cfg_ack_tx
                The number of ConfigureAcknowledge packets sent.

aggregate.lcp_cfg_nak_rx
                The number of ConfigureNegative Acknowledge
                packets received.

aggregate.lcp_cfg_nak_tx
                The number of ConfigureNegative Acknowledge
                packets sent.

aggregate.term_req_rx
                The number of TerminateRequest packets received.

aggregate.term_req_tx
                The number of TerminateRequest packets sent.

aggregate.term_ack_rx
                The number of ConfigureAcknowledge packets received.

aggregate.term_ack_tx
                The number of ConfigureAcknowledge packets sent.

aggregate.echo_req_rx
                The number of Echo Request packets received.

aggregate.echo_req_tx
                The number of Echo Request packets sent.

aggregate.echo_rsp_rx
                The number of Echo Reply packets received.

aggregate.echo_rsp_tx
                The number of Echo Reply packets sent.

aggregate.ipcp_tx
                The number of IPCP requests sent.

aggregate.ipcp_rx
                The number of IPCP requests received.

aggregate.pap_auth_tx
                The number of PAP requests sent.

aggregate.pap_auth_rx
                The number of PAP requests received.

aggregate.chap_auth_tx
                The number of CHAP requests sent.

aggregate.chap_auth_rx
                The number of CHAP requests received.

aggregate.ipv6cp_tx
                The number of IPv6CP requests sent.

aggregate.ipv6cp_rx
                The number of IPv6CP requests received.

aggregate.padi_rx
                The number of PPPoE Active Discovery Initialized packets
                received.

aggregate.padi_tx
                The number of PPPoE Active Discovery Initialized packets
                received.

aggregate.pado_rx
                The number of PPPoE Active Discovery Offer (PADO) packets
                received.
                aggregate.padr_tx
                The number of PPPoE Active Discovery Request packets sent.

aggregate.pads_rx
                The number of PPPoE Active Discovery Sessionconfirmation
                packets received.

aggregate.padt_tx
                The number of PPPoE Active Discovery Terminate
                packets sent.

aggregate.padt_rx
                The number of PPPoE Active Discovery Terminate
                packets received.

aggregate.padr_rx
                The number of PPPoE Active Discovery Request (PADR)
                packets received.

aggregate.pado_tx
                The number of PADO packets sent.

aggregate.pads_tx
                The number of PADS packets sent.

aggregate.session_retried
                The number of sessions retired.

The Detailed Session Information dialog box displays information at the PPPoX server session level. The statistics are listed below:

*** session statistics ***

session.<session ID>.idle
                Possible return values are 0 and 1. When
                it returns 1, no PPP sessions are active. This
                state is entered if all hosts were manually released.
                session.<session ID>.connecting
                Possible return values are 0 and 1. When
                it returns 1, the server is awaiting
                connection requests (PADI messages) from clients.

session.<session ID>.connected
                Possible return values are 0 and 1. When it returns 1, PPP
                sessions have completed all phases (LCP, authentication, and
                IPCP) of negotiation between the PPP client and the server and
                have resulted in retrieving an IP address for at least one host
                on the port.

session.<session ID>.disconnecting
                Possible return values are 0 and 1. When it returns 1,
                the server is bringing down sessions by sending
                TerminateRequest messages to clients.

session.<session ID>.abort
                Possible return values are 0 and 1. When it returns 1,
                the server is terminating.

session.<session ID>.atm_mode
                Possible return values are 0 and 1. When it returns 1,
                the server is in the ATM mode.

session.<session ID>. connect_success
                Possible return values are 0 and 1. When it returns 1,
                the server connects to the clients successfully.

session.<session ID>. disconnect_success
                Possible return values are 0 and 1. When it returns 1,
                the server session block is disconnected successfully.

session.<session ID>. sessions_up
                Possible return values are 0 and 1. When it returns 1,
                the session are up.

session.<session ID>. disconnect_failed
                Possible return values are 0 and 1. When it returns 1,
                the server is failed to be disconnected.

session.<session ID>. sessions_down
                Possible return values are 0 and 1. When it returns 1,
                the session are down.

session.<session ID>.lcp_cfg_req_rx
                The number of ConfigureRequest packets received.

session.<session ID>.lcp_cfg_req_tx
                The number of ConfigureRequest packets sent.

session.<session ID>.lcp_cfg_rej_rx
                The number of ConfigureReject packets received.

session.<session ID>.lcp_cfg_rej_tx
                The number of ConfigureReject packets sent.

session.<session ID>.lcp_cfg_ack_rx
                The number of ConfigureAcknowledge packets received.

session.<session ID>.lcp_cfg_ack_tx
                The number of ConfigureAcknowledge packets sent.

session.<session ID>.lcp_cfg_nak_rx
                The number of ConfigureNegative Acknowledge packets received.

session.<session ID>.lcp_cfg_nak_tx
                The number of ConfigureNegative Acknowledge packets sent.

session.<session ID>.ipcp_tx
                The number of IPCP packets sent.

session.<session ID>.ipcp_rx
                The number of IPv6CP packets received.

session.<session ID>.ipv6cp_tx
                The number of IPv6CP packets sent.

session.<session ID>.ipv6cp_rx
                The number of IPv6CP packets received.

session.<session ID>.padi_rx
                The number of PPPoE Active Discovery Initialized packets
                received.

session.<session ID>.pado_tx
                The number of PPPoE Active Discovery Request packets sent.

session.<session ID>.padr_rx
                The number of PPPoE Active Discovery Request packets received.

session.<session ID>.pads_tx
                The number of PPPoE Active Discovery Sessionconfirmation
                packets sent.

session.<session ID>.padt_rx
                The number of PPPoE Active Discovery Terminate
                packets received.

session.<session ID>.padt_tx
                The number of PPPoE Active Discovery Terminate
                packets sent.

session.<session ID>.term_req_rx
                The number of TerminateRequest packets received.

session.<session ID>.term_req_tx
                The number of TerminateRequest packets sent.

session.<session ID>.term_ack_rx
                The number of ConfigureAcknowledge packets received.

session.<session ID>.term_ack_tx
                The number of ConfigureAcknowledge packets sent.

session.<session ID>.echo_req_rx
                The number of Echo Request packets received.

session.<session ID>.echo_req_tx
                The number of Echo Request packets sent.

session.<session ID>.echo_rsp_rx
                The number of Echo Reply packets received.

session.<session ID>.echo_rsp_tx
                The number of Echo Reply packets sent.

session.<session ID>.pap_auth_tx
                The number of PAP authentication packets sent.

session.<session ID>.pap_auth_rx
                The number of PAP authentication packets received.

session.<session ID>.chap_auth_tx
                The number of CHAP authentication packets sent.

session.<session ID>.chap_auth_rx
                The number of CHAP authentication packets received.
Description:
The pppox server stats function retrieves a list of aggregate statistics for the PPPoE session configured on the specified port.

Examples:

The following example retrieves aggregate results:

pppox server stats mode=aggregate
    handle= $serverHandle

Sample Output:

{port_handle port1} {aggregate {{connecting 0} {connected 1}
{disconnecting 0} {abort 0} {idle 0} {atm_mode 0} {ipcpv6_cfg_rx 0}
{term_req_rx 0} {term_ack_tx 0} {ipcp_cfg_rx 30} {chap_auth_rx 10}
{padr_rx 10} {lcp_cfg_rej_tx 0} {echo_rsp_rx 0} {padt_tx 0} {pado_tx 10}
{ipcpv6_cfg_tx 0} {connect_success 10} {term_req_tx 0} {lcp_cfg_ack_rx 10}
{num_sessions 10} {ipcp_cfg_tx 30} {echo_req_rx 0} {chap_auth_tx 20}
{padr_tx 0} {disconnect_success 0} {max_setup_time 0} {echo_rsp_tx 0}
{pads_rx 0} {sessions_up 10} {pap_auth_rx 0} {disconnect_failed 0}
{lcp_cfg_req_rx 10} {lcp_cfg_ack_tx 10} {padi_rx 10} {lcp_cfg_nak_rx 0}
{echo_req_tx 0} {min_setup_time 0} {success_setup_rate 0}
{term_ack_rx 0} {session_retried 0} {pads_tx 10} {pap_auth_tx 0}
{sessions_down 0} {lcp_cfg_rej_rx 0} {lcp_cfg_req_tx 10} {padi_tx 0}
{lcp_cfg_nak_tx 0} {padt_rx 0} {connect_attempts 0} {avg_setup_time 0}
{pado_rx 0}}} {status 1}

The following example retrieves session results:

pppox server stats mode=session
               handle= $serverHandle

Sample Output:

{session {{host3 {{connecting 0} {connected 1} {disconnecting 0}
{abort 0} {idle 0} {atm_mode 0} {ipcpv6_cfg_rx 0} {term_req_rx 0}
{term_ack_tx 0} {ipcp_cfg_rx 30} {chap_auth_rx 10} {padr_rx 10}
{lcp_cfg_rej_tx 0} {echo_rsp_rx 0} {padt_tx 0} {pado_tx 10}
{ipcpv6_cfg_tx 0} {connect_success 10} {term_req_tx 0} {lcp_cfg_ack_rx 10}
{ipcp_cfg_tx 30} {echo_req_rx 0} {chap_auth_tx 20} {disconnect_success 0}
{echo_rsp_tx 0} {sessions_up 10} {pap_auth_rx 0} {disconnect_failed 0}
{lcp_cfg_req_rx 10} {lcp_cfg_ack_tx 10} {padi_rx 10} {lcp_cfg_nak_rx 0}
{echo_req_tx 0} {term_ack_rx 0} {pads_tx 10} {pap_auth_tx 0}
{sessions_down 0} {lcp_cfg_rej_rx 0} {lcp_cfg_req_tx 10} {lcp_cfg_nak_tx 0}
{padt_rx 0}}}}} {status 1}

End of Procedure Header