MPLS TP Functions

emulation mpls tp config

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

Purpose:

This function is a Spirent Extension to configure the emulation of a Multiprotocol Label Switching ProtocolTransport Profile (MPLSTP) network, or a Martini style Pseudo Wire Emulation Edgeto-Edge(PWE3) network topologies (as in Spirent Test Center) on the specified port.

A PWE3 VPN uses extended Virtual Circuit (VC) Label Switched Path (LSP) of Label Protocol (LDP) or BGP signaling in the MPLS architecture to exchange Layer 2 switching information between VPN sites on the service provider network.

The system includes two types of topologiesSingle Segment and Multi Segment. In a singlesegment test, only Provider Edge (PE) routers and a Provider (P) router are involved; while in a multi segment test, the DUT serves as an S-PE router or an Ingress/Egress router.

The different parts of a PWE3 VPN are described as:

Provider (P) router
Router in the core of the provider network. P routers run MPLS switching, and do not attach VPN labels (assigned by PE routers) to routed packets between VPN sites.
ProviderEdge (PE) router
Edge router of the MPLS network that attaches the VPN label to the incoming packets based on the interface or subinterface on which they are received. A PE router directly attaches to a Customer Edge (CE) device. VPN labels are used to direct data packets to the correct egress router of MLPS network.
Customer Edge (CE) device
Edge device on the network of a VPN site that connects to the PE router on the ISP network. A CE must interface with a PE router.
Pseudo Wire Switching Provider Edge (SPE)
The switching router in a multisegment PW.
Pseudowire Terminating Provider Edge (TPE)
The ingress/egress router in a multisegment PW, which connects directly to a CE.

The parameter also supports LSP Ping.

Spirent HLTAPI supports the types of PWE3 VPN listed below: :

Ethernet over MPLS (EoMPLS or Martini Traffic)
Pointto-Point connection of Ethernet VPN over MPLS network.
LDPVirtual Private LAN Services (VPLS)
LDP signaled multipointto-multipoint Ethernet VPN over MPLS network.
BGP- Virtual Private LAN Services(VPLS)
BGP signaled multipointto-multipoint Ethernet VPN over MPLS network.

Spirent HLTAPI also supports MPLS over GRE for PWE3 VPN.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation mpls tp config
         mode= {create|delete} M
         ports= <handle> M
         port_handle= <port_handle>
         handle= <handle>
         test_type= {pwe|mplstp}

        Configure PWE Topology
         attachment_group_id= (100:1)
         attachment_group_id_assignment= {use_rt|manual}
         attachment_group_id_increment= <xx:xx>
         attachment_group_id_increment_simulated_segment= <xx:xx>
         attachment_group_id_simulated_segment= <xx:xx>
         cbit= { 0|1 }
         core_host_percent= <0-100>
         core_hosts_per_ce= <1-2147483647>
         core_igp_protocol= {ospf|isis|rip}
         core_ldp_hello_type= {directed|targeted}
         core_mpls_protocol= {none|ldp|rsvp}
         core_p_enable= { 0|1 }
         core_p_if_ip_addr= {a.b.c.d}
         core_p_if_prefix_length= <0-30>
         core_p_loopback_ip_addr= {a.b.c.d}
         core_p_loopback_ip_addr_step= {a.b.c.d}
         core_p_per_sub_if= <1-65535>
         core_p_rsvp_bandwidth_per_link= <1-2147483647>
         core_p_rsvp_bandwidth_per_tunnel= <0-2147483647>
         core_p_topology_type= {tree|grid}
         core_pe_loopback_ip_addr= {a.b.c.d}
         core_pe_loopback_ip_addr_step= {a.b.c.d}
         core_pe_per_sub_if= <1-65535>
         create_unused_vpn_hosts_core_ports= { 0|1 }
         cust_host_percent= <0-100>
         cust_hosts_per_ce= <1-2147483647>
         dut_as= {a.b.c.d}
         dut_loopback_ip_addr= {a.b.c.d}
         enable_bgp_auto_discovery= { 0|1 }
         enable_nil_fec_label= { 0|1 }
         encap=     {ldp_lsp_encap_frame_relay_dlci|ldp_lsp_encap_atm_aal5_vcc|ldp_lsp_encap_atm_transparent_cell|ldp_lsp_encap_ethernet_vlan|ldp_lsp_encap_ethernet|ldp_lsp_encap_hdlc|ldp_lsp_encap_ppp|ldp_lsp_encap_cem|ldp_lsp_encap_atm_vcc|ldp_lsp_encap_atm_vpc|ldp_lsp_encap_ethernet_vpls}
         encap_override= { 0|1 }
         group_id= <0-65535>
         host_num_core_vlans= <0-9>
         host_num_cust_vlans= <0-9>
         host_num_left_site_vlans= <0-9>
         host_num_right_site_vlans= <0-9>
         host_vlan_id= <0-65535>
         host_vlan_id_step_per_host= <0-65535>
         host_vlan_id_step_per_vpn= <0-65535>
         hosts_per_vpn= < 1- 2147483647>
         include_status_tlv= { 0|1 }
         ldp_fec_type= {fec_128|fec_129}
         ldp_fec_type_simulated_segment= {fec_128|fec_129}
         left_site_host_percent= <1-100>
         left_site_hosts_per_ce= <1-2147483647>
         mtu= <512-65535>
         multi_segment_topology_type= {dut_spe|dut_ingress_egress}
         pseudowire_type= {multi_segment|single_segment}
         pw_count= <1-4294967295>
         right_site_host_percent= <0-100>
         right_site_hosts_per_ce= <1-2147483647>
         route_distinguisher= <XX:XX>
         route_distinguisher_assignment= {manual|use_rt}
         route_distinguisher_increment= <xx:xx>
         route_target= <xx:xx >
         route_target_increment= <xx:xx>
         s_pe_enable= { 0|1
         simulated_pe_loopback_ip_addr= <a.b.c.d>
         simulated_pe_loopback_ip_addr_step= <a.b.c.d>
         simulated_pe_per_core_pe= <1-65535>
         simulated_t_pe_per_core_pe= <1-65535>
         src_attachment_individual_id= <a.b.c.d>
         src_attachment_individual_id_increment= <a.b.c.d>
         src_attachment_individual_id_increment_simulated_segment= <a.b.c.d>
         src_attachment_individual_id_simulated_segment= <a.b.c.d>
         status_code= {attachment_circuit_rx_fault|attachment_circuit_tx_fault|
                       not_forwarding|pseudowire_rx_fault|pseudowire_tx_fault}]
         stream_block_group_method= {aggregate|vpn}
         stream_block_use_single_stream_number_per_endpoint_pair= { 0|1 }
         t_pe_per_sub_if= <0-1000>
         target_attachment_individual_id= <a.b.c.d>
         target_attachment_individual_id_increment= <a.b.c.d>
         target_attachment_individual_id_increment_simulated_segment= <a.b.c.d>
         target_attachment_individual_id_simulated_segment= <a.b.c.d>
         traffic_flow= {bidirectional|core_to_customer|customer_to_core}
         traffic_load_percent_from_core_ports= <0-100>
         traffic_load_percent_from_customer_ports= <0-100>
         traffic_load_percent_from_left_site_ports= <0-100>
         traffic_load_percent_from_right_site_ports= <0-100>
         vc_count= <1-65535>
         vc_id_pe_overlap_enable= {0|1}
         vc_id_start= <1-4294967295>
         vc_id_start_simulated_segment= <1-4294967295>
         vc_id_step= <1-4294967295>
         vc_id_step_simulated_segment= <1-4294967295>
         vlan_enable= { 0|1 }
         enable_core_tunnel_lsp_ping= { 0|1 }
         core_tunnel_lsp_ping_config
            dst_addr= {a.b.c.d}
            experimental_bits= <0-7>
            pad_data
            pad_mode= {request_copy_pad_tlv|request_drop_pad_tlv|no_pad_tlv}
            ping_interval= <0-3999999999>
            ping_timeout= <0-99>
            time_to_live= <1-255>
            validate_fec_stack= { 0|1 }
         enable_vpn_to_dut_tunnel_lsp_ping= { 0|1 }
         vpn_to_dut_tunnel_lsp_ping_config
            dst_addr= {a.b.c.d}
            experimental_bits= <0-7>
            pad_data
            pad_mode= {tlvrequest_copy_pad_tlv|request_drop_pad_tlv|no_pad_tlv}
            ping_interval= <0-3999999999>
            ping_timeout= <0-99>
            time_to_live= <1-255>
            validate_fec_stack= { 0|1 }
         vpn_host_assignment= {hosts_per_ce|hosts_per_vpn}
         vpn_host_id_format_enable= { 0|1 }
         vpn_host_id_format_offset_bytes= <0-4>
         vpn_host_id_format_port_bytes= <0-4>
         vpn_host_id_format_router_bytes= <0-4>
         vpn_host_mac_start= <aa:bb:cc:dd:ee:ff>
         vpn_host_mac_step= <aa:bb:cc:dd:ee:ff>
         vpn_host_overlap= { 0|1 }

      Configure MPLSTP= Topology::

       work_protect_pair_list= <working_device protecting_device pair list>

        LSP
           mplstp_enable_linear_protection_on_lsps= {true|false}
           mplstp_enable_static_lsps= {true|false}
           mplstp_enable_dynamic_lsps= {true|false}

        PWE Configuration
           mplstp_enable_linear_protection_on_pws= {true|false}
           mplstp_enable_dynamic_pws= {true|false}
           mplstp_enable_static_pws= {true|false}
           mplstp_enable_scale_mode= {true|false}
           mplstp_dut_topology= {edge}
           mplstp_segment_type= {single_segment}

        Linear Protection
           mplstp_flow_mode= {bi_directional|uni_directional}
           mplstp_protection_path= {point_to_point}
           mplstp_protection_type= {one_to_one}
           mplstp_revertive_mode= {nonrevertive|revertive}

        Configure Routers/LSPs::

           mplstp_global_id= <octets>
           mplstp_dut_node_id= <a.b.c.d>

         LSP Configuration
           mplstp_lsp_work_src_tunnel_num= <NUMERIC>
           mplstp_lsp_work_src_tunnel_step= <NUMERIC>
           mplstp_lsp_work_dst_tunnel_num= <NUMERIC>
           mplstp_lsp_work_dst_tunnel_step= <NUMERIC>
           mplstp_lsp_work_lsp_id= <NUMERIC>
           mplstp_lsp_work_lsp_id_step= <NUMERIC>
           mplstp_lsp_work_incoming_label= <NUMERIC>
           mplstp_lsp_work_incoming_label_step= <NUMERIC>
           mplstp_lsp_work_outgoing_label= <NUMERIC>
           mplstp_lsp_work_outgoing_label_step= <NUMERIC>
           mplstp_lsp_protect_src_tunnel_num=  <NUMERIC>
           mplstp_lsp_protect_src_tunnel_step=  <NUMERIC>
           mplstp_lsp_protect_dst_tunnel_num=  <NUMERIC>
           mplstp_lsp_protect_dst_tunnel_step=  <NUMERIC>
           mplstp_lsp_protect_lsp_id=  <NUMERIC>
           mplstp_lsp_protect_lsp_id_step=  <NUMERIC>
           mplstp_lsp_protect_incoming_label=  <NUMERIC>
           mplstp_lsp_protect_incoming_label_step= <NUMERIC>
           mplstp_lsp_protect_outgoing_label=  <NUMERIC>
           mplstp_lsp_protect_outgoing_label_step=  <NUMERIC>

         P Routers(MIP)
           mplstp_core_p_enable= {true|false}
           mplstp_core_p_per_subif= <1-65535>
           mplstp_p_router_node_id= <a.b.c.d>
           mplstp_p_router_node_id_step= <a.b.c.d>

         PE Routers (MEPs)
           mplstp_core_pe_per_p= <1-65535>
           mplstp_pe_router_node_id= <a.b.c.d>
           mplstp_pe_router_node_id_step= <a.b.c.d>

        Configure PWE:
           [mplstp_total_pws_working <NUMERIC>]

           PW
           mplstp_pwe_work_use_attachment_group_id= {true|false}
           mplstp_pwe_work_attach_circuit_id_local= <NUMERIC>
           mplstp_pwe_work_attach_circuit_id_local_step= <NUMERIC>
           mplstp_pwe_work_attach_circuit_id_remote= <NUMERIC>
           mplstp_pwe_work_attach_circuit_id_remote_step= <NUMERIC>
           mplstp_pwe_work_attach_group_id < 32bit= value >
           mplstp_pwe_work_attach_group_id_step < 32bit= mask>
           mplstp_pwe_work_incoming_label= <NUMERIC>
           mplstp_pwe_work_incoming_label_step= <NUMERIC>
           mplstp_pwe_work_outgoing_label= <NUMERIC>
           mplstp_pwe_work_outgoing_label_step= <NUMERIC>
           mplstp_pwe_work_enable_control_word= {true|false}

        Configure OAM and Triggers:
           LSPs
            Enable BFD
               mplstp_lsp_work_enable_bfd_options= {true|false}
               mplstp_lsp_work_enable_bfd_trigger= {true|false}
               mplstp_lsp_work_bfd_config=  <BFD_OPTION_LIST>

            Enable LSP Ping
               mplstp_lsp_work_enable_lsp_ping_options= {true|false}
               mplstp_lsp_work_enable_lsp_ping_trigger= {true|false}
               mplstp_lsp_work_lsp_ping_config=  <LSP_PING_OPTION_LIST>

            Enable Y1731
               mplstp_lsp_work_enable_y1731_options= {true|false}
               mplstp_lsp_work_y1731_config=   <Y1731_OPTION_LIST>

           PW

            Enable BFD
               mplstp_pwe_work_enable_bfd_options= {true|false}
               mplstp_pwe_work_enable_bfd_trigger= {true|false}
               mplstp_pwe_work_bfd_config=  <BFD_OPTION_LIST>

            Enable LSP Ping
               mplstp_pwe_work_enable_lsp_ping_options= {true|false}
               mplstp_pwe_work_enable_lsp_ping_trigger= {true|false}
               mplstp_pwe_work_lsp_ping_config=  <LSP_PING_OPTION_LIST>

            Enable Y1731
               mplstp_pwe_work_enable_y1731_options= {true|false}
               mplstp_pwe_work_y1731_config=  <Y1731_OPTION_LIST>

           <BFD_OPTION_LIST>

           mplstp_bfd_rx_interval= <1-10000>
           mplstp_bfd_tx_interval= <1-10000>
           mplstp_bfd_detect_multiplier= <2-100>
           mplstp_bfd_enable_gen_associated_channel= {true|false}
           mplstp_bfd_enable_gen_associated_label= {true|false}
           mplstp_bfd_encap= {raw|udp}
           mplstp_bfd_message_format= {bfd_cc|bfd_cv}
           mplstp_bfd_failure_duration= <1-1200>
           mplstp_bfd_failure_command= {admin_down|set_diagnostic_code|stop_pdu}
           mplstp_bfd_clear_duration= <1-1200>
           mplstp_bfd_clear_command= {clear_failure|none}
           mplstp_bfd_loop_count= <1-100>
           mplstp_bfd_include_tlv= {true|false}
           mplstp_bfd_results_file_name= <ANY>
           mplstp_bfd_tlv_code= <ipv4_src_tlv|mep_custom_tlv|mep_lsp_tlv|mep_pw_tlv|
                                   mep_section_tlv|none>]

           <LSP_PING_OPTION_LIST>

           mplstp_lsp_ping_channel_type= <NUMERIC>
           mplstp_lsp_ping_clear_duration= <1-1200>
           mplstp_lsp_ping_dst_addr= <a.b.c.d>
           mplstp_lsp_ping_echo_reply_mode= {control_channel|ip_udp_packet|
                                               ip_udp_with_router_alert|no_reply}]
           mplstp_lsp_ping_enable_gen_associated_channel= {true|false}
           mplstp_lsp_ping_enable_gen_associated_label= {true|false}
           mplstp_lsp_ping_experimental_bits= <0-7>
           mplstp_lsp_ping_failure_duration= <1-1200>
           mplstp_lsp_ping_include_tlv= {true|false}
           mplstp_lsp_ping_loop_count= <1-100>
           mplstp_lsp_ping_clear_command= {clear_failure|none}
           mplstp_lsp_ping_encap= {raw|udp}
           mplstp_lsp_ping_failure_command= {pause_lsp_ping}
           mplstp_lsp_ping_lsp_sub_tlv= <NUMERIC>
           mplstp_lsp_ping_operation_mode= {both|lsp_ping|trace_route}
           mplstp_lsp_ping_ping_interval= <NUMERIC>
           mplstp_lsp_ping_ping_timeout= <NUMERIC>
           mplstp_lsp_ping_pw_sub_tlv= <NUMERIC>
           mplstp_lsp_ping_time_to_live= <1-255>
           mplstp_lsp_ping_tlv_code= {ipv4_src_tlv|mep_custom_tlv|mep_lsp_tlv|
                                           mep_pw_tlv|mep_section_tlv|none}]
           mplstp_lsp_ping_trace_route= <NUMERIC>
           mplstp_lsp_ping_trace_route_timeout= <NUMERIC>
           mplstp_lsp_ping_validate_fec_stack= {true|false}
           mplstp_lsp_ping_results_file_name= <ANY>

           <Y1731_OPTION_LIST>

           mplstp_y1731_cc_period= {ccperiod_100ms|ccperiod_10min|ccperiod_10ms|
                                ccperiod_10s|ccperiod_1min|ccperiod_1s|ccperiod_3ms}]
           mplstp_y1731_dut_mep_id_fixed_across_megs= {true|false}
           mplstp_y1731_num_dut_mps_per_meg= <1-10>
           mplstp_y1731_dut_mep_id_start= <1-8191>
           mplstp_y1731_dut_mep_id_step= <1-8191>
           mplstp_y1731_icc_length= <1-6>
           mplstp_y1731_id_expression= <ANY>
           mplstp_y1731_meg_id_wildcard= <ANY>
           mplstp_y1731_meg_id_wildcard_range_step= <1-4294967295>
           mplstp_y1731_meg_id_wildcard_range_start= <1-4294967295>
           mplstp_y1731_me_level= <0-7>
           mplstp_y1731_mep_id_start= <1-8191>
           mplstp_y1731_mep_id_step= <0-8191>
           mplstp_y1731_merge_duplicate_megs= {true|false}
           mplstp_y1731_results_file_name= <ANY>

        Configure Hosts::

           Host MAC

           mplstp_vpn_host_id_format_enable= {true|false}
           mplstp_vpn_host_id_format_offset_bytes= <0-5>
           mplstp_vpn_host_id_format_port_bytes= <0-4>
           mplstp_vpn_host_id_format_router_bytes= <0-4>
           mplstp_vpn_host_mac_start= <aa:bb:cc:dd:ee:ff>
           mplstp_vpn_host_mac_step= <aa:bb:cc:dd:ee:ff>
           mplstp_vpn_host_overlap= {true|false}

           Host VLAN Stacked VLAN

           mplstp_vlan_enable= {true|false}
           mplstp_host_num_core_vlans= <0-9>
           mplstp_host_num_cust_vlans= <0-9>
           mplstp_host_vlan_id= <1-4095>
           mplstp_host_vlan_id_step_per_host= <0-4095>
           mplstp_host_vlan_id_step_per_vpn= <1-4095>

           Host Assignment

           mplstp_total_hosts=  <1-2147483647>
           mplstp_vpn_host_assignment= {hosts_per_ce|hosts_per_vpn|total_hosts}
           mplstp_hosts_per_vpn= {1-2147483647}
           mplstp_core_hosts_per_ce= {1-2147483647}
           mplstp_cust_hosts_per_ce= {1-2147483647}

        Configure Traffic:
           mplstp_traffic_flow= {bidirectional|core_to_customer|customer_to_core none}
           mplstp_traffic_load_percent_from_core_ports= <0-100>
           mplstp_traffic_load_percent_from_cust_ports= <0-100>

Arguments:

 test_type
                 Spirent Extension (for Spirent HLTAPI only).
                 Determines the test type
                 Values:

                 pwe
                             PWE wizard automation

                 mplstp
                             MPLSTP wizard automation

 mode
                 Specifies the action to perform. This argument is `Mandatory`.
                 Values:

                 create
                       Configures PWE3 VPN/MPLSTP on the port specified with the
                       port_handle argument

                 delete
                      Deletes the PWE3/MPLSTP configurations

 The following arguments are for PWE wizard::


 attachment_group_id
                 Specifies the first attachment group identifier across the
                 provider network. Input value should be in format xx:xx. The
                 default value is 100:1.
                 This argument is available when enable_bgp_auto_discovery
                 is set to 0 and argument ldp_fec_type is set to fec_129.

 attachment_group_id_assignment
                 Defines the Attachment Group ID (AGI) assignment mode.
                 Possible values are::


                  user_rt  -  Sets AGI to the RT value that is specified by
                               route_target.

                  manual  -  Sets AGI to the value that is specified by
                               attachment_group_id.

                 The default value is use_rt.
                 This argument is available when enable_bgp_auto_discovery
                 is set to 1 and ldp_fec_type is set to fec_129.

 attachment_group_id_increment
                 The step value for subsequent AGIs. Input value should be in
                 format xx:xx. The default value is 0:1.
                 This argument is available when enable_bgp_auto_discovery is
                 set to 0 and ldp_fec_type is set to fec_129.

 attachment_group_id_simulated_segment
                 Specifies the first attachment group identifier across a
                 simulated segment. Input value should be in format xx:xx.
                 The default value is 100:1.
                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type is set to fec_129.

 attachment_group_id_increment_simulated_segment
                 The step value for subsequent AGIs in a simulated segment.
                 Input value should be in format xx:xx. The default value is
                 0:1.
                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_129.

 create_unused_vpn_hosts_core_ports
                 Enables or disables the creation of provider hosts for unused
                 VPNs. Possible values are 1 (enabled) and 0 (disabled). The
                 default value is 0.

 core_pe_per_sub_if
                 Number of Provider Edge (PE) routers per port or subinterface.
                 Possible values range from 1 to 65535. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 single_segment and core_p_enable is set to 1.

 core_pe_loopback_ip_addr
                 Specifies the loopback IP address of the PE router that the
                 configured PWE3 connection attaches to. Input value
                 must be in the IPv4 format. The default value is 10.0.0.2.

 core_pe_loopback_ip_addr_step
                 The increment value for the next loopback address.
                 Input value must be in the IPv4 format.
                 The default value is 0.0.0.1.

 core_p_enable
                 Enables or disables emulation of provider routers in the test.
                 Possible values are 1 (enabled) and 0 (disabled). If it is
                 set to 0, only provider edge routers will be simulated.
                 The default value is 1.

 core_p_loopback_ip_addr
                 Specifies the starting loopback IP address of P routers.
                 This argument must be in the IPv4 format. The default
                 value is 192.0.1.1.

                 This argument is available when core_p_enable is set to 1.

 core_p_loopback_ip_addr_step
                 The increment value for the next loopback address for provider
                 routers. Input value must be in the IPv4 format.
                 The default value is 0.0.1.0.
                 This argument is available when core_p_enable is set
                 to 1.

 core_p_if_ip_addr
                 Specifies the starting IP address of the interface between the
                 P and PE routers. This argument must be in the IPv4 format.
                 The default value is 1.0.0.1.
                 This argument is available when core_p_enable is set to 1.

 core_p_if_prefix_length
                 Specifies the IP prefix length on the Pto-PE interface.
                 Possible values range from 0 to 30. The default value is 24.
                 This argument is available when core_p_enable is set to 1.

 core_p_topology_type
                 Specifies the topology of the provider network. Possible
                 values are tree and grid. The default value is tree.
                 This argument is available when core_p_enable is set to 1.

 core_p_per_sub_if
                 Number of P routers per port or subinterface. Possible values
                 range from 1 to 65535. The default value is 1.
                 This argument is available when core_p_enable is set to 1.

                 Note: Only one emulated P router is created on each port or
                       subinterface. Additional P routers are simulated through
                       the IGP protocol.

 core_mpls_protocol
                 Specifies the signaling protocol to be used by the provider
                 side. MPLS refers to a mechanism which directs and transfers
                 data between Wide Area Networks (WANs) nodes with high
                 performance, regardless of the content of the data.

                 none
                     Specifies that there is no MPLS protocol to be used by the
                     provider side.

                 ldp
                     Indicates the Label Distribution Protocol (LDP).

                 rsvp
                     Indicates the resource reservation setup protocol (RSVP).

                 The default value is ldp.

 core_ldp_hello_type
                 Specifies the type of Hello messages for the LDP session in
                 the provider network. Possible values are:

                 directed
                      A Basic Discovery mechanism that is used to locate
                      directlyconnected neighbors. The Peer IP address
                      is the DUT interface address.

                 targeted
                      An Extended Discovery mechanism that is used
                      to locate neighbors which are not directly connected.
                      The Peer IP address is the DUT loopback address.

                 The default value is direct. This argument is available when
                 core_mpls_protocol is set to ldp.

 core_igp_protocol
                 Specifies the Interior Gateway Protocol (IGP) used by the
                 provider side. Networks within an autonomous system communicate
                 routing information to each other using an IGP protocol.
                 Possible values are:

                 ospf
                     Indicates Open Shortest Path First (OSPF), which is
                     a router protocol used within larger autonomous
                     system networks.

                 isis
                     Specifies the Intermediate System to Intermediate
                     system (ISIS) protocol. Routers (Intermediate Systems)
                     use ISIS to exchange routes within a single
                     network (routing domain).

                 rip
                     Specifies the Routing Information Protocol (RIP).

                 The default value is ospf.

 core_p_rsvp_bandwidth_per_link
                 Specifies the maximum bandwidth per ISIS/OSPFv2 TE link for
                 simulated Provider router topology links. The value is
                 measured in bytes per second. Possible values range from 1
                 to 2147483647. The default value is 100000.
                 This argument is available when core_mpls_protocol is set
                 to rsvp.

 core_p_rsvp_bandwidth_per_tunnel
                 Specifies the RSVPTE T-Spec Bandwidth rate in bytes/sec
                 Possible values range from 1 to 2147483647. The default
                 value is 100000.
                 This argument is available when core_mpls_protocol is set
                 to rsvp.

 core_hosts_per_ce
                 Specifies the number of hosts assigned to each providerside
                 or rightside CE router. Possible values range from 1 to
                 2147483647. The default value is 1.
                 This argument is available when pseudowire_type is set to
                 single_segment and vpn_host_assignment is set to
                 hosts_per_ce.

 cust_hosts_per_ce
                 Specifies the number of hosts assigned to each customerside
                 or rightside CE router. Possible values range from 1 to
                 2147483647. The default value is 1.
                 This argument is available when pseudowire_type is set to
                 single_segment and vpn_host_assignment is set to
                 hosts_per_ce.

 core_host_percent
                 Specifies the percentage of hosts on the provider or right side.
                 Possible values range from 0 to 100. The default value is 50.
                 This argument is available when pseudowire_type is set to
                 single_segment and vpn_host_assignment is set to hosts_vpn.

 cust_host_percent
                 Specifies the percentage of hosts on the customer or left side.
                 Possible values range from 0 to 100. The default value is 50.
                 This argument is available when pseudowire_type is set to
                 single_segment and vpn_host_assignment is set to hosts_vpn.

 cbit
                 Enables setting the control bit to 1. Possible values are
                 1 (enabled) and 0 (disabled). The default value is 0.

 dut_as
                 Specifies the number of autonomous systems (AS) of DUT.
                 Possible values range from 1 to 65535. The default value is 1.

                 This argument is available when enable_bgp_auto_discovery is
                 set to 1. and ldp_fec_type is set to fec_129.

 dut_loopback_ip_addr
                 Defines the loopback IP address. The value must be in the
                 IPv4 format. The default value is 10.0.0.1

 encap_override
                 Enables or disables the Encap parameters. Possible values are 1
                 (enabled) and 0 (disabled). The default value is 0.

 encap
                 Specifies the Layer 2 encapsulation type. The values are
                 described below::


                  ldp_lsp_encap_frame_relay_dlci     Frame Relay DLCI
                  ldp_lsp_encap_atm_aal5_vcc         ATM AAL5 Cell Transport
                  ldp_lsp_encap_atm_transparent_cell ATM Transparent Cell Transport
                  ldp_lsp_encap_ethernet_vlan        Ethernet VLAN
                  ldp_lsp_encap_ethernet             Ethernet
                  ldp_lsp_encap_hdlc                 HDLC
                  ldp_lsp_encap_ppp                  PPP
                  ldp_lsp_encap_cem                  CEM
                  ldp_lsp_encap_atm_vcc              ATM VCC cell transport
                  ldp_lsp_encap_atm_vpc              ATM VPC cell transport
                  ldp_lsp_encap_ethernet_vpls        Ethernet VPLS

                 Data traffic generation is only supported for encapsulation
                 types 4 (Ethernet VLAN), 5 (Ethernet), and 11 (VPLS). All
                 other encapsulations can be advertised in label messages,
                 but data traffic is not generated. The default value is
                 ldp_lsp_encap_ethernet_vlan.

 enable_core_tunnel_lsp_ping
                 Enables or disables LSP Ping on the core tunnel. Possible
                 values are 1 (enabled) and 0 (disabled). The default value
                 is 0.

 core_tunnel_lsp_ping_config
                 A list of suboptions that configure core tunnel LSP Ping.

                 This argument is available when enable_core_tunnel_lsp_ping
                 is set to 1.

 enable_vpn_to_dut_tunnel_lsp_ping
                 Enables or disables LSP Ping on PEto-DUT VPN tunnels. Possible
                 values are 1 (enabled) and 0 (disabled). The default value is 0.

 vpn_to_dut_tunnel_lsp_ping_config
                 A list of suboptions that configure LSP Ping for VPN-to-DUT
                 tunnels.
                 This argument is available when
                 enable_vpn_to_dut_tunnel_lsp_ping is set to 1.

 enable_bgp_auto_discovery
                 Enables or disables BGP autodiscovery in the provider network.
                 Possible values are 1 (enabled) and 0 (disabled). The default
                 value is 0.
                 This argument is available when ldp_fec_type is set to fec_129.

 group_id
                 Specifies a unique identifier for the virtual tunnel. Possible
                 values range from 0 to 65535. The default value is 0.

 hosts_per_vpn
                 Specifies the number of hosts assigned to each VPN or PW.
                 Possible values range from 1 to 2147483647. The default value
                 is 100.
                 This argument is available when vpn_host_assignment is set to
                 hosts_per_vpn

 host_num_cust_vlans
                 Specifies the number of customer side VLAN headers. Possible
                 values range from 0 to 9. The default is 1.

                 This argument is available when pseudowire_type is set to
                 single_segment and vlan_enable is set to 1.

 host_num_core_vlans
                 Specifies the number of provider side VLAN headers. Possible
                 values range from 0 to 9. The default is 1.

                 This argument is available when pseudowire_type is set to
                 single_segment and vlan_enable is set to 1.

 host_vlan_id
                 Specifies the value of the first Host VLAN ID. Possible values
                 range from 0 to 65535. The default value is 100.
                 This argument is available when vlan_enable is set to 1.

 host_vlan_id_step_per_vpn
                 Specifies the increment value for subsequent VLAN IDs for each
                 VPN. Possible values range from 0 to 65535. The default value
                 is 1.

                 This argument is available when vlan_enable is set to 1.

 host_vlan_id_step_per_host
                 Specifies the increment value for subsequent VLAN IDs for each
                 host. Possible values range from 0 to 65535. The default value
                 is 1.

                 This argument is available when vlan_enable is set to 1.

 host_num_left_site_vlans
                 Specifies the number of customer side VLAN headers. Possible
                 values range from 0 to 9. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment.

 host_num_right_site_vlans
                 Specifies the number of customer side VLAN headers. Possible
                 values range from 0 to 9. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment.

 include_status_tlv
                 Determines whether to include the Status TLV in the PDU.
                 Possible values are 0 and 1. When it is set to 1, Spirent
                 HLTAPI will include the Status TLV in the PDU. The default
                 value is 0.

 ldp_fec_type
                 Defines the type of Forward Equivalency Class (FEC). Possible
                 values are described below:    :


                 fec_128
                     Manually configured pseudowires.

                 fec_129
                     Virtual Private LAN Service (VPLS) autodiscovery.

                 The default value is fec_128

 ldp_fec_type_simulated_segment
                 Defines Type of Forward Equivalency Class (FEC) in the
                 simulated segment. Possible values are described below:   :


                 fec_128
                           Manually configured pseudowires

                 fec_129
                           Virtual Private LAN Service (VPLS) autodiscovery

                 The default value is fec_128. This argument is available when
                 pseudowire_type is set to multi_segment.

 left_site_hosts_per_ce
                 Specifies the number of hosts assigned to each customerside
                 or leftside CE router. Possible values range from 1 to
                 2147483647. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and vpn_host_assignment is set to hosts_per_ce.

 left_site_host_percent
                 Specifies the percentage of hosts on the provider or left side.
                 Possible values range from 0 to 100. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and vpn_host_assignment is set to
                 hosts_per_vpn.

 mtu
                 Specifies the maximum allowable frame size, or Maximum
                 Transmission Unit (MTU), to traverse a given VPLS instance.
                 Possible values range from 512 to 65535. The default value is
                 1500.

 multi_segment_topology_type
                 Determines the DUT to serve as an SPE router or an
                 ingress/egress router. Possible values are described below: :


                 dut_spe
                        The DUT serves as an SPE router; Spirent
                        TestCenter emulates routers running IGP/MPLS
                        protocols and configures bound streams based on
                        the configuration parameters in the traffic step.
                        The left side is the customer VPN side, the right
                        side is the provider side and the DUT is a SPE
                        router.

                 dut_ingress_egress
                        Spirent TestCenter emulates hosts and
                        configures traffic. The left side and right side
                        are providers and the DUT can be either an
                        SPE or TPE router.

                 The default value is dut_spe. This argument is available
                 when pseudowire_type is set to multi_segment.

 port_handle
                 Specifies the port on which to create the

 pseudowire_type
                 Specifies either a singlesegment or multisegment test.
                 Possible values are single_segment and multi_segment. The
                 default value is single_segment.

 pw_count
                 Specifies the number of pseudowires across the provider.
                 Possible values range from 1 to 4294967295. The default
                 value is 1.
                 This argument is available when ldp_fec_type is set to
                 fec_129.

 route_target
                 Specifies the Route Target extended community attribute. The
                 Route Target identifies a set of sites to which a PE router
                 distributes. Input value should be in format xx:xx. The
                 default value is 1:0.
                 This argument is available when enable_bgp_auto_discovery is
                 set to 1 and ldp_fec_type is set to fec_129.

 route_target_increment
                 Specifies the step value for additional route targets. Input
                 value should be in format xx:xx. The default value is 0:1.
                 This argument is available when enable_bgp_auto_discovery is
                 set to 1 and ldp_fec_type is set to fec_129.

 route_distinguisher_assignment
                 Defines the Route Distinguisher assignment. Possible values
                 are:

                 use_rt
                           Use the Route Target field for all Route
                           Distinguishers in the VPLS.

                 manual
                           Manually configure Route Distinguishers by setting
                           customer/provider RD start, step per VPLS,
                           step per CE.

                 The default value is use_rt. This argument is available
                 when enable_bgp_auto_discovery is set to 1 and -ldp_fec_type
                 is set to fec_129.

 route_distinguisher
                 Specifies the Route Distinguisher for the LSP route. The
                 distinguisher is an 8byte value that is concatenated with an
                 IPv4 prefix to create a unique LSP IPv4 prefix. The default
                 value is 1:0.
                 This argument is available when enable_bgp_auto_discovery is
                 set to 1 and ldp_fec_type set to fec_129 and
                 route_distinguisher_assignment is set to manual.

 route_distinguisher_increment
                 Specifies the step value for Route Distinguishers. Input value
                 should be in format xx:xx. The default value is 0:1.

                 This argument is available when enable_bgp_auto_discovery
                 is set to 1, ldp_fec_type is set to fec_129 and
                 route_distinguisher_assignment is set to manual.

 right_site_hosts_per_ce
                 Specifies the number of hosts assigned to each providerside
                 or rightside CE router. Possible values range from 1 to
                 2147483647. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and vpn_host_assignment is set to hosts_per_ce.

 right_site_host_percent
                 Specifies the percent of hosts on the provider or right side.
                 Possible values range from 0 to 100. The default value is 1.
                 This argument is available when pseudowire_type is set to
                 multi_segment and vpn_host_assignment is set to hosts_per_vpn.

 status_code
                 Specifies the status code in the Status TLV. Possible values
                 are attachment_circuit_rx_fault, attachment_circuit_tx_fault,
                 not_forwarding, pseudowire_rx_fault and pseudowire_tx_fault.

 src_attachment_individual_id
                 Specifies the first source attachment interface identifier.
                 Input value must be in the IPv4 format.
                 The default value is 10.0.0.2.

                 This argument is available when ldp_fec_type set to fec_129.

 src_attachment_individual_id_increment
                 Specifies the step value of source attachment interface
                 identifier. The default value is 0.0.0.1.

                 This argument is available when ldp_fec_type set to fec_129.

 src_attachment_individual_id_simulated_segment
                 Specifies the first source attachment interface identifier
                 in the simulated segment. Input value must be in the IPv4 format.
                 The default value is 10.0.0.1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_129.

 src_attachment_individual_id_increment_simulated_segment
                 Specifies the step value for source attachment interface
                 identifiers in the simulated segment. Input value
                 must be in the IPv4 format. The default value is 0.0.0.1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_129.

 s_pe_enable
                 Enables or disables SPE in the provider network. Possible
                 values are 1 (enabled) and 0 (disabled). The default value
                 is 0.

                 This argument is available when pseudowire_type is set to
                 multi_segment

 simulated_pe_per_core_pe
                 Specifies the number of simulated SPE routers per emulated
                 PE. Possible values range from 1 to 65535. The default value
                 is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and s_pe_enable is set to 1.

 simulated_t_pe_per_core_pe
                 Specifies the number of simulated TPE routers per emulated
                 SPE. Possible values range from 1 to 65535. The default
                 value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and s_pe_enable is set to 1.

 simulated_pe_loopback_ip_addr
                 Specifies the starting loopback IP address of the Simulated
                 PE routers. Input value must be in the IPv4 format.
                 The default value is 100.0.0.2.

                 This argument is available when pseudowire_type is set to
                 multi_segment and s_pe_enable is set to 1.

 simulated_pe_loopback_ip_addr_step
                 Specifies the increment value for the next loopback address
                 of simulated PE routers. Input value must be in the IPv4
                 format. The default value is 0.0.0.1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and s_pe_enable is set to 1.

 stream_block_group_method
                 Defines the mode of Stream Block Grouping. Possible values
                 are::


                  aggregate - Aggregates all streams into a single stream block.

                  VPN - Aggregates all streams for a single VPN into a single
                         stream block.

                 The default value is aggregate.

 stream_block_use_single_stream_number_per_endpoint_pair
                 Determines whether to use single stream number per endpoint
                 pair. Possible values are 1 and 0. If it is set to 1, each
                 endpoint is assigned a single stream ID; if it is set to 0,
                 each flow between endpoint pairs is assigned a single stream
                 ID. The default value is 0.

 target_attachment_individual_id
                 Specifies the first target attachment interface identifier.
                 Input value must be in the IPv4 format.
                 The default value is 10.0.0.1.

                 This argument is available when- ldp_fec_type is set to fec_129.

 target_attachment_individual_id_increment
                 Specifies the step value of the next target attachment
                 interface identifier. Input value must be in the IPv4
                 format. The default value is 0.0.0.1.

                 This argument is available when ldp_fec_type set to fec_129.

 target_attachment_individual_id_simulated_segment
                 Specifies the first target attachment interface identifier in
                 the simulated segment. Input value must be in the IPv4 format.
                 The default value is 192.0.0.1.
                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_129.

 target_attachment_individual_id_increment_simulated_segment
                 Specifies the step value of the target attachment interface
                 identifier in the simulated segment. Input value must be
                 in the IPv4 format. The default value is 0.0.0.1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set
                 to fec_129.

 t_pe_per_sub_if
                 Specifies the number of simulated TPE routers per port or
                 subinterface.
                 Possible values range from 0 to 1000. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment.

 traffic_flow
                 Defines the traffic flow. Possible values are bidirectional,
                 core_to_customer and customer_to_core. The default value is
                 bidirectional. The values are described below:  :


                 CUSTOMER_TO_CORE
                           Emulated CE devices > emulated PE devices,through the DUT.

                 CORE_TO_CUSTOMER
                           Emulated PE devices > emulated P device > the emulated
                           CE, through the DUT.

                 BIDIRECTIONAL
                           Bidirectional, traffic flow in both directions between
                           the emulated CE and the simulated CE devices behind the
                           PEs.

 traffic_load_percent_from_core_ports
                 Defines the traffic load percentage from provider ports.
                 Possible values range from 0 to 100. The default value is 10.

                 This argument is available when pseudowire_type is set to
                 single_segment.

 traffic_load_percent_from_customer_ports
                 Defines the traffic load percentage from customer ports.
                 Possible values range from 0 to 100. The default value is 10.

                 This argument is available when pseudowire_type is set to
                 single_segment.

 traffic_load_percent_from_left_site_ports
                 Defines the traffic load percentage from customer ports.
                 Possible values range from 0 to 100. The default value is 10.

                 This argument is available when pseudowire_type is set to
                 multi_segment.

 traffic_load_percent_from_right_site_ports
                 Defines the traffic load percentage from provider ports. Possible
                 values range from 0 to 100. The default value is 10.

                 This argument is available when pseudowire_type is set to
                 multi_segment.

 vc_count
                 Defines the number of virtual circuits across the provider.
                 Possible values range from 1 to 65535. The default value is 10.
                 This argument is available when ldp_fec_type is set to fec_128.

 vc_id_start
                 Defines the first virtual circuit identifier. Possible values
                 range from 1 to 4294967295. The default value is 1.

                 This argument is available when ldp_fec_type is set to fec_128.

 vc_id_step
                 Defines the step value for additional VC IDs. Possible values
                 range from 1 to 4294967295. The default value is 1.

                 This argument is available when ldp_fec_type is set to fec_128.

 vc_id_start_simulated_segment
                 Defines the first virtual circuit identifier. Possible values
                 range from 1 to 4294967295. The default value is 1.

                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_128.

 vc_id_step_simulated_segment
                 Defines the step value for additional VC IDs. Possible values
                 range from 1 to 4294967295. The default value is 1.
                 This argument is available when pseudowire_type is set to
                 multi_segment and ldp_fec_type_simulated_segment is set to
                 fec_128.

 vc_id_pe_overlap_enable
                 Specifies whether VC IDs are assigned per PE or per VPN.
                 Overlapped VC IDs are allowed on different PEs. Possible
                 values are 1 and 0. If it is set to 1, VC IDs are assigned
                 on a per PE basis. The default value is 0.

 vlan_enable
                 Enables or disables configurations on VPN host VLANs.
                 Possible values are 1 (enabled) and 0 (disabled). The default
                 value is 0.

 vpn_host_mac_start
                 Specifies the first host MAC address in the VPN in the MAC address
                 range. The default value is 00:00:01:00:00:01.

 vpn_host_mac_step
                 Defines the increment value for subsequent MAC addresses.
                 The default value is 00:00:00:00:00:01.

 vpn_host_overlap
                 Enables or disables overlapping hosts across VPNs. Possible
                 values are 1 (enabled) and 0 (disabled). The default value
                 is 0.

 vpn_host_id_format_enable
                 Enables or disables the function to specify the step bytes
                 of the MAC address per port and/or per router.
                 Enable this option to track the source and destination of
                 traffic. Possible values are 1 (enabled) and 0 (disabled).
                 The default value is 0.

 vpn_host_id_format_offset_bytes
                 Specifies the number of bytes to offset the tracking numbers
                 and the number of bytes used for tracking ports and routers.
                 This defines the starting bytes of the customized MAC address.
                 Possible values range from 0 to 4. The default value is 1.
                 This argument is available when vpn_host_id_format_enable
                 is set to 1.

 vpn_host_id_format_port_bytes
                 Specifies the number of bytes to offset the tracking numbers
                 and the number of bytes used for tracking ports and routers.
                 This defines the increment to add to the starting bytes of the
                 customized MAC address for each port. Possible values range
                 from 0 to 4. The default value is 1.
                 This argument is available when vpn_host_id_format_enable
                 is set to 1.

 vpn_host_id_format_router_bytes
                 Specifies the number of bytes to offset the tracking numbers
                 and the number of bytes used for tracking ports and routers.
                 This defines the increment to add to the starting bytes of the
                 customized MAC address for each router. Possible values range
                 from 0 to 4. The default value is 1.
                 This argument is available when vpn_host_id_format_enable
                 is set to 1.

 vpn_host_assignment
                 Specifies the host MAC assignment mode. Possible values are
                 hosts_per_ce, and hosts_per_vpn. The default value
                 is hosts_per_ce. The values are described below:  :


                 HOSTS_PER_CE
                           Specifies the hosts per customer CE device
                           and the hosts per provider CE device.
                           (Hosts per customer and per provider CE device
                           fields become visible)

                 HOSTS_PER_VPN
                           Specifies the hosts per VPN, customer CE
                           percentage, and provider CE percentage.
                           (Customer and provider host % fields become
                           visible)

 ports
                 Specifies ports, their types and interface parameters,
                 which are the handle key values returned by function
                 emulation_mpls_tp_port_config. This argument is `Mandatory`.

Following are the suboptions for -core_tunnel_lsp_ping_config and
vpn_to_dut_tunnel_lsp_ping_config:

 dst_addr
                 Specifies the IPv4 address for the destination of the
                 request. The default value is 127.0.1.

 ping_interval
                 Specifies the number of seconds to wait between ping
                 messages. Possible values range from 0 to 3999999999.
                 The default value is 5.

 ping_timeout
                 Specifies the number of seconds to wait for a reply
                 before timing out. Possible values range from 0 to 99.
                 The default value is 2.

 time_to_live
                 The MPLS IP TLL value. Possible values range from 1 to
                 255.

 experimental_bits
                 Specifies the value of the EXP bits. Possible values
                 range from 0 to 7. The default value is 0.

 validate_fec_stack
                 Determines whether to perform FEC stack validation.
                 Possible values are 1 and 0. Set to 1 if the sender
                 wants the receiver to perform FEC Stack validation.
                 Set to 0 to leave the choice to the receiver. The default
                 value is 0.

 enable_nil_fec_label
                 Determines whether to allow labels from the reserved
                 range to be added to the label stack. Possible values are 1
                 and 0. Set to 1 to allow labels from the reserved range to
                 be added to the label stack for various diagnostic purposes.
                 The default value is 0.

 pad_mode
                 Sets the value of the Pad TLV; can be omitted. Possible
                 values are described below::


                  NO_PAD_TLV              Transmit without Pad TLV
                  REQUEST_DROP_PAD_TLV    Request peer to drop Pad TLV
                  REQUEST_COPY_PAD_TLV    Request peer to copy Pad TLV

                 The default value is no_pad_tlv.

 pad_data
                 Pad data. The default value is none.

 The following arguments are for MPLSTP wizard::


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

                 Specifies the working and protecting device name pairs. The name
                 must be the one specified in the emulation mpls tp port config
                 function. The pairs must follow an order as specified in the following
                 example::


                   work_protect_pair_list "work1 protect1 work2 protect2"

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

                 Enables or disables linear protection on LSPs
                 Values: true, false
                 Default: true

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

                 Enables or disables static LSPs
                 Values: true, false
                 Default: true

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

                 Enables or disables dynamic LSPs
                 Values: true, false
                 Default: false

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

                 Enables or disables linear protection on PWs
                 Values: true, false
                 Default: false

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

                 Enables or disables dynamic PWs
                 Values: true, false
                 Default: false

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

                 Enables or disables static PWs
                 Values: true, false
                 Default: true

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

                 Enables or disables scale mode to test large scale topologies
                 Values: true, false
                 Default: false

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

                 Specifies the DUT type
                 Values: edge
                 Default: edge

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

                 Specifies the segment type
                 Values: single_segment
                 Default: single_segment

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

                 Specifies the flow mode
                 Values: bi_directional, uni_directional
                 Default: uni_directional


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

                 Specifies the protection path type
                 Values: point_to_point
                 Default: point_to_point

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

                 Specifies the linear protection type
                 Values: one_to_one
                 Default: one_to_one

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

                 Specifies the reversion scheme for linear protection
                 Values:

                 nonrevertive
                                 None revertive mode

                 revertive
                                 Revertive mode

                 Default: nonrevertive

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

                 Specifies the global ID of the LSP
                 Values: 4 octets
                 Default: 1000

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

                 Specifies the node ID of the DUT serving as the PE router
                 Values: IPv4
                 Default: 10.0.0.1

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

                 Enables or disables the core P router
                 Values: true, false
                 Default: true

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

                 Specifies the number of P routers per subinterface
                 Values: 1-65535
                 Default: 1

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

                 Specifies the first ID of the interface between the P and PE routers
                 Values: IPv4
                 Default: 192.0.1.1

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

                 Specifies the step value by which to create subsequent node IDs
                 for P routers
                 Values: IPv4
                 Default: 0.0.0.1

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

                 Specifies the number of PE routers per P router
                 Values: 1-65535
                 Default: 1

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

                 Specifies the first ID of the interface between emulated PE
                 routers and the DUT
                 Values: IPv4
                 Default: 10.0.0.2

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

                 Specifies the step value by which to create subsequent node
                 IDs for PE routers
                 Values: IPv4
                 Default: 0.0.0.1

 mplstp_lsp_work_src_tunnel_num
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first source tunnel number for the working LSP
                 Default: 100

 mplstp_lsp_work_src_tunnel_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent source
                 tunnel numbers
                 Default: 1

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

                 Specifies the first destination tunnel number for the working LSP
                 Default: 100

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

                 Specifies the step value by which to create subsequent
                 destination tunnel numbers
                 Default: 1

 mplstp_lsp_work_lsp_id
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first LSP ID for the working LSP
                 Default: 1

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

                 Specifies the step value by which to create subsequent LSP IDs
                 Default: 1

 mplstp_lsp_work_incoming_label
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first incoming label for the working LSP
                 Default: 100

 mplstp_lsp_work_incoming_label_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent incoming
                 labels
                 Default: 1

 mplstp_lsp_work_outgoing_label
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first outgoing label for the working LSP
                 Default: 200

 mplstp_lsp_work_outgoing_label_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent outgoing
                 labels
                 Default: 1

 mplstp_lsp_protect_src_tunnel_num
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first source tunnel number for the protecting LSP
                 Default: 100

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

                 Specifies the step value by which to create subsequent source
                 tunnel numbers
                 Default: 1

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

                 Specifies the first destination tunnel number for the protecting LSP
                 Default: 100

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

                 Specifies the step value by which to create subsequent
                 destination tunnel numbers
                 Default: 1

 mplstp_lsp_protect_lsp_id
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first LSP ID for the protecting LSP
                 Default: 1

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

                 Specifies the step value by which to create subsequent LSP IDs
                 Default: 1

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

                 Specifies the first incoming label for the protecting LSP
                 Default: 100

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

                 Specifies the step value by which to create subsequent incoming labels
                 Default: 1

 mplstp_lsp_protect_outgoing_label
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first outgoing label for the protecting LSP
                 Default: 200

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

                 Specifies the step value by which to create subsequent outgoing labels
                 Default: 1

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

                 Number of working pseudowires
                 Default: 10

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

                 Enables or disables using attachment global IDs for working PWs
                 Values: true, false
                 Default: false

 mplstp_pwe_work_attach_circuit_id_local
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first local attachment circuit ID for the working PW
                 Default: 1000

 mplstp_pwe_work_attach_circuit_id_local_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent local
                 attachment circuit IDs
                 Default: 1

 mplstp_pwe_work_attach_circuit_id_remote
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first remote attachment circuit ID for the working PW
                 Default: 1000

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

                 Specifies the step value by which to create subsequent remote
                 attachment circuit IDs
                 Default: 1

 mplstp_pwe_work_attach_group_id
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first attachment group ID for the working PW
                 Values: 32bit value
                 Default: 100:1

 mplstp_pwe_work_attach_group_id_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent attachment
                 group IDs
                 Values: 32bit mask
                 Default: 0:1

 mplstp_pwe_work_incoming_label
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first incoming label for the working PW
                 Default: 1000

 mplstp_pwe_work_incoming_label_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent incoming labels
                 Default: 1

 mplstp_pwe_work_outgoing_label
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first outgoing label for the working PW
                 Default: 1000

 mplstp_pwe_work_outgoing_label_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent outgoing labels
                 Default: 1

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

                 Enables or disables Control Word for the working PW
                 Values: true, false
                 Default: false

 mplstp_lsp_work_enable_bfd_options
                 Spirent Extension (for Spirent HLTAPI only).
                 Enables or disables BFD options for LSPs
                 Values: true, false
                 Default: false

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

                 Enables or disables BFD triggers for LSPs
                 Values: true, false
                 Default: false

 mplstp_lsp_work_bfd_config
                 Spirent Extension (for Spirent HLTAPI only).
                 Handle of BFD configuration options for LSPs. Refer to
                 BFD_OPTION_LIST for more details.
                 Dependency: mplstp_lsp_work_enable_bfd_options true

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

                 Enables or disables LSP Ping options for LSPs
                 Values: true, false
                 Default: false

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

                 Enables or disables LSP Ping triggers for LSPs
                 Values: true, false
                 Default: false

 mplstp_lsp_work_lsp_ping_config
                 Spirent Extension (for Spirent HLTAPI only).
                 Handle of LSP Ping configuration options for LSPs. Refer to
                 LSP_PING_OPTION_LIST for more details.
                 Dependency: mplstp_lsp_work_enable_lsp_ping_options true

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

                 Enables or disables Y1731 options for LSPs
                 Values: true, false
                 Default: false

 mplstp_lsp_work_y1731_config
                 Spirent Extension (for Spirent HLTAPI only).
                 Handle of Y1731 OAM options for LSPs. Refer to
                 Y1731_OPTION_LIST for more details.
                 Dependency: mplstp_lsp_work_enable_y1731_options true

 mplstp_pwe_work_enable_bfd_options
                 Spirent Extension (for Spirent HLTAPI only).
                 Enables or disables BFD options for PW configurations
                 Values: true, false
                 Default: false

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

                 Enables or disables BFD triggers for PW configurations
                 Values: true, false
                 Default: false

 mplstp_pwe_work_bfd_config
                 Spirent Extension (for Spirent HLTAPI only).
                 Handle of BFD configuration options for PW configurations.
                 Refer to BFD_OPTION_LIST for more details.
                 Dependency: mplstp_pwe_work_enable_bfd_options true

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

                 Enables or disables LSP Ping options for PW configurations
                 Values: true, false
                 Default: false

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

                 Enables or disables LSP Ping triggers for PW configurations
                 Values: true, false
                 Default: false

 mplstp_pwe_work_lsp_ping_config
                 Spirent Extension (for Spirent HLTAPI only).
                 Handle of BFD configuration options for PW configurations. Refer to
                 BFD_OPTION_LIST for more details.
                 Dependency: mplstp_pwe_work_bfd_config true

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

                 Enables or disables Y1731 options for PW configurations
                 Values: true, false
                 Default: false

 mplstp_pwe_work_y1731_config
                 Spirent Extension (for Spirent HLTAPI only).   <Y1731_OPTION_LIST>
                 Handle of Y1731 OAM options for PW configurations. Refer to
                 Y1731_OPTION_LIST for more details.
                 Dependency: mplstp_pwe_work_enable_y1731_options true

 BFD_OPTION_LIST

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

                 Specifies the command type used to clear state
                 Values: clear_failure, none
                 Default: clear_failure

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

                 Specifies the command type used to indicate a failure
                 Values: admin_down, set_diagnostic_code, stop_pdu
                 Default: stop_pdu

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

                 Specifies the BFD message format
                 Values: bfd_cc, bfd_cv
                 Default: bfd_cc

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

                 Specifies the duration of the Clear command, in seconds
                 Values: 1-1200
                 Default: 30

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

                 Specifies the detect multiplier.
                 timeout = interval * detect multiplier
                 Values: 2-100
                 Default: 3

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

                 Enables or disables Generic Associated Channel header (GACh) for BFD
                 Values: true, false
                 Default: true

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

                 Enables or disables Generic Associated Label (GAL) for BFD
                 Values: true, false
                 Default: true

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

                 Specifies the BDF encapsulation type
                 Values: raw, udp
                 Default: raw

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

                 Specifies the duration of the Failure command in seconds
                 Values: 1-1200
                 Default: 30

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

                 Determines whether to include TLVs in the message
                 Values: true, false
                 Default: false

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

                 Specifies the number of times to send the command
                 Values: 1-100
                 Default: 1

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

                 Specifies the name of the results file
                 Default: "" (empty string)

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

                 Specifies the interval during which the device expects to receive
                 a command, in milliseconds
                 Values: 1-10000
                 Default: 100

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

                 Specifies the TLVs to be included in the message
                 Values::


                 ipv4_src_tlv
                               IPv4 Source TLV

                 mep_custom_tlv
                               MEP Custom TLV

                 mep_lsp_tlv
                               MSP LSP TLV

                 mep_pw_tlv
                               MEP PW TLV

                 mep_section_tlv
                               MEP Section TLV

                 none
                               None

                 Default: none

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

                 Specifies the interval between consecutive commands, in milliseconds
                 Values: 1-10000
                 Default: 100

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

                 Specifies the LSP Ping channel type
                 Values: 0-9999
                 Default: 3

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

                 Specifies the duration of the Clear command, in seconds
                 Values: 1-1200
                 Default: 30

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

                 Specifies the destination IPv4 address
                 Default: 127.0.0.1

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

                 Specifies the mode of replying to echo requests

                 Values::


                 control_channel
                                 Control Channel

                 ip_udp_packet
                                 IP UDP Packet

                 ip_udp_with_router_alert
                                 IP UDP with Router Alert

                 no_reply
                               No Echo Reply

                 Default: control_channel

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

                 Enables or disables GACh for LSP Ping
                 Values: true, false
                 Default: false

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

                 Enables or disables GAL for LSP Ping
                 Values: true, false
                 Default: false

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

                 Specifies the Experimental bits
                 Values: 0-7
                 Default: 0

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

                 Specifies the duration of the Failure command, in seconds
                 Values: 1-1200
                 Default: 30

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

                 Determines whether to include TLVs in the message
                 Values: true, false
                 Default: false

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

                 Specifies the number of times to send the command
                 Values: 1-100
                 Default: 1

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

                 Specifies the command type used to clear state
                 Values: clear_failure, none
                 Default: clear_failure

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

                 Specifies the LSP Ping encapsulation type
                 Values: raw, udp
                 Default: udp

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

                 Specifies the command type used to indicate a failure
                 Values: pause_lsp_ping
                 Default: pause_lsp_ping

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

                 Specifies the type of LSP subTLVs to be included in the message
                 Values: 0-65535
                 Default: 22

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

                 Specifies the LSP Ping operation to perform
                 Values: lsp_ping, trace_route, both
                 Default: lsp_ping

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

                 Specifies the interval between LSP Ping commands, in seconds
                 Default: 5

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

                 Specifies the Ping timeout, in seconds
                 Values: 0-65535
                 Default: 2

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

                 Specifies the type of the PW subTLV
                 Values: 0-65535
                 Default: 23

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

                 Specifies the name of the results file
                 Default: "" (empty string)

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

                 Specifies the TTL value
                 Values: 1-255
                 Default: 255

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

                 Specifies the TLVs to be included in the message
                 Values::


                 ipv4_src_tlv
                           IPv4 Source TLV

                 mep_custom_tlv
                           MEP Custom TLV

                 mep_lsp_tlv
                           MSP LSP TLV

                 mep_pw_tlv
                           MEP PW TLV

                 mep_section_tlv
                           MEP Section TLV

                 none
                           None

                 Default: none

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

                 Interval between traceroute commands, in seconds
                 Default: 5

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

                 Number of seconds to wait for a command before timeout
                 Values: 0-65535
                 Default: 2

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

                 Enables or disables validating the FEC stack
                 Values: true, false
                 Default: false

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

                 Specifies the CC Period for the MEG and its MPs
                 Values::


                   ccperiod_100ms      100ms
                   ccperiod_10min      10min
                   ccperiod_10ms       10ms
                   ccperiod_10s        10s
                   ccperiod_1min       1min
                   ccperiod_1s         1sec
                   ccperiod_3ms        3ms

                 Default: ccperiod_1s

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

                 Determines whether to restart or continue numbering of the DUT
                 MEP IDs across MEGs
                 Values:

                 true
                         Restart numbering of MEP IDs of the DUT across MEGs

                 false
                         Continue numbering of MEP IDs of the DUT across MEGs

                 Default: false

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

                 Specifies the ID for the first MEP
                 Values: 1-8191
                 Default: 1

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

                 Specifies the step value by which to create subsequent DUT MEP IDs
                 Values: 1-8191
                 Default: 1

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

                 Specifies the length of the ITU carrier code
                 Values: 1-6
                 Default: 4

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

                 Specifies an ID expression with fixed values and wildcard placeholders
                 Values: Alphanumeric
                 Default: meg_$

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

                 Specifies a MEG ID wildcard expression
                 Default: $

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

                 Specifies the step value by which to create subsequent MEG IDs
                 Default: 1

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

                 Specifies the first MEG ID
                 Default: 1

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

                 Specifies the level of the MEG
                 Values: 0-7
                 Default: 7

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

                 Specifies the ID of the first generated MEP
                 Values: 1-8191
                 Default: 2

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

                 Specifies the step value by which to create subsequent MEP IDs
                 Values: 1-8191
                 Default: 1

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

                 Determines whether to merge duplicate MEGs
                 Values: true, false
                 Default: false

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

                 Specifies the number of DUT MPs per MEG on the DUT
                 Default: 1

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

                 Specifies the name of the results file
                 Default: "" (empty string)

 mplstp_vpn_host_id_format_enable
                 Spirent Extension (for Spirent HLTAPI only).
                 Enables or disables the VPN host ID format
                 Values: true, false
                 Default: false

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

                 Specifies the offset bytes for the customized MAC address of the
                 VPN host
                 Values: 0-4
                 Default: 1

 mplstp_vpn_host_id_format_port_bytes
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the increment to add to the starting bytes of the
                 customized MAC address for each port
                 Values: 0-4
                 Default: 1

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

                 Specifies the increment to add to the starting bytes of the
                 customized MAC address for each router
                 Values: 0-4
                 Default: 2

 mplstp_vpn_host_mac_start
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first host MAC address
                 Default: 0.0.1.0.0.1

 mplstp_vpn_host_mac_step
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the step value by which to create subsequent MAC addresses
                 Values: 48bit mask
                 Default: 0.0.0.0.0.1

 mplstp_vpn_host_overlap
                 Spirent Extension (for Spirent HLTAPI only).
                 Enables or disables overlapping hosts across VPNs
                 Values: true, false
                 Default: false

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

                 Enables or disables host VLANs
                 Values: true, false
                 Default: false

 mplstp_host_num_core_vlans
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the number of host VLANs for core side hosts
                 Values: 0-4
                 Default: 1

 mplstp_host_num_cust_vlans
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the number of host VLANs for customer side hosts
                 Values: 0-4
                 Default: 1

 mplstp_host_vlan_id
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the first VLAN ID
                 Values: 0-65535
                 Default: 100

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

                 Specifies the increment value per host by which to create
                 subsequent VLAN IDs
                 Values: 0-65535
                 Default: 0

 mplstp_host_vlan_id_step_per_vpn
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the increment value per VPN by which to create
                 subsequent VLAN IDs
                 Values: 0-65535
                 Default: 1

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

                 Specifies the total number of hosts to be created
                 Default: 100

 mplstp_vpn_host_assignment
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the VPN host assignment mode
                 Values:

                 hosts_per_ce
                             Specifies the hosts per customer CE device and the
                             hosts per provider CE device

                 hosts_per_vpn
                             Specifies the hosts per VPN, customer CE percent, and
                             provider CE percent

                 total_hosts
                             Specifies the total hosts, customer CE percent, and
                             provider CE percent

                 Default: hosts_per_ce

 mplstp_hosts_per_vpn
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the number of hosts assigned to each VPN or PW
                 Default: 100

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

                 Specifies the number of hosts assigned to each provider side CE
                 router
                 Default: 1

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

                 Specifies the number of hosts assigned to each customer side CE
                 router
                 Default: 1

 mplstp_traffic_flow
                 Spirent Extension (for Spirent HLTAPI only).
                 Specifies the traffic flow
                 Values: bidirectional, core_to_customer, customer_to_core, none
                 Default: bidirectional

 mplstp_traffic_load_percent_from_core_ports
                 Spirent Extension (for Spirent HLTAPI only).
                 Traffic load percent from provider side ports
                 Values: 0-100
                 Default: 10

 mplstp_traffic_load_percent_from_cust_ports
                 Spirent Extension (for Spirent HLTAPI only).
                 Traffic load percent from customer side ports
                 Values: 0-100
                 Default: 10
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 | $FAILURE
handle.traffic      <traffic handle>
handle.vpn          <vpn group handle>
handle.vpnsite      <vpn site info handle>
handle.host         <host handle>
handle.router       <router handle>
handle.spe         <spe router handle>
handle.tpe         <tpe router handle>
handle.pe           <pe router handle>
handle.p            <p router handle>
handle.ospf         <ospf router handle>
handle.isis         <isis router handle>
handle.ldp          <ldp router handle>
handle.rsvp         <rsvp router handle>
handle.bgp          <bgp router handle>
handle.lspping     <lspping handle>
Description:

The emulation mpls tp config function creates or deletes the specified configurations for an MPLSTP emulation. Use the -mode argument to specify the action to perform. (See the mode argument description for information about the actions.)

To setup an emulated MPLSTP VPN, you must specify the mode create and the ports function of the emulation mpls tp config function.

To enable LSP Ping in the emulated VPN, you must set either enable_vpn_to_dut_tunnel_lsp_ping or enable_core_tunnel_lsp_ping to true and configure the function with the vpn_to_dut_tunnel_lsp_ping_config or core_tunnel_lsp_ping_config function respectively.

Examples:

The following example configures the core port:

set cmdReturn [emulation mpls tp port config type=core
      port_handle=            port1
      dut_ipv4_addr=          "10.1.1.1"
      dut_ipv4_addr_step=     "0.0.1.0"
      ipv4_prefix=            24\]
set cmdReturn [keylget cmdReturn handle]

Sample Output:

{handle {port_handle port2 type cust subif= 1 subif_count 1 vlan_id 100 vlan_id_step= 10}} {status 1}

The following example configures the customer port:

set cmdReturn [emulation mpls tp port config
      type=                 cust
       port_handle=          port2
       subif=                "1"
       subif_count=          2
       vlan_id=              100
       vlan_id_step=         10]
set mpls_tp_port2 [keylget cmdReturn handle]

Sample Output:

{handle {port_handle port2 type cust subif 1 subif_count= 1
vlan_id 100 vlan_id_step= 10}} {status 1}

The following example configures the Core side LSP Ping:

set core_lsp_ping list  dst_addr=      100.0.0.1
ping_interval=                150
ping_timeout=                 50
time_to_live=                 25
experimental_bits=            1
validate_fec_stack=           1
enable_nil_fec_label=         1
pad_mode=                    request_drop_pad_tlv
pad_data=                     0102]

The following example configures VPN side LSP Ping:

set vpn_lsp_ping list dst_addr=      100.0.0.1
ping_interval=                       150
ping_timeout=                        50
time_to_live=                        25
experimental_bits=                   1
validate_fec_stack=                  1
enable_nil_fec_label=                1
pad_mode=                           request_drop_pad_tlv
pad_data=                           0102]

The following example configures MPLSTP:

set cmdReturn [emulation mpls tp config
mode=                               create
ports=       [list $mpls_tp_port1 $mpls_tp_port2]
dut_loopback_ip_addr=                     1.1.1.4
core_igp_protocol=                        ospf
core_mpls_protocol=                       ldp
core_p_loopback_ip_addr=                  99.1.1.1
core_p_loopback_ip_addr_step=             0.0.0.0
core_pe_loopback_ip_addr=                 100.1.1.1
core_pe_loopback_ip_addr_step=            0.0.0.0
cust_hosts_per_ce=                        1
vc_count=                                 1
core_p_topology_type=                     tree
route_distinguisher_assignment=           use_rt
route_target=                             1:0
stream_block_group_method=                aggregate
traffic_flow=                             core_to_customer
enable_core_tunnel_lsp_ping=              1
core_tunnel_lsp_ping_config=              $core_lsp_ping
enable_vpn_to_dut_tunnel_lsp_ping=        1
vpn_to_dut_tunnel_lsp_ping_config=        $vpn_lsp_ping\]

set mplsTpHandle [keylget cmdReturn handle]
set routerlist [keylget cmdReturn handle.router]
set hostlist [keylget cmdReturn handle.host]
set stream_id [keylget mplsTpHandle traffic]

Sample Output:

{handle {{vpn {vpnidgroup1 vpnidgroup2 vpnidgroup3 vpnidgroup4 vpnidgroup5
vpnidgroup6 vpnidgroup7 vpnidgroup8 vpnidgroup9 vpnidgroup10}}
{vpnsite {vpnsiteinfovplsldp1 vpnsiteinfovplsldp2 vpnsiteinfovplsldp3
vpnsiteinfovplsldp4 vpnsiteinfovplsldp5 vpnsiteinfovplsldp6
vpnsiteinfovplsldp7 vpnsiteinfovplsldp8 vpnsiteinfovplsldp9
vpnsiteinfovplsldp10 vpnsiteinfovplsldp11}} {host
{host5 host6 host7 host8 host9 host10 host11 host12 host13 host14 host15}}
{router {router1 router2}} {spe {}} {tpe= {}} {pe router2} {p router1}
{ospf {{} {}}} {isis {{} {}}} {ldp {{} ldprouterconfig1}}
{rsvp {rsvprouterconfig1 {}}} {bgp {{} {}}} {lspping= {{} {}}}
{traffic {streamblock1 streamblock2}}}} {status 1}

The following example starts traffic:

set cmdReturn [traffic control mode=  start
                    port_handle=    port1 \]

The following example configures MPLSTP= wizard:

# To configure the PE port
    set provider_edge [emulation mpls tp port config
                port_handle=                        $port2
                type=                               core
                dut_ipv4_addr=                      10.1.1.1
                ipv4_prefix=                        24
                subif=                              0
                subif_count=                        1
                vlan_id=                            4001
                vlan_id_step=                       1
                dest_mac=                           00:23:8A:B7:EA:81
]

    set mplstp_PE [keylget provider_edge handle]

# To configure the CE port
set customer_edge [emulation mpls tp port config
            type=                               cust
            port_handle=                        $port1
            subif=                              0
            subif_count=                        1
            vlan_id=                            100
            vlan_id_step=                       1
 ]

 set mplstp_CE [keylget customer_edge handle]

# To configure BFD options
    set BFD_Options list mplstp_bfd_tx_interval=       10
            mplstp_bfd_rx_interval=                   10
            mplstp_bfd_detect_multiplier=             3
            mplstp_bfd_enable_gen_associated_channel= true
            mplstp_bfd_enable_gen_associated_label=   true
            mplstp_bfd_encap=                         raw
            mplstp_bfd_message_format=                bfd_cc
            mplstp_bfd_failure_command=               stop_pdu
            mplstp_bfd_failure_duration=              30
            mplstp_bfd_clear_command=                 clear_failure
            mplstp_bfd_clear_duration=                30
            mplstp_bfd_loop_count=                    1
    ]

To configure the MPLS TP wizard

    set mplstp [emulation mpls tp config
            mode=                                            create
            test_type=                                       mplstp
            ports=                                           $mplstp_PE $mplstp_CE
            mplstp_dut_topology=                             edge
            mplstp_enable_dynamic_lsps=                      false
            mplstp_enable_dynamic_pws=                       false
            mplstp_enable_linear_protection_on_lsps=         false
            mplstp_enable_linear_protection_on_pws=          false
            mplstp_enable_scale_mode=                        false
            mplstp_enable_static_lsps=                       true
            mplstp_enable_static_pws=                        true
            mplstp_segment_type=                             single_segment
            mplstp_global_id=                                1000
            mplstp_dut_node_id=                              1.1.1.1
            mplstp_lsp_work_src_tunnel_num=                  100
            mplstp_lsp_work_src_tunnel_step=                 1
            mplstp_lsp_work_dst_tunnel_num=                  100
            mplstp_lsp_work_dst_tunnel_step=                 1
            mplstp_lsp_work_lsp_id=                          1
            mplstp_lsp_work_lsp_id_step=                     1
            mplstp_lsp_work_incoming_label=                  1001
            mplstp_lsp_work_incoming_label_step=             1
            mplstp_lsp_work_outgoing_label=                  2001
            mplstp_lsp_work_outgoing_label_step=             1
            mplstp_core_p_enable=                            true
            mplstp_core_p_per_subif=                         1
            mplstp_p_router_node_id=                         192.0.1.1
            mplstp_p_router_node_id_step=                    0.0.0.1
            mplstp_core_pe_per_p=                            1
            mplstp_pe_router_node_id=                        2.2.2.2
            mplstp_pe_router_node_id_step=                   0.0.0.1
            mplstp_total_pws_working=                        1
            mplstp_pwe_work_use_attachment_group_id=         false
            mplstp_pwe_work_attach_circuit_id_local=         1000
            mplstp_pwe_work_attach_circuit_id_local_step=    1
            mplstp_pwe_work_attach_circuit_id_remote=        1000
            mplstp_pwe_work_attach_circuit_id_remote_step=   1
            mplstp_pwe_work_incoming_label=                  100001
            mplstp_pwe_work_incoming_label_step=             1
            mplstp_pwe_work_outgoing_label=                  100001
            mplstp_pwe_work_outgoing_label_step=             1
            mplstp_pwe_work_enable_control_word=             false
            mplstp_lsp_work_enable_bfd_options=              true
            mplstp_lsp_work_enable_bfd_trigger=              false
            mplstp_lsp_work_bfd_config=                      $BFD_Options
            mplstp_pwe_work_enable_bfd_options=              true
            mplstp_pwe_work_enable_bfd_trigger=              false
            mplstp_pwe_work_bfd_config=                      $BFD_Options
            mplstp_vpn_host_id_format_enable=                false
            mplstp_vpn_host_mac_start=                       "00:00:01:00:00:01"
            mplstp_vpn_host_mac_step=                        "00:00:00:00:00:01"
            mplstp_vpn_host_overlap=                         false
            mplstp_vlan_enable=                              false
            mplstp_host_num_core_vlans=                      1
            mplstp_host_num_cust_vlans=                      1
            mplstp_host_vlan_id=                             100
            mplstp_host_vlan_id_step_per_host=               0
            mplstp_host_vlan_id_step_per_vpn=                1
            mplstp_total_hosts=                              1
            mplstp_vpn_host_assignment=                      hosts_per_ce
            mplstp_core_hosts_per_ce=                        1
            mplstp_cust_hosts_per_ce=                        1
            mplstp_traffic_flow=                             bidirectional
            mplstp_traffic_load_percent_from_core_ports=     1
            mplstp_traffic_load_percent_from_cust_ports=     1
    ]

Sample Output:

{handle {{vpn vpnidgroup1} {vpnsite {}} {host {host3 host4}} {router {router1
router2}} {spe {}} {tpe= {}} {pe router2} {p router1} {ospf {{} {}}} {isis
{{} {}}} {ldp {{} {}}} {rsvp {{} {}}} {bgp {{} {}}} {bfd {router1 router2}}
{lspping= {{} {}}} {traffic {streamblock1 streamblock2}} {mplstp_y1731_oam
{{mp_handle { }} {meg_handle {}}}}}} {status 1}

End of Procedure Header

emulation mpls tp port config

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

Purpose:
A Spirent Extension function to create the port on which the MPLSTP emulation is performed.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation mpls tp port config
         port_handle= <handle> M
         type= {cust | core} M
         dut_ipv4_addr= <a.b.c.d>
         dut_ipv4_addr_step= <a.b.c.d>
         dest_mac=  <aa:bb:cc:dd:ee:ff>
         name= <string>
         ipv4_prefix= <0 - 32>
         port_type= {working_egress | protecting_egress | both_egress}
         subif= { 0 | 1 }
         subif_count= <1-10>
         vlan_id= <1-4095>
         vlan_id_step= <1-4095>

Arguments:

type
                Defines the type of port. This argument is `Mandatory`.
                Possible values are::


                 cust - Customer side router
                 core - Core router

port_handle
                Defines the handle of the port on which the MPLSTP emulation
                is performed. This argument is `Mandatory`.

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

                Specifies the destination MAC address
                Default: 10:00:00:00:00:01

dut_ipv4_addr
                Defines the starting IP address of the DUT. Input value must be
                in the IPv4 format. The default value is 0.0.0.0.
                This argument is available when type is set to core.

dut_ipv4_addr_step
                Defines the increment value for subsequent DUT addresses.
                Input value must be in the IPv4 format. The default value
                is 0.0.1.0. This argument is available when type is set to core.

ipv4_prefix
                Specifies the IPv4 address prefix length for the created
                device. Possible values range from 0 to 32. The default is 24.
                This argument is available when type is set to core.

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

                Specifies the port type
                Values: working_egress, protecting_egress, both_egress
                Default: working_egress

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

                Specifies the device name. Primarily  used for provider edge devices.
                Refer to work_protect_pair_list under the
                ``emulation mpls tp config`` function for more details.

subif
                Enables or disables VLANs. Possible values are 1 (enabled)
                and 0 (disabled). The default value is 0.

subif_count
                Defines the number of VLANs. Possible values range from 1 to
                10. The default value is 1.

vlan_id
                Defines the first VLAN ID for a range of customer VLANs.
                Possible values range from 1 to 4095. The default value is 1.

vlan_id_step
                Defines the step value by which VLAN ID is incremented.
                Possible values range from 1 to 4095. The default value is 1.
Return Values:

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

status        $SUCCESS | $FAILURE
log           Error message if command returns {status 0}
handle        <handle>
Description:

The emulation mpls tp port config TP= port (for either customer side or provider side) on which the MPLSTP emulation is configured. Use the type argument to specify the type of the port, and use the port_handle argument to specify the port to be added.

You can use dut_ipv4_addr, dut_ipv4_addr, and -ipv4_prefix to configure the DUT interface that is connected to the test port.

Use subif to determine whether to enable sub-interface on the DUT interface. subif_count, -vlan_id, and -vlan_id_step are applicable only when subif is set to true.

Examples:

The following example configures MPLSTP= Core Port configuration:

set cmdReturn [emulation mpls tp port config
                    type=                core
                    port_handle=         port1
                    dut_ipv4_addr=       "10.1.1.1"
                    dut_ipv4_addr_step=  "0.0.1.0"
                    ipv4_prefix=         24\]

set mpls_tp_port1 [keylget cmdReturn handle]

The following example configures MPLSTP= Customer Port configuration:

set cmdReturn [emulation mpls tp port config
                           type=           cust
                           port_handle=    port2
                           subif=          "1"
                           subif_count=     2
                           vlan_id=         100
                           vlan_id_step=    10]

set mpls_tp_port2 [keylget cmdReturn handle]

End of Procedure Header

emulation mpls tp control

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

Purpose:
A Spirent Extension function to start or stop an MPLSTP emulation.

Synopsis:

Note: M indicates the argument is `Mandatory`.
    emulation mpls tp control
      handle= <handle_list>
      action= {start | stop | start_lsp_ping | stop_lsp_ping}

Arguments:

handle
                The a list of MPLSTP handles returned by
                 emulation_mpls_tp_config

action
                The action to be performed. Possible values are stop, start,
                start_lspping and stop_lsp_ping. The default value is start.
                The values are described below::


                 start - Starts the MPLSTP emulation

                 stop - Stops the MPLSTP emulation

                 start_lsp_ping - Starts LSP Ping

                 stop_lsp_ping - Stops LSP Ping
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 | $FAILURE
log            Error message if command returns {status 0}
Description:

The function controls the MPLSTP emulation configured on the specified port. With the handle value returned by the emulation mpls tp config function, you can use this function to start or stop the MPLSTP VPN topology. You can also start or stop LSP Ping in the MPLSTP VPN. (See

emulation_mpls_tp_config for more information.)
Examples:

This example starts the configured MPLSTP= emulation:

set cmdReturn [emulation mpls tp control handle=$mplsTpHandle
                             action= start]

This example stops the configured MPLSTP= emulation:

set cmdReturn [emulation mpls tp control handle=$mplsTpHandle
                             action= stop]

This example starts LSP Ping:

set cmdReturn [emulation mpls tp control handle=$mplsTpHandle
                             action= start_lsp_ping]

This example stops LSP Ping:

set cmdReturn [emulation mpls tp control handle=$mplsTpHandle
                             action= stop_lsp_ping]

Sample Output:

{status 1}

End of Procedure Header

emulation lsp ping info

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

Purpose:
A Spirent Extension function to get information about LSPPing in MPLSTP emulation.

Synopsis:

Note: M indicates the argument is `Mandatory`.

      emulation lsp ping info
          mode= {aggregate | ping | trace_route} M
          port_handle= <handle> M

Arguments:

mode
                Specifies the mode to get the LSP Ping results. Possible
                values are::


                 aggregate - Gets all LSP Ping statistics per router

                 ping - Gets LSP Ping statistics associated with each Ping

                 trace_route - Gets Trace Route statistics associated with each Ping

                The default value is aggregate.

port_handle
                Specifies the port on which LSP Ping is performed to get
                information. This argument is `Mandatory`.
Return Values:

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

status        $SUCCESS | $FAILURE
log           Error message if command returns {status 0}

These statistics are returned for the aggregate mode:

port_handle
device_handle
lsp_ping_down_count
lsp_ping_up_count
rx_echo_reply_count
rx_echo_request_count
tx_echo_reply_count
tx_echo_request_count

These statistics are returned for the ping mode:

port_handle
device_handle
avg_ping_latency
fail_count
lsp_fec_info
lsp_path_down
lsp_path_up
max_ping_latency
min_ping_latency
rx_return_code
state
success_count

These statistics are returned for the trace_route mode:

port_handle
device_handle
fail_count
lsp_fec_info
lsp_hop_count
lsp_path_down
lsp_path_up
rx_return_code
state
success_count
Description:

The emulation lsp ping info function provides Ping information in the emulated MPLSTP VPN. See the examples in emulation_mpls_tp_config for more information on LSP Ping configurations.

This function returns the requested data and a status value ($SUCCESS or $FAILURE). If there is an error, the function returns the status value $FAILURE and an error message. Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values)

Examples:

This example gets aggregate LSP Ping information:

set cmdReturn [emulation lsp ping info port_handle=[list port1 port2]
                               mode= aggregate
                             ]
set portHandle [kelget cmdReturn 1.port_handle]
set deviceHandle [kelget cmdReturn 1.device_handle]
set lspPingUpCount [kelget cmdReturn 1.lsp_ping_up_count]
set txEchoReply_count [keylget cmdReturn 1.tx_echo_reply_count]
set portHandle [kelget cmdReturn 2.port_handle]
set deviceHandle [kelget cmdReturn 2.device_handle]
set lspPingUpCount [kelget cmdReturn 2.lsp_ping_up_count]
set txEchoReply_count [keylget cmdReturn 2.tx_echo_reply_count]

This example gets ping LSP Ping information:

set cmdReturn [emulation lsp ping info port_handle=[list port1 port2]
                              mode= ping
                               ]
set state [keylget cmdReturn 1.state]
set lspDownCount [keylget cmdReturn 1.lsp_path_down]
set lspFecInfo [keylget cmdReturn 1. lsp_fec_info]
set state [keylget cmdReturn 2.state]
set lspDownCount [keylget cmdReturn 2.lsp_path_down]
set lspFecInfo [keylget cmdReturn 2. lsp_fec_info]

This example gets Trace Route results for LSP Ping:

set stats [emulation lsp ping info port_handle="port2 port3"
                                        mode= trace_route]

Sample Output:

{1 {{fail_count 2} {success_count 0} {state STARTED} {lsp_hop_count 1}
{lsp_path_down 1} {rx_return_code NO_RETURN_CODE} {lsp_path_up 0} {lsp_fec_info
{Static LSP: 100(tunnel) 1(lsp)}} {port_handle port3} {device_handle
lsppingprotocolconfig1}}} {2 {{fail_count 1} {success_count 0} {state STARTED}
{lsp_hop_count 255} {lsp_path_down 1} {rx_return_code NO_RETURN_CODE}
{lsp_path_up 0} {lsp_fec_info {Static PW: 1000/0.0.3.232(global)
167772162/10.0.0.2(node) 1006/0.0.3.238(ac)}} {port_handle port3} {device_handle
lsppingprotocolconfig2}}} {3 {{fail_count 2} {success_count 0} {state STARTED}
{lsp_hop_count 255} {lsp_path_down 1} {rx_return_code NO_RETURN_CODE}
{lsp_path_up 0} {lsp_fec_info {Static PW: 1000/0.0.3.232(global)
167772162/10.0.0.2(node) 1008/0.0.3.240(ac)}} {port_handle port3} {device_handle
lsppingprotocolconfig2}}} {4 {{fail_count 1} {success_count 0} {state STARTED}
{lsp_hop_count 255} {lsp_path_down 1} {rx_return_code NO_RETURN_CODE}
{lsp_path_up 0} {lsp_fec_info {Static PW: 1000/0.0.3.232(global)
167772162/10.0.0.2(node) 1000/0.0.3.232(ac)}} {port_handle port3} {device_handle
lsppingprotocolconfig2}}} {5 {{fail_count 1} {success_count 0} {state STARTED}
{lsp_hop_count 255} {lsp_path_down 1} {rx_return_code NO_RETURN_CODE}
{lsp_path_up 0} {lsp_fec_info {Static PW: 1000/0.0.3.232(global)
167772162/10.0.0.2(node) 1003/0.0.3.235(ac)}} {port_handle port3} {device_handle
lsppingprotocolconfig2}}} {6 {{fail_count 1} {success_count 0} {state STARTED}
{lsp_hop_count 255} {lsp_path_down 1} {rx_return_code NO_RETURN_CODE}
{lsp_path_up 0} {lsp_fec_info {Static PW: 1000/0.0.3.232(global)
167772162/10.0.0.2(node) 1009/0.0.3.241(ac)}} {port_handle port3} {device_handle
lsppingprotocolconfig2}}} {status 1}

End of Procedure Header

emulation mplstp y1731 oam control

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

Purpose:

Spirent Extension (for Spirent HLTAPI only).

Starts, stops, or deletes Y1731 OAM emulations

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation mplstp y1731 oam control
       action= {start|stop|delete}
       handle= <handle_list>
       port_handle= <port_handle_list>
       msg_type= {cc|lb|lck|ais|tst|csf|dm|lm }
       dm_tx_rate= {dmrate_10_per_sec | dmrate_1_per_sec | dmrate_1_per_min | dmrate_1_per_10min}
       dm_tx_type=  {single_msg |continuous}
       csf_tx_type= {single_msg |continuous}
       csf_type=    {los | fdi_ais | rdi | dci}
       tst_tx_type= {single_msg |continuous}
       lm_tx_rate=  {lmrate_10_per_sec | lmrate_1_per_sec | lmrate_1_per_min | lmrate_1_per_10min}
       lm_tx_type=  {single_msg |continuous}
       lm_tx_fcf_mode=   {static | step}
       lm_tx_fcf_step=   <NUMERIC>
       lm_tx_fcf_value=  <NUMERIC>
       lb_tx_type=       {single_msg |continuous}
       lb_initial_transaction_id=  {static | step}
       lb_meg_handle_list= <handle list>
Description:
port_handle=
Specifies a list of ports on which to control the MPLSTP= Y1731 OAM emulation
handle=
Identifies a list of MPLSTP= Y1731 OAM emulations to start, stop, or delete
action=

Specifies the action to perform Values:

start
Starts the message emulators for the specified port
stop
Stops the message emulators for the specified port
delete
Deletes the message emulators for the specified port
msg_type=

Type of MPLSTP= Y1731 OAM messages to start or stop Values:

lb
Loopback (LB) messages
cc
Continuous Check (CC) messages
dm
Delay Measurement (DM) messages
lm
Loss Measurement (LM) messages
ais
Alarm Indication Signal (AIS) messages
lck
Lock Indication Function (LCK) messages
tst
Test messages
csf
Client Signal Fail (CSF) messages
stop_all
Stops all messages
dm_tx_rate=

Transmission rate of DM messages Dependency: msg_type= dm

Values:

dmrate_10_per_sec
10 DMs per second
dmrate_1_per_sec
1 DM per second
dmrate_1_per_min
1 DM per minute
dmrate_1_per_10min
1 DM per 10 minutes

Default: dmrate_1_per_sec

dm_tx_type=

Transmission type of DM messages Dependency: msg_type= dm Values:

single_msg
Send a single DM message
continuous
Send continuous DM messages

Default: single_msg

csf_tx_type=

Transmission type of CSF messages Dependency: msg_type= csf Values:

single_msg
Send a single CSF message
continuous
Send continuous CSF messages

Default: single_msg

csf_type=

Specifies the CSF message type Dependency: msg_type= csf Values:

los
Loss of signal
fdi_ais
Forward defect indication
rdi
Reverse defect indication
dci
Defect clear indication

Default: los

tst_tx_type=

Transmission type of TST messages Dependency: msg_type= tst Values:

single_msg
Send a single TST message
continuous
Send continuous TST messages

Default: single_msg

lm_tx_rate=

Transmission rate of LM messages Dependency: msg_type= lm

lmrate_10_per_sec
10 LMs per second
lmrate_1_per_sec
1 LM per second
lmrate_1_per_min
1 LM per minute
lmrate_1_per_10min
1 LM per 10 minutes
lm_tx_type=

Transmission type of LM messages Dependency: msg_type= lm Values:

single_msg
Send a single LM message
continuous
Send continuous LM messages

Default: single_msg

lm_tx_fcf_mode=

Specifies the sent frame count forwarding mode for LM messages Dependency: msg_type= lm Values:

static
Use the same TxFCf for each LM message
step
Step the TxFCf for each LM message

Default: step

lm_tx_fcf_step=
Specifies the step value by which to increment the TxFCf Dependency: msg_type= lm Default: 1
lm_tx_fcf_value=
Specifies the initial TxFCf value Dependency: msg_type= lm Default: 1
lb_tx_type=

Transmission type of LB messages Dependency: msg_type= lb Values:

single_msg
Send a single TST message
continuous
Send continuous TST messages

Default: single_msg

lb_initial_transaction_id=
Specifies the initial transaction ID for LB messages Dependency: msg_type= lb Default: 1
lb_meg_handle_list=
A list of MEG handles. Refer to the return values of the emulation mpls tp config test_mode=mplstp Dependency: msg_type= lb
Return Values:

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

status
Retrieves a value indicating the success (1) or failure (0) of the operation.
log_msg
Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log_msg value is null.
Description:

The emulation mplstp y1731 oam control performs several actions: starting message emulators, stopping message emulators, and deleting message emulators.

When you call the emulation mplstp y1731 oam control function, you specify a port handle, and Spirent HLTAPI applies the specified action to all emulated Y1731 OAM message emulators associated with the specified port.

Examples:

To start the LM message emulator:

set mp_handle [keylget mplstp handle.mplstp_y1731_oam.mp_handle]
set status [emulation mplstp y1731 oam control
           handle=            $mp_handle
           msg_type=          lm
           lm_tx_rate=        lmrate_1_per_sec
           lm_tx_type=        single_msg
           lm_tx_fcf_mode=    static
           lm_tx_fcf_step=    1
           lm_tx_fcf_value=   1
           action=            start]

Sample Output:

{status 1}

emulation mplstp y1731 oam stats

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

Purpose:

Spirent Extension (for Spirent HLTAPI only).

Returns information for the Y1731OAM emulation

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation mplstp y1731 oam stats
       mode= {cc | lb | lck | ais | tst | csf | dm | lm | meg} M
       handle= <handle>
       port_handle= <port_handle>

Arguments:

mode
                Specifies the desired mode for information return. This argument is
                `Mandatory`. The modes can be combined by using "|".
                The modes are described below: :


                cc
                        MPLSTP OAM CC results

                lb
                        MPLSTP OAM LB results

                lck
                        MPLSTP OAM LCK results

                ais
                        MPLSTP OAM AIS results

                tst
                        MPLSTP OAM TST results

                csf
                        MPLSTP OAM CSF results

                dm
                        MPLSTP OAM DM results

                lm
                        MPLSTP OAM LM results

                meg
                        MPLSTP OAM MEG results

handle
                Specifies the MP/MEG OAM handle from which to retrieve statistics. You must
                specify either handle or -port_handle, but not both.
                Note: MEG handle is only required for mode meg.

port_handle
                Specifies the port from which to retrieve statistics
Return Values:

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

status
Retrieves a value indicating the success (1) or failure (0) of the operation
log_msg
Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log value is null.

Following are the keys returned for CC mode:

ais_rx_state
AIS receive state
cc_rx_count
Number of CC messages received
cc_tx_count
Number of CC messages transmitted
dropped_pkt_count
Number of unserviceable packets that were dropped
lck_rx_state
LCK receive state
meg_id
MEG ID
mp_name
MP name
num_of_remote_meps
Number of remote MEPs that the MP expects to send CC messages
num_of_remote_meps_down
Number of remote MEPs that have not sent CC messages
num_of_remote_meps_up
Number of remote MEPs that have sent CC messages
num_of_timeouts
Number of timeouts
num_of_unexpected_meg_ids
Number of received CC messages with a MEG ID that is not configured on the receiving port
num_of_unexpected_meg_levels
Number of CC messages with an unexpected MD level value
num_of_unexpected_meps
Number of CC messages received from a MEP ID that is not found in the expected MEPs list for that MEG
num_of_unexpected_period_values
Number of received CC Messages for which the CC period value in the message does not match the one configured on the MEG
rdi_rx_state
Remote Defect Indication (RDI) receive state
rdi_tx_state
RDI transmit state

Following are the keys returned for LB mode:

dropped_pkt_count
Number of unserviceable packets that were dropped
lbm_rx_count
Number of LB messages received
lbm_tx_count
Number of LB messages sent
lbr_rx_count
Number of LB responses received
lbr_tx_count
Number of LB responses transmitted
meg_id
MEG ID
mp_name
MP name
num_of_timeouts
Number of timeouts
num_of_transaction_id_mismatches
Number of transaction ID mismatches

Following are the keys returned for LCK mode:

lck_rx_count
Number of LCK messages received
lck_rx_period
LCK receive period for MEPs
lck_rx_state
LCK receive state
lck_tx_count
Number of LCK messages transmitted
lck_tx_state
LCK transmit state
meg_id
MEG ID
mp_name
MP name

Following are the keys returned for AIS mode:

ais_rx_count
Number of AIS messages received
ais_rx_period
AISperiod for MEPs
ais_rx_state
AIS receive state
ais_tx_count
Number of AIS messages transmitted
ais_tx_state
AIS transmit state
meg_id
MEG ID
mp_name
MP name

Following are the keys returned for TST mode:

last_seq_num_rx
Last receive sequence number in TST messages
last_seq_num_tx
Last transmit sequence number in TST messages
meg_id
MEG ID
mp_name
MP name
num_out_of_seq
Number of outof-sequence messages
tst_rx_count
Number of TST messages received
tst_tx_count
Number of TST messages sent

Following are the keys returned for CSF mode:

meg_id
MEG ID
mp_name
MP name
axicons
Number of CSF messages received
rx_csf_period
Period of last received CSF message
rx_csf_type
CSF type received
toxicant
Number of CSF messages sent
tx_csf_type
CSF type transmitted

Following are the keys returned for DM mode:

meg_id
MEG ID
mp_name
MP name
dmm_rx_count
Number of DM messages received
dmm_tx_count
Number of DM messages sent
dmr_rx_count
Number of DM responses received
dmr_tx_count
Number of DM responses sent

Following are the keys returned for LM mode:

lmm_rx_count
Number of LM messages received
lmm_tx_count
Number of LM messages sent
lmr_rx_count
Number of LM responses received
lmr_tx_count
Number of LM responses transmitted
meg_id
MEG ID
mp_name
MP name
tx_f_cf
Frame count forwarding transmitted

Following are the keys returned for MEG mode:

bad_cc_rx_count
Number of bad CC messages received from all MEPs in the MEG
cc_rx_state
CC receive state
cc_tx_state
CC transmit state
dropped_pkt_count
Number of unserviceable packets that were dropped
meg_id
MEG ID
me_level
ME level of the MEG
num_of_meps
Number of MEPs in the MEG
num_of_timeouts
Number of timeouts in the MEG
num_of_unexpected_meg_ids
Number of received OAM messages with an unexpected MEG ID
num_of_unexpected_meg_levels
Number of OAM messages with an unexpected ME level
num_of_unexpected_meps
Number of CC messages received from a MEP ID that is not found in the expected MEPs listed for that MEG
num_of_unexpected_period_values
Number of received OAM messages with an unexpected period value
port_name
Name of the port
Description:
The emulation mplstp y1731 oam stats function provides information about the Y1731 OAM emulation. This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message. Function return values are formatted as a keyed list supported by the Tcl extension software - TclX. Use the TclX function (keylget) to retrieve data from the keyed list. (See Return Values for a description of each key.)

Examples:

To return results for combined modes of ais and lck:

set results [emulation mplstp y1731 oam stats
          mode=                   "ais|lck"
          port_handle=             $port2]

Sample Output:

{status 1} {ais {{mplstpoammpconfig1 {{ais_tx_state OFF} {ais_tx_count 8}
{ais_rx_period NONE} {mp_name {MP 1_2}} {meg_id MEG_LSP1} {ais_rx_state OFF}
{ais_rx_count 0}}} {mplstpoammpconfig2 {{ais_tx_state OFF} {ais_tx_count 8}
{ais_rx_period NONE} {mp_name {MP 2_2}} {meg_id MEG_PW1} {ais_rx_state OFF}
{ais_rx_count 0}}}}} {lck {{mplstpoammpconfig1 {{mp_name {MP 1_2}} {meg_id
MEG_LSP1} {lck_tx_state OFF} {lck_tx_count 8} {lck_rx_period NONE} {lck_rx_state
OFF} {lck_rx_count 0}}} {mplstpoammpconfig2 {{mp_name {MP 2_2}} {meg_id MEG_PW1}
{lck_tx_state OFF} {lck_tx_count 8} {lck_rx_period NONE} {lck_rx_state OFF}
{lck_rx_count 0}}}}}