MVPN Functions

emulation mvpn provider port config

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

Purpose:

Adds or deletes an emulated providerside test port.

Multicast VPN (MVPN) is a technology to deploy the multicast service in an existing Multiprotocol Label Switching (MPLS)/ Border Gateway Protocol (BGP) VPN. It transmits multicast data between private networks by encapsulating the original multicast packets.

If the creation fails, Spirent HLTAPI returns an error message.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation mvpn provider port config
        port_handle= <port_handle> M
        action= {add|delete} M
        dut_interface_ipv4_addr= <a.b.c.d>
        dut_interface_ipv4_addr_step= <a.b.c.d>
        dut_interface_ipv4_prefix_length= <0-32>
        dut_interface_ipv6_addr=   <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        dut_interface_ipv6_addr_step=  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        dut_interface_ipv6_prefix_length= <1-128>
        mvpn_type= {rosen|nextgen}
        ng_encap=  {ipv4|ipv6|ipv4v6}
        ng_multicast_traffic_role= {sender|receiver|sender_and_receiver}
        sub_interface_enable= {1|0}
        sub_interface_count= <1-95>
        vlan_id= <0-4095>
        vlan_id_step= <0-4095>

Arguments:

port_handle
                Specifies the test port to be added to MVPN provider side. This
                argument is `Mandatory`.

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

                 add      Adds a providerside test port
                 delete   Deletes a providerside test port

dut_interface_ipv4_addr
                Defines the first IPv4 address of the DUT interfaces connected
                to the port. The default value is "0.0.0.0".

dut_interface_ipv4_addr_step
                Specifies the step size in which the DUT IPv4 address is
                incremented. The default value is 0.0.1.0. The number of times
                that the step repeats is same as the number of subinterfaces.
                This argument is only applicable when sub_interface_enable is
                enabled.

dut_interface_ipv4_prefix_length
                IPv4 address prefix length of DUT interface connected to the
                port. Possible values range from 0 to 32. The default value is
                24.


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

                Specifies the first IPv6 address of the DUT interfaces connected
                to the port. The default value is ::.

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

                Specifies the step value to increment DUT IPv6 addresses. This
                argument is only available when sub_interface_enable is
                enabled. The default value is 0:0:0:1::. The number of times that
                the step repeats is same as the number of subinterfaces.

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

                Specifies the IPv6 address's prefix length of the DUT interface
                connected to the port. Possible values range from 1 to 128. The
                default value is 64.

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

                Specifies the type of MVPN to be tested. Possible values are::


                 rosen     Rosen MVPN as specified in RFC 6037
                 nextgen   NGMPVN as specified in RFC 6513/6514

                The default value is rosen.

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

                Identifies the type of encapsulation for the NGMVPN. Possible
                values are::


                 ipv4     IPv4 NGMVPN
                 ipv6     IPv6 NGMVPN
                 ipv4v6   Dual stack NGMVPN

                The default value is ipv4.

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

                Specifies the role of the emulated device in multicast traffic.
                Possible values are::


                 sender                      Sender only
                 receiver                    Receiver only
                 sender_and_receiver         Sender and receiver

                The default value is sender_and_receiver.

sub_interface_enable
                Determines whether the subinterface on the DUT interface is
                enabled. Possible values are 0 (disabled) and 1 (enabled). The
                default value is 0. Subinterfaces allow multiple routers and
                multiple VLANs to be created on each port. When this
                argument is enabled, you can specify the following arguments::

                sub_interface_count, -dut_interface_ipv4_addr_step,
                vlan_id, and vlan_id_step.

sub_interface_count
                Defines the number of subinterfaces (VLANs) of the DUT
                interface. Possible values range from 1 to 95. The default
                value is 1. This argument is only applicable when
                sub_interface_enable is enabled.

vlan_id
                Specifies the starting VLAN ID of DUT interfaces.
                Possible values range from 0 to 4095. The default value is 1.
                This argument is only applicable when sub_interface_enable
                is enabled.

vlan_id_step
                Defines the step size in which the VLAN ID is incremented.
                Possible values range from 0 to 4095. The default is 1. This
                argument is only applicable when sub_interface_enable is
                enabled.
Ciscospecific Arguments:
None
Return Values:

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

status    Success (1) or failure (0) of the operation.
log      An error message (if the operation failed).
Description:

The emulation mvpn provider port config function adds or deletes an emulated MVPN providerside test port. Use the -port_handle argument to specify the port to be added. Use the action argument to specify the action to perform. (See the action argument description for information about the actions.)

Use action add to add one provider-side test port with the MVPN protocol. The added port can be removed with delete mode.

You can use dut_interface_ipv4_addr, dut_interface_ipv4_addr_step, and dut_interface_ipv4_prefix_length to configure the DUT interface that is connected to the test port.

Use the sub_interface_enable argument to determine whether the subinterface on the DUT interface is enabled. -sub_interface_count, dut_interface_ipv4_addr_step, -vlan_id, and -vlan_id_step are applicable only when the sub_interface_enable option is enabled.

Examples:

The following example adds a test port to MVPN provider side:

emulation mvpn provider port config port_handle=$p1
           action= add
           dut_interface_ipv4_addr= 6.145.1.1
           dut_interface_ipv4_prefix_length= 24
           dut_interface_ipv4_addr_step= 0.0.1.0

Sample output for example shown above:

{status 1}

The following example deletes a test port from MVPN provider side:

emulation mvpn provider port config port_handle=$p1
             action= delete

Sample output for example shown above:

{status 1}

The following example configures the provider router for the NGMVPN:

set device_ret0_router0 [emulation mvpn provider port config
           action= add
           port_handle= $port2
           dut_interface_ipv4_addr= 10.1.1.1
           dut_interface_ipv4_addr_step= 1.0.0.0
           dut_interface_ipv4_prefix_length= 24
           mvpn_type= nextgen
           ng_encap= ipv4
           ng_multicast_traffic_role= receiver
     ]

End of Procedure Header

emulation mvpn customer port config

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

Purpose:
Adds or deletes a Multicast VPN emulation test port on the MVPN customer side.

Synopsis:

Note: M indicates the argument is `Mandatory`.

      emulation mvpn customer port config
        port_handle= <port_handle> M
        action= {add|delete}  M
        dut_interface_ipv4_addr= <a.b.c.d>
        dut_interface_ipv4_addr_step= <a.b.c.d>
        dut_interface_ipv4_prefix_length= <0-32>
        dut_interface_ipv6_addr=   <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        dut_interface_ipv6_addr_step=  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        dut_interface_ipv6_prefix_length= <1-128>
        sub_interface_enable= {1|0}
        sub_interface_count= <1-95>
        vlan_id= <0-4095>
        vlan_id_step= <0-4095>
        mvpn_type= {rosen|nextgen}
        ng_encap=  {ipv4|ipv6|ipv4v6}
        ng_multicast_traffic_role= {sender|receiver|sender_and_receiver}

Arguments:

port_handle
                Specifies the test port to be added to the MVPN customer side.
                This argument is `Mandatory`.

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


                 add - Adds a customerside test port
                 delete - Deletes a customerside test port

dut_interface_ipv4_addr
                Defines the first IPv4 address of the DUT interfaces that are connected
                to the port. The default value is "0.0.0.0".

dut_interface_ipv4_addr_step
                Specifies the step size in which the DUT IPv4 address is
                incremented. The default value is 0.0.1.0. The number of times that the
                step repeats is same as the number of subinterfaces. This
                argument is only applicable when sub_interface_enable is
                enabled.

dut_interface_ipv4_prefix_length
                Specifies the IPv4 address prefix length of DUT interface
                that is connected to the
                port. Possible values range from 0 to 32. The default value is
                24.

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

                Specifies the first IPv6 address of the DUT interfaces connected
                to the port. The default value is ::.

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

                Specifies the step value to increment DUT IPv6 addresses. This
                argument is only available when sub_interface_enable is
                enabled. The default value is 0:0:0:1::. The number of times that
                the step repeats is same as the number of subinterfaces.

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

                Specifies the IPv6 address's prefix length of the DUT interface
                connected to the port. Possible values range from 1 to 128. The
                default value is 64.

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

                Specifies the type of MVPN to be tested. Possible values are::


                 rosen     Rosen MVPN as specified in RFC 6037
                 nextgen   NG MPVN as specified in RFC 6513/6514

                The default value is rosen.

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

                Identifies the type of encapsulation for the NGMVPN. Possible
                values are::


                 ipv4     IPv4 NGMVPN
                 ipv6     IPv6 NGMVPN
                 ipv4v6   Dual stack NGMVPN

                The default value is ipv4.

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

                Specifies the role of the emulated device in multicast traffic.
                Possible values are::


                 sender                      Sender only
                 receiver                    Receiver only
                 sender_and_receiver         Sender and receiver

                The default value is sender_and_receiver.

sub_interface_enable
                Determines whether the subinterface on the DUT interface is
                enabled. Possible values are 0 (disabled) and 1 (enabled). The
                default value is 0. Subinterfaces allow multiple routers and
                multiple VLANs to be created on each port. When this
                argument is enabled, you can specify the following arguments::

                sub_interface_count, -dut_interface_ipv4_addr_step,
                vlan_id, and vlan_id_step.

sub_interface_count
                Defines the number of subinterfaces (VLANs) of the DUT
                interface. Possible values range from 1 to 95. The default
                value is 1. This argument is only applicable when
                sub_interface_enable is enabled.

vlan_id
                Specifies the starting VLAN ID of DUT interfaces.
                Possible values range from 0 to 4095. The default value is 1.
                This argument is only applicable when sub_interface_enable
                is enabled.

vlan_id_step
                Defines the step size in which the VLAN ID is incremented.
                Possible values range from 0 to 4095. The default is 1. This
                argument is only applicable when sub_interface_enable is
                enabled.
Ciscospecific Arguments:
None
Return Values:

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

status    Success (1) or failure (0) of the operation.
log       An error message (if the operation failed).
Description:

The emulation mvpn customer port config function adds or deletes an emulated MVPN customerside test port. Use the -port_handle argument to specify the port to be added. Use the action argument to specify the action to perform. (See the action argument description for information about the actions.)

For more information, you can refer to the description of the emulation mvpn provider port config function. The usage of emulation mvpn customer port config options is similar to that of the emulation mvpn provider port config options.

Examples:

The following example adds a test port to MVPN customer side:

emulation mvpn customer port config port_handle=$p2
               action= add
               dut_interface_ipv4_addr= 6.146.1.1
               dut_interface_ipv4_prefix_length= 24
               dut_interface_ipv4_addr_step= 0.0.1.0

Sample output for example shown above:

{status 1}

The following example deletes a test port from MVPN customer side:

emulation mvpn provider port config port_handle=$p2
             action= delete

Sample output for example shown above:

{status 1}

The following example configures the customer router for the NGMVPN:

set device_ret0_router0 [emulation mvpn customer port config
       action= add
       port_handle= $port1
       dut_interface_ipv4_addr= 30.1.1.1
       dut_interface_ipv4_addr_step= 0.0.0.0
       dut_interface_ipv4_prefix_length= 24
       dut_interface_ipv6_addr= 3001::1
       dut_interface_ipv6_addr_step= ::1
       dut_interface_ipv6_prefix_length= 64
       mvpn_type= nextgen
       ng_encap= ipv4v6
       ng_multicast_traffic_role= sender
   ]

End of Procedure Header

emulation mvpn config

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

Purpose:
The emulation mvpn config function configures an RFC 2547bis style MPLS IP VPN network topologies, creates emulated and simulated CE, P, and PE routers, selects and enables routing and labeling protocols, configures multicast VPNs, and creates the traffic that is sent between VPNs.

Synopsis:

Note: M indicates the argument is `Mandatory`.

      emulation mvpn config
        dut_loopback_ipv4_addr= <a.b.c.d>
        dut_as= <1-65535>
        dut_4byte_as_enable= {1|0}
        dut_4byte_as= <65535:65535>
        igp_protocol= { ospf|isis|rip }
        mpls_protocol= { ldp|rsvp }
        bgp_bfd_enable= {1|0}
        mpls_rsvp_bandwidth_per_link= {1-2147483647}
        mpls_rsvp_bandwidth_per_tunnel= {1-2147483647}
        mpls_rsvp_egress_label= { next_available|implicit_null|
             explicit_null }]
        mpls_rsvp_transit= { accept_all|accept_configured }
        mpls_rsvp_min_label= {1-65535}
        mpls_rsvp_max_label= {1-65535}
        mpls_rsvp_graceful_restart_enable= {1|0}
        mpls_rsvp_recover_time= <0-4294967295>
        mpls_rsvp_restart_time= <0-4294967295>
        mpls_rsvp_bfd_enable= {1|0}
        mpls_ldp_hello_type= { direct|targeted}
        mpls_ldp_transport_mode= { none|tester_ip|router_id }
        mpls_ldp_hello_interval= <1-21845>
        mpls_ldp_keepalive_interval= <1-21845>
        mpls_ldp_egress_label= { next_available|implicit_null|explicit_null }
        mpls_ldp_min_label= <1-65535>
        mpls_ldp_graceful_restart_enable= {1|0}
        mpls_ldp_recover_time= <0-4294967>
        mpls_ldp_reconnect_time= <0-4294967>
        mpls_ldp_bfd_enable= {1|0}
        igp_ospfv2_area_id= <a.b.c.d>
        igp_ospfv2_network_type= {native|broadcast|p2p}
        igp_ospfv2_router_priority= <0-255>
        igp_ospfv2_interface_cost= <1-65535>
        igp_ospfv2_options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
        igp_ospfv2_authentication_mode= {none|simple|md5}
        igp_ospfv2_authentication_password= <password>
        igp_ospfv2_authentication_md5_key= <0-255>
        igp_ospfv2_graceful_restart_enable= {1|0}
        igp_ospfv2_graceful_restart_type= {none|rfc_standard|ll_signalling}
        igp_ospfv2_bfd_enable= {1|0}
        igp_isis_level= {level1|level2|level1_and_2}
        igp_isis_network_type= {broadcast|p2p}
        igp_isis_router_priority= <0-127>
        igp_isis_area1= <ANY>
        igp_isis_area2= <ANY>
        igp_isis_area3= <ANY>
        igp_isis_circuit_id= <0-255>
        igp_isis_authentication_mode= {none|simple|md5 }
        igp_isis_authentication_password= <ANY>
        igp_isis_authentication_md5_key= <0-255>
        igp_isis_metric_mode= {narrow|wide|narrow_and_wide}
        igp_isis_l1_metric= <1-63>
        igp_isis_l1_wide_metric= <0-16777215>
        igp_isis_l2_metric= <1-63>
        igp_isis_l2_wide_metric= <0-16777215>
        igp_isis_graceful_restart_enable= {1|0}
        igp_isis_hello_padding= {1|0}
        igp_isis_bfd_enable= {1|0}
        ipv4_unique_groups_per_sender= {0|1}
        ipv4_starting_group_address= <a.b.c.d>
        ipv4_group_count= <1-65535>
        ipv4_group_address_increment= <a.b.c.d>
        ipv6_unique_groups_per_sender=  {0|1}
        ipv6_starting_group_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        ipv6_group_count=  <1-65535>
        ipv6_group_address_increment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        ipv6_vpn_route_mpls_label_type=  {site|route}
        p_router_enable= {1|0}
        p_router_number_per_sub_interface= <1-65535>
        p_router_topology_type= {tree|grid}
        p_router_loopback_ipv4_addr= <a.b.c.d>
        p_router_loopback_ipv4_addr_step= <a.b.c.d>
        p_router_interface_ipv4_addr= <a.b.c.d>
        p_router_interface_ipv4_addr_prefix_length= <0-32>
        pe_router_number_per_sub_interface= <1-65535>
        pe_router_loopback_ipv4_addr= <a.b.c.d>
        pe_router_loopback_ipv4_addr_step= <a.b.c.d>
        bgp_route_reflector_enable= {1|0}
        bgp_route_reflector_per_sub_interface= <1-65535>
        bgp_route_reflector_per_pe= <1-65535>
        bgp_route_reflector_loopback_ipv4_addr= <a.b.c.d>
        bgp_route_reflector_loopback_ipv4_addr_step= <a.b.c.d>
        bgp_route_reflector_cluster_id= <a.b.c.d>
        bgp_route_reflector_cluster_id_step= <a.b.c.d>
        bgp_route_reflector_ids=  <a.b.c.d>
        bgp_route_reflector_mode=   {stc_as_rr|dut_as_rr}
        vrf_number= <1-65535>
        vrf_rd_assignment= {use_rt|manual}
        vrf_route_target_start= <ANY>
        vrf_route_target_step= <ANY>
        customer_ce_vrf_assignment= {round_robin|sequential}
        customer_ce_bgp_as= <1-65535>
        customer_ce_bgp_as_step_per_ce_enable= {1|0}
        customer_ce_bgp_as_step_per_ce= <0-65535>
        customer_ce_bgp_as_step_per_vrf_enable= {1|0}
        customer_ce_bgp_as_step_per_vrf= <0-65535>
        customer_ce_bgp_4byte_as_enable= {1|0}
        customer_ce_bgp_4byte_as= <ANY>
        customer_ce_bgp_4byte_as_step_per_ce_enable= {1|0}
        customer_ce_bgp_4byte_as_step_per_ce= <0-65535>
        customer_ce_bgp_4byte_as_step_per_vrf_enable= {1|0}
        customer_ce_bgp_4byte_as_step_per_vrf= <0-65535>
        customer_ce_routing_protocol= {bgp|ospf|rip|isis|static_route|mixed}
        customer_ce_bgp_percent= <0-100>
        customer_ce_rip_percent= <0-100>
        customer_ce_ospf_percent= <0-100>
        customer_ce_isis_percent= <0-100>
        customer_ce_static_route_percent= <0-100>
        customer_ipv4_mcast_sender_per_route= <1-2147483647>
        customer_ipv4_mcast_sender_routes_per_ce=  <1-2147483647>
        customer_ipv4_vpn_route_step= <NUMERIC>
        customer_ipv4_vpn_route_start= <a.b.c.d>
        customer_ipv4_vpn_route_prefix_length=   <1-32>
        customer_ipv4_vpn_route_overlap=  {0|1}
        customer_ipv6_vpn_route_step= <NUMERIC>
        customer_ipv6_vpn_route_prefix_length= <1-128>
        customer_ipv6_vpn_route_overlap=  {0|1}
        customer_ipv6_vpn_route_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        provider_ipv4_mcast_sender_per_route= <1-2147483647>
        provider_ipv4_mcast_sender_routes_per_ce=  <1-2147483647>
        provider_ipv4_vpn_route_step= <NUMERIC>
        provider_ipv4_vpn_route_start= <a.b.c.d>
        provider_ipv4_vpn_route_prefix_length= <1-32>
        provider_ipv4_vpn_route_overlap=  {0|1}
        provider_ipv6_vpn_route_step= <NUMERIC>
        provider_ipv6_vpn_route_prefix_length= <1-128>
        provider_ipv6_vpn_route_overlap=   {0|1}
        provider_ipv6_vpn_route_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        multicast_traffic_enable=  {0|1}
        customer_enable_all_ipv6_mcast_sender_routes_per_ce=  {0|1}
        customer_enable_all_ipv4_mcast_sender_routes_per_ce=  {0|1}
        customer_enable_cust_bsr=   {0|1}
        customer_rp_increment= <a.b.c.d>
        customer_rp_addr= <a.b.c.d>
        customer_ce_pim_protocol=  {sm|ssm}
        customer_ipv6_rp_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        customer_ipv6_rp_increment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        customer_ipv6_routes_per_ce= <1-2147483647>
        customer_ipv6_mcast_sender_per_route=  <1-2147483647>
        customer_ipv6_mcast_sender_routes_per_ce= <1-2147483647>
        customer_ipv6_ce_route_type=  {internal|external}
        customer_rd_start= <ANY>
        customer_rd_step_per_vrf_enable= {1|0}
        customer_rd_step_per_vrf= <ANY>
        customer_rd_step_per_ce_enable= {1|0}
        customer_rd_step_per_ce= <ANY>
        provider_pe_vrf_assignment= {vpn_per_pe|pe_per_vpn}
        provider_pe_vrf_count= <integer>
        provider_pe_vrf_all_assign= {1|0}
        provider_ce_bgp_as_enable= {1|0}
        provider_ce_bgp_as= <1-65535>
        provider_ce_bgp_as_step_per_ce_enable=  {1|0}
        provider_ce_bgp_as_step_per_ce= <1-65535>
        provider_ce_bgp_as_step_per_vrf_enable= {1|0}
        provider_ce_bgp_as_step_per_vrf= <1-65535>
        provider_ce_bgp_4byte_as_enable= {1|0}
        provider_ce_bgp_4byte_as= <ANY>
        provider_ce_bgp_4byte_as_step_per_ce_enable= {1|0}
        provider_ce_bgp_4byte_as_step_per_ce= <1-65535>
        provider_ce_bgp_4byte_as_step_per_vrf_enable= {1|0}
        provider_ce_bgp_4byte_as_step_per_vrf= <1-65535>
        provider_ipv6_routes_per_ce= <1-2147483647>
        provider_ipv6_mcast_sender_per_route= <1-2147483647>
        provider_ipv6_mcast_sender_routes_per_ce= <1-2147483647>
        provider_rd_start= <ANY>
        provider_rd_step_per_vrf_enable= {1|0}
        provider_rd_step_per_vrf=  <ANY>
        provider_rd_step_per_ce_enable= {1|0}
        provider_rd_step_per_ce=  <ANY>
        customer_use_ports_enable=  {0|1}
        provider_use_ports_enable=  {0|1}
        customer_multicast_traffic_load_percent_from_ports= <0-100>
        provider_multicast_traffic_load_percent_from_ports=  <0-100>
        multicast_default_mdt_addr= <a.b.c.d>
        multicast_default_mdt_increment= <a.b.c.d>
        multicast_data_mdt_enable= {1|0}
        multicast_data_mdt_addr= <a.b.c.d>
        multicast_data_mdt_increment= <a.b.c.d>
        multicast_framesize= <12-16383>
        multicast_receiver_have_same_group= {1|0}
        multicast_group_count= <1-65535>
        multicast_group_addr_start= <a.b.c.d>
        multicast_group_addr_increment= <a.b.c.d>
        multicast_group_increment_per_interface= {1|0}
        multicast_group_addr_increment_per_vlan= <a.b.c.d>
        multicast_group_addr_increment_per_port= <a.b.c.d>
        multicast_multiple_sender_enable= {1|0}
        multicast_multiple_sender_count= <1-65535>
        multicast_provider_pim_protocol= { pim_sm|pim_ssm}
        multicast_provider_bsr_enable= {1|0}
        multicast_provider_rp_addr= <a.b.c.d>
        multicast_customer_pim_protocol= {pim_sm|pim_ssm}
        multicast_customer_bsr_enable= {1|0}
        multicast_customer_rp_addr= <a.b.c.d>
        multicast_customer_rp_increment= <a.b.c.d>
        customer_route_type= { internal|external}
        customer_route_count_per_ce= <1-2147483647>
        customer_route_start= <a.b.c.d>
        customer_route_step= <a.b.c.d>
        customer_route_prefix_length= <1-32>
        customer_route_overlap= {1|0}
        provider_route_count_per_ce= <1-2147483647>
        provider_route_start= <a.b.c.d>
        provider_route_step= <a.b.c.d>
        provider_route_prefix_length= <1-32>
        provider_route_overlap= {1|0}
        vrf_route_mpls_label_type= {label_per_site|label_per_route}
        vrf_route_mpls_label_start= <1-1048575>
        traffic_frame_size= <12-16383>
        traffic_analyzer_enable= {1|0}
        traffic_load_percent_from_provider_port= <0-100>
        traffic_load_percent_from_customer_port= <0-100>
        multicast_traffic_flow_direction= {customer_to_provider|
             customer_to_customer|customer_to_all_other|
             provider_to_customer}]
        multicast_traffic_source_count= <1-65535>
        multicast_traffic_all_source_enable= {1|0}
        multicast_traffic_receiver_count= <integer>
        multicast_traffic_all_receiver_enable= {1|0}
        mdt_switch_over_traffic_enable= {1|0}
        mdt_switch_over_interval= <0-65535>
        mdt_switch_over_delay= <0-65535>
        unicast_traffic_enable= {1|0}
        unicast_traffic_flow_direction= {customer_to_core|
             core_to_customer|bidirectional|fully_meshed}]
        unicast_traffic_stream_group_method= {aggregate|vpn }
        unicast_traffic_use_single_stream_per_endpoint_pair= {1|0}
        traffic_pattern=  {one_to_one|one_to_many}
        use_dut_ifc_as_rp_addr=   {0|1}
        vpn_v4_enable=  {0|1}
        vpn_v6_enable=  {0|1}
        ldp_hello_type=  {directed|targeted}
        mvpn_type= {nextgen|rosen}

Arguments:

dut_loopback_ipv4_addr
                Specifies the loopback IPv4 address of DUT. Loopback
                IPv4 address of DUT Loopback address is a special IP
                number that is designated for the software loopback
                interface of a machine. You must specify the value of this
                argument in IPv4 format. The default value is 10.0.0.1.

dut_as
                The autonomous system (AS) number of DUT.
                Possible values range from 1-65535. The default value
                is 1.

dut_4byte_as_enable
                Determines whether 4byte AS number is enabled on DUT.
                When it is set to 1, you can specify the 4byte AS number.
                Possible values are 0 and 1. The default values is 0.

dut_4byte_as
                Specifies the 4byte AS number of DUT. You should set it
                in the format of "<integer>:<integer>". The integer used
                must be smaller than 65535. The default value is 1:1.

igp_protocol
                Specifies the Interior Gateway
                Protocol (IGP) used by DUT. 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) that 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.

mpls_protocol
                Specifies the MPLS protocol to be used by DUT.  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. The default value is ldp. Possible values
                are described below::


                 none    Specifies that there is no MPLS protocol to be used
                         by DUT.

                 ldp     Indicates the Label Distribution Protocol(LDP).

                 rsvp    Indicates the resource reservation setup protocol
                         (RSVP).

bgp_bfd_enable
                Determines whether the Bidirectional Forwarding
                Detection (BFD) is enabled on BGP on DUT. Possible values are 0
                and 1. The default is 0.

mpls_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 option is only applicable when you specify
                mpls_protocol rsvp.

mpls_rsvp_bandwidth_per_tunnel
                RSVPTE Bandwidth rate, measured in bytes per second,
                for provider tunnels. Possible values range from 1 to
                2147483647. The default value is 0. This option is only
                applicable when you specify mpls_protocol rsvp.

mpls_rsvp_egress_label
                Specifies the label advertised if the emulated router is at
                the tailend of the tunnel. Possible values are
                next_available, implicit_null, and explicit_null. The default
                is next_available. This option is only applicable when you
                specify mpls_protocol rsvp. The values are described below::


                 next_available   Advertises the next available label.
                                  For each Forwarding Equivalence Class (FEC), the
                                  Label Switching Router (LSR) advertises the next
                                  available label from the label pool (Min Label
                                  to Max Label).

                 implicit_null   Advertises label 3, the implicit null label.
                                 This label value (three) is used in a RSVP packet
                                 to enable penultimate hop label popping. The
                                 egress LSR signals a request to its upstream
                                 neighbor to pop the top label in the stack and
                                 forward the rest of the packet. This value does
                                 not appear in the encapsulation.

                 explicit_null  Advertise label 9, the explicit null label.
                                A zero (IPv4 datagram) or two (IPv6 datagram) MPLS
                                label value indicates to the penultimate router
                                that it is to pop the label upon receipt and
                                forward the IP packet to the egress router for
                                Layer 3 forwarding. Explicit null instructions are
                                signaled to the penultimate router by the egress
                                router.

mpls_rsvp_transit
                Defines the reservation message sent when the
                emulated router is not the tailend router for PATH
                messages it receives. Possible values are accept_all and
                accept_configured. The default value is accept_configured.
                This option is only applicable when you specify
                mpls_protocol rsvp. Possible values are described below::


                 accept_all   The router sends a reservation message
                              with the next available label for every PATH
                              message received by the unique MAC/VLAN
                              combination on the port.

                 accept_configured   The router sends a reservation
                              message with the next available label in
                              response to PATH messages that match one
                              of its egress tunnels.

mpls_rsvp_min_label
                Defines the minimum label number used by the RSVP
                session. Possible values range from 1 to 65535. The
                default value is 16. This option is only applicable
                when you specify mpls_protocol rsvp.

mpls_rsvp_max_label
                Defines the maximum label number used by the RSVP
                session. Possible values range from 1 to 65535. The
                default value is 65535. This option is only applicable
                when you specify mpls_protocol rsvp.

mpls_rsvp_graceful_restart_enable
                Enables or disables the RSVP graceful restart. Possible
                values are 0 (disable) and 1 (enable). If it is set to 1, enables
                graceful restart which adds a RESTART_CAP object in HELLO
                messages. Enabling graceful restart will automatically enable
                HELLO messages. This option is only applicable when
                you specify mpls_protocol rsvp. The default value
                is 0.

mpls_rsvp_recover_time
                Specifies the length of time (in milliseconds) that the
                sender desires for the recipient to resynchronize RSVP and
                MPLS forwarding state with the sender after the re-
                establishment of Hello synchronization. Possible values are
                0 to 4294967295. A value of zero (0) indicates that MPLS
                forwarding state was not preserved across a particular
                reboot. The default value is 0. This option is applicable
                only when you enable the
                mpls_rsvp_graceful_restart_enable argument.

mpls_rsvp_restart_time
                Specifies the sum of the time, in milliseconds, it takes the
                sender of the object to restart its RSVP component (to the
                point where it can exchange RSVP HELLO with its
                neighbors) and the communication channel that is used for
                RSVP communication. Possible values are 0 to
                4294967295. The default is 3000. This option is applicable
                only when you enable the
                mpls_rsvp_graceful_restart_enable argument.

mpls_rsvp_bfd_enable
                Enables or disables the Bidirectional Forwarding Detection
                (BFD) on RSVP session. Possible values are 1 (enable) and
                0 (disable). When it is set to 1, Spirent HLTAPI creates a
                BFD session with IP addressing matching providerside
                routers. The default value is 0. To use this argument,
                you must specify mpls_protocol rsvp.

mpls_ldp_hello_type
                Specifies the type of Hello packet on LDP. This option is
                only applicable when you specify mpls_protocol ldp.
                Possible values are::


                 direct   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 only applicable
                when you specify mpls_protocol ldp.

mpls_ldp_transport_mode
                Specifies the mode of LDP Transport Address TLV.
                Possible values are::


                 none      Specifies that the Transport Address TLV will not be
                           included in LDP Hello messages.

                 tester_ip   Indicates that the LSR will take the emulated
                         router interface address as the transport address and
                         include the Transport Address TLV in LDP Hello
                         messages.

                 router_id   Indicates that the LSR will take the emulated
                        router ID, that is, the loopback address as the
                        transport address and include the Transport Address
                        TLV in LDP Hello messages.

                The default value is tester_ip. This option is
                only applicable when you specify mpls_protocol ldp.

mpls_ldp_hello_interval
                Specifies the amount of time, in seconds, between HELLO
                messages in LDP session. Possible values range from 1 to
                21845. The default value is 5. This option is
                only applicable when you specify mpls_protocol ldp.

mpls_ldp_keepalive_interval
                Specifies the amount of time, in seconds, between
                KEEPALIVE messages. Possible values range from 1 to
                21845. The default is 60. This option is
                only applicable when you specify mpls_protocol ldp.

mpls_ldp_egress_label
                Specifies the emulated label advised by the emulated peer.
                The default is next_available. This option is only applicable
                when you specify mpls_protocol ldp. Possible values are
                described below::


                 next_available   Advertises the next available label.
                     For each Forwarding Equivalence Class (FEC), the
                     Label Switching Router (LSR) advertises the next
                     available label from the label pool (Min Label to
                     Max Label).

                 implicit_null    Advertises label 3, the implicit null label.
                     This label value (three) is used on an LDP
                     packet to enable penultimate hop label popping. The
                     egress LSR signals a request to its upstream neighbor
                     to pop the top label in the stack and forward the rest
                     of the packet. This value does not appear in the
                     encapsulation.

                 explicit_null    Advertise label 9, the explicit null label.
                     A zero (IPv4 datagram) or two (IPv6 datagram)
                     MPLS label value indicates to the penultimate router
                     that it is to pop the label upon receipt and forward the
                     IP packet to the egress router for Layer 3 forwarding.
                     Explicit null instructions are signaled to the
                     penultimate router by the egress router.

mpls_ldp_min_label
                Defines the minimum label number used by the LDP
                session. Possible values range from 1 to 65535. The
                default value is 16. This option is only applicable
                when you specify mpls_protocol ldp.

mpls_ldp_graceful_restart_enable
                Enables or disables the LDP graceful restart. Possible
                values are 0 (disable) and 1 (enable). If it is set to 1, enables
                graceful restart which adds a
                RESTART_CAP object in HELLO messages.
                Enabling graceful restart will automatically enable
                HELLO messages. This option is only applicable when
                you specify mpls_protocol ldp. The default value
                is 0.

mpls_ldp_recover_time
                Specifies the length of time (in milliseconds) that the
                sender desires for the recipient to resynchronize LDP and
                MPLS forwarding state with the sender after the re-
                establishment of Hello synchronization. Possible values are
                0 to 4294967. A value of zero (0) indicates that MPLS
                forwarding state was not preserved across a particular
                reboot. The default value is 140. This option is applicable
                only when you enable the
                mpls_ldp_graceful_restart_enable argument.

mpls_ldp_reconnect_time
                Specifies the amount of time, in seconds, it takes Spirent
                HLTAPI to reconnect after a graceful restart. To use
                this option, you must also enable
                mpls_ldp_graceful_restart_enable and
                specify a value for the mpls_ldp_recover_time argument.
                Possible values are 0 to 4294967. The default is 60.

mpls_ldp_bfd_enable
                Enables or disables the Bidirectional Forwarding Detection
                (BFD) on LDP session. Possible values are 1 (enable) and
                0 (disable). When it is set to 1, Spirent HLTAPI creates a
                BFD session with IP addressing matching providerside
                routers. The default value is 0. To use this argument,
                you must specify mpls_protocol ldp.

igp_ospfv2_area_id
                Specifies the IP address indicating the customerside area to
                which the emulated router belongs. You must specify it in
                the IPv4 format. The default value is 0.0.0.0. To use this
                argument, you must specify igp_protocol ospf.

igp_ospfv2_network_type
                Specifies the type of network link. Possible values are::


                 native  Specifies the interface on OSPF session uses the
                         adjacency implied by the porttype. Use this setting
                         to override the physical link type to emulate a
                         broadcast adjacency over POS, or a pointto-point
                         adjacency over Ethernet.

                 broadcast   Ethernet links use a Broadcast adjacency.

                 p2p   POS links use a P2P (pointto-point) adjacency.

                The default value is native. To use this argument, you must
                specify igp_protocol ospf.

igp_ospfv2_router_priority
                Specifies the router priority of the emulated router. Set the
                router priority to a higher or lower value to influence the
                designated router (DR) and backup designated router
                (BDR) selection process. Possible values range from 0
                to 255. The default is 0. To use this argument, you must
                specify igp_protocol ospf.

igp_ospfv2_interface_cost
                Indicates the cost of the interface connecting the emulated
                router to the neighbor DUT router. Possible values range
                from 1 to 65535. The default is 1. To use this argument, you
                must specify igp_protocol ospf.

igp_ospfv2_options
                A bit mask that specifies the settings of the Options field
                in Hello packets sent to the DUT. The Options field
                describes the optional OSPF capabilities of the router.
                Section A.2 in RFC 2328 describes the Options field for
                OSPFv2. Only OSPFv2 is involved in MVPN, so not all the
                values for v3 of this switch are available in this
                command. To use this argument, you must
                specify igp_protocol ospf.
                Use hexadecimal for this value. The default for OSPFv2 is
                0x02, which sets the Ebit (binary 00000010). The values
                are described below::


                 TOS: 0x01: bit of "Type Of Service". This bit is not
                          available in this command.
                 E: 0x02:  External Routing: This bit specifies the way
                          ASexternal-LSAs are flooded. When this bit is
                          set, the area type is external_capable; when this
                          bit is cleared, the area type is stub.
                 MC: 0x04: Multicast: This bit specifies whether IP
                         multicast datagrams are forwarded.
                 NP: 0x08: This bit specifies the handling of Type-7
                          LSAs.
                 EA: 0x10: External Attribute: This bit specifies the
                          router's willingness to receive and forward
                          ExternalAttributes-LSAs.
                 R: 0x10:  This bit indicates if the originator is an active
                          router.
                 DC: 0x20: Demand Circuit: This bit specifies the router's
                          handling of demand circuits.
                 O: 0x40:  Opaque: This bit specifies the router's
                          willingness to receive and forward Opaque
                          LSAs.

igp_ospfv2_authentication_mode
                Specifies the type of authentication to be used. To use this
                argument, you must specify igp_protocol ospf.
                Possible values are::


                 none   Indicates that no attributes have been set (no
                        authentication).

                 simple   Indicates the simple authentication will be used.
                       The packet is authenticated by the receiving router if
                       the password matches the authentication key that is
                       included in the packet. This method provides little
                       security because the authentication key can be
                       learned by capturing packets.

                 md5   Use the MD5 key ID for authentication.
                       The packet contains a cryptographic checksum, but
                       not the authentication key itself. The receiving router
                       performs a calculation based on the MD5 algorithm
                       and an authentication key ID. The packet is
                       authenticated if the calculated checksum matches.
                       This method provides a stronger assurance that
                       routing data originated from a router with a valid
                       authentication key.

                The default value is none.

igp_ospfv2_authentication_password
                Indicates the password used in OSPFv2 authentication. Use this
                argument only if igp_ospfv2_authentication_mode is set to simple
                or md5. When you specify igp_ospfv2_authentication_mode
                simple, the value of this argument should be of 1-8
                alphanumeric characters. When you specify
                igp_ospfv2_authentication_mode md5, the value of this
                argument should be of 1-16 alphanumeric characters.
                The default value is "spirent".

igp_ospfv2_authentication_md5_key
                Specifies the MD5 key used in OSPFv2 authentication.
                Possible values range from 0 to 255. The default is 1.
                Use this argument only if the
                igp_ospfv2_authentication_mode option is set to md5.

igp_ospfv2_graceful_restart_enable
                Enables or disables the ospfv2 graceful restart. Possible
                values are 0 (disable) and 1 (enable). If it is set to 1, enables
                graceful restart which adds a RESTART_CAP object in HELLO
                messages. Enabling graceful restart will automatically enable
                HELLO messages. This option is only applicable when
                you specify igp_protocol ospf. The default value
                is 0.

igp_ospfv2_graceful_restart_type
                Specifies the type of graceful restart to be used by ospfv2
                session. Possible values are::


                 none           Indicates there is no graceful restart.

                 rfc_standard   Defines that the graceful restart follows RFC
                                3623.

                 ll_signalling   Indicates the LinkLayer Signaling.

                The default value is none. Use this argument
                only if igp_ospfv2_graceful_restart_enable is enabled.

igp_ospfv2_bfd_enable
                Enables or disables BFD on the OSPF interface on the DUT.
                Possible values are 1 (enable) and 0 (disable). The default
                value is 0. This argument is applicable only when
                igp_protocol is set to ospf.

igp_isis_level
                Specifies the ISIS level used in the customer side. It
                defines the type of adjacency Spirent HLTAPI establishes
                with the DUT. The default value is level2. Use this
                argument only if the igp_protocol is set to isis. Possible
                values are described below::


                 level1   Specifies that Spirent HLTAPI will establish
                          adjacency on Level 1 (intraarea).

                 level2   Specifies that Spirent HLTAPI will establish
                          adjacency on Level 2 (inter area).

                 level1_and_2   Specifies that Spirent HLTAPI will
                           establish adjacency on both Level 1 and Level 2.

igp_isis_network_type
                Specifies the ISIS network type at the customer side.
                Possible values are::


                 broadcast     Indicates that the network is a broadcast
                               network, as in an Ethernet connection.
                               This is the default.

                 ptop          Pointto-point (PTOP). A network formed by a
                               pointto-point link between two routers.

                The default value is broadcast. Use this argument only if
                the igp_protocol is set to isis.

igp_isis_router_priority
                Sets the priority for the emulated ISIS router. ISIS routers
                use the priority to elect the designated and backup
                designated routers. The default is 0. Possible
                values are 0 to 127. Use this argument only if the
                igp_protocol is set to isis.

igp_isis_area1
                Specifies the `Mandatory` area address. You must specify at
                least one address. Spirent HLTAPI supports up to three
                addresses per emulated router. Use this argument only if the
                igp_protocol is set to isis.

igp_isis_area2
                Specifies the optional area address. Use this argument only
                if the igp_protocol is set to isis. The default is "".

igp_isis_area3
                Specifies the optional area address. Use this argument only
                if the igp_protocol is set to isis. The default is "".

igp_isis_circuit_id
                Specifies the circuit ID for the ISIS session. Possible
                values range from 0 to 255. The default value is 1. Use this
                argument only when the igp_protocol is set to isis.

igp_isis_authentication_mode
                Specifies the type of authentication to be used. To use this
                argument, you must specify igp_protocol isis.
                Possible values are:

                none
                       Indicates that no attributes have been set (no
                       authentication).

                simple
                       Indicates that simple authentication will be used.

                md5
                       Use the MD5 key ID for authentication.

                The default value is none.


igp_isis_authentication_password
                Indicates the password used in ISIS authentication. Use this
                argument only if igp_isis_authentication_mode is set to simple
                or md5. When you specify igp_isis_authentication_mode
                simple, the value of this argument should be of 1-8
                alphanumeric characters. When you specify
                igp_isis_authentication_mode md5, the value of this
                argument should be of 1-16 alphanumeric characters.
                The default value is "spirent".

igp_isis_authentication_md5_key
                Specifies the MD5 key used in ISIS authentication.
                Possible values range from 0 to 255. The default is 1.
                Use this argument only when the
                igp_isis_authentication_mode option is set to md5.

igp_isis_metric_mode
                Specifies the length of the metric field in the Link State
                Path (LSP) packet. To use this argument, you must specify
                igp_protocol isis. The default value is narrow_and_wide.
                Possible values are described below::


                 narrow   Router advertises routes with a narrow (6bit)
                          metric.

                 wide     Router advertises routes with a wide (24- or 32bit)
                          metric (required for ISIS TE).

                 narrow_and_wide   Router advertises the same route with
                                   both metrics.

igp_isis_l1_metric
                Metric of the emulated router interface. It is advertised in
                the Level 1 IS Neighbors metric TLV and is used for Level 1
                LSPs. It is blank and disabled if igp_isis_level is set to
                level2 or if igp_isis_metric_mode is set to wide. Use this
                argument only when you specify igp_protocol isis. Possible
                values range from 1 to 63. The default is 1.

igp_isis_l1_wide_metric
                Indicates the threeoctet metric of a link from the emulated
                router to the DUT. It is advertised in the Extended IS
                Reachability TLV of the L1 LSP originated by the emulated
                router. It is blank and disabled if igp_isis_level is set to
                level2 or if igp_isis_metric_mode is set to narrow. Possible
                values range from 0 to 16777215. The default is 1.

igp_isis_l2_metric
                Metric of the emulated router interface. It is advertised in
                the Level 2 IS Neighbors metric TLV and is used for Level
                2 LSPs. It is blank and disabled if igp_isis_level is set to
                level1 or if igp_isis_metric_mode is set to wide. Use this
                argument only when you specify igp_protocol isis.
                Possible values range from 1 to 63. The default is 1.

igp_isis_l2_wide_metric
                Indicates the threeoctet metric of a link from the emulated
                router to the DUT. It is advertised in the Extended IS
                Reachability TLV of the L2 LSP originated by the emulated
                router. It is blank and disabled if igp_isis_level is set to
                level1 or if igp_isis_metric_mode is set to narrow. Possible
                values range from 0 to 16777215. The default is 1.

igp_isis_graceful_restart_enable
                Enables or disables the ISIS graceful restart. Possible
                values are 0 (disable) and 1 (enable). If it is set to 1, enables
                graceful restart which adds a
                RESTART_CAP object in HELLO messages.
                Enabling graceful restart will automatically enable
                HELLO messages. This option is only applicable when
                you specify igp_protocol isis. The default value
                is 0.

igp_isis_hello_padding
                Enables or disables hello padding. When you enable this
                option, Spirent HLTAPI pads all Hello packets to the ISO
                standard sized Protocol Data Unit (PDU). When you
                disable this option, Spirent HLTAPI pads the initial Hello
                packet and use a smaller PDU for subsequent Hello
                packets. This option is only applicable when you specify
                igp_protocol isis. Possible values are 1 (enable) and 0
                (disable). The default is 1.

igp_isis_bfd_enable
                Enables or disables the Bidirectional Forwarding Detection
                (BFD) on ISIS session. Possible values are 1 (enable) and
                0 (disable). When it is set to 1, Spirent HLTAPI creates a
                BFD session with IP addressing matching providerside
                routers. The default value is 0. To use this argument,
                you must specify igp_protocol isis.

p_router_enable
                Enables or disables the emulation of provider routers in the
                test. When it is set to 0, only provider edge routers will be
                emulated or simulated. Possible values are 1 and 0. The
                default is 1.

p_router_number_per_sub_interface
                The number of provider routers per providerside
                subinterface. Only 1 emulated provider router (P router) is
                created per subinterface. If this number is greater than 1,
                the additional P routers are simulated through the IGP
                protocol routes. The topology for the additional P routers is
                determined by the p_router_topology_type option. Possible
                values range from 1 to 65535. The default is 1. Use this
                argument only when p_router_enable is enabled.

p_router_topology_type
                Defines the topology of the provider network. Possible
                values are tree and grid. The default value is tree. Use this
                argument only when p_router_enable is enabled.

p_router_loopback_ipv4_addr
                Defines the first loopback address of emulated P routers.
                The value of this option should be in IPv4 format. The
                default value is 192.0.1.1. Use this argument only when
                p_router_enable is enabled.

p_router_loopback_ipv4_addr_step
                Indicates the step applied to the loopback addresses for the
                emulated P routers. The value of this option should be in
                IPv4 format. The default is 0.0.1.0. Use this argument
                only when p_router_enable is enabled.

p_router_interface_ipv4_addr
                Specifies the starting IPv4 interface address of the
                emulated P routers. The default is 1.0.0.1. Use this argument
                only when p_router_enable is enabled.

p_router_interface_ipv4_addr_prefix_length
                Specifies the IP prefix length on the simulated P router IPv4
                interfaces. Possible values range from 0 to 32. The default
                is 24. Use this argument only when p_router_enable is enabled.

pe_router_number_per_sub_interface
                Defines the number of provideredge (PE) routers created
                on each providerside sub-interface. Possible values range
                from 1 to 65535. The default is 1. Use this argument
                only when p_router_enable is enabled.

pe_router_loopback_ipv4_addr
                Specifies the starting providerside PE router IPv4 address.
                The default is 10.0.0.2. Use this argument only when
                p_router_enable is enabled.

pe_router_loopback_ipv4_addr_step
                Defines the step size by which the providerside PE router
                is incremented. The default is 0.0.0.1. Use this argument
                only when p_router_enable is enabled.

bgp_route_reflector_enable
                Enables the usage of core side route reflectors. When this
                attribute is enabled, Spirent HLTAPI emulates a BGP
                route reflector on one (or more) of the generated P routers.
                The DUT should be set up to peer with the route reflector
                instead of the PE routers (which Spirent HLTAPI
                simulates through advertised routes). Possible values are 1
                (enable) and 0 (disable). The default is 0.

bgp_route_reflector_per_sub_interface
                Specifies the number of route reflectors per providerside
                subinterface. Possible values are 1 to 65535. The default is
                1. You can use this argument only when
                bgp_route_reflector_enable is enabled.

bgp_route_reflector_per_pe
                Specifies the number of route reflectors per provider edge
                router. Possible values are 1 to 65535. The default is
                1. You can use this argument only when
                bgp_route_reflector_enable is enabled.


bgp_route_reflector_loopback_ipv4_addr
                Specifies the starting loopback IPv4 address of the route
                reflectors. The default is 7.7.7.7. You can use this argument
                only when bgp_route_reflector_enable is enabled.

bgp_route_reflector_loopback_ipv4_addr_step
                The amount by which to increment providerside route
                reflector loopback IP address
                (bgp_route_reflector_loopback_ipv4_addr) for each
                subsequent route reflector. The default value is 0.0.0.1. You
                can use this argument only when
                bgp_route_reflector_enable is enabled.

bgp_route_reflector_cluster_id
                Specifies the starting cluster ID of the route reflectors. A
                router reflector cluster normally has a single route reflector.
                To avoid a single point of failure, you can configure a
                cluster with more than one route reflector. If
                more than one route reflector is configured for a cluster, all
                the route reflectors in the cluster must be configured with a
                cluster ID. This ID enables route reflectors to recognize
                route updates from route reflectors in the same cluster. The
                default value is 0.0.0.0. The value of this option should be
                in IPv4 format. You can use this argument only
                when bgp_route_reflector_enable is enabled.

bgp_route_reflector_cluster_id_step
                The amount by which to increment cluster ID
                (bgp_route_reflector_cluster_id) for each
                subsequent route reflector. The default value is 0.0.0.1.
                You can use this argument only
                when bgp_route_reflector_enable is enabled.

vrf_number
                Specifies the number of VPN Routing and
                Forwarding tables (VRFs) to be configured. VPN Routing
                and Forwarding table, on the PE router, that is configured
                for a particular interface or subinterface. The table
                includes the routing information that defines a customer
                VPN site attached to a PE router. Possible values range
                from 1 to 65535. The default is 1.

vrf_rd_assignment
                Specifies the route distinguisher assignment mode.
                Possible values are::


                 use_rt   Uses the Route Target field for all Route
                          Distinguishers in the VPN.

                 manual   Manually configures Route Distinguishers by
                         setting customer or provider RD start, step per VPN,
                         step per CE.

                The default value is use_rt.

vrf_route_target_start
                Specifies the starting route target for the VPN. The Route
                Target identifies a set of sites to which a PE router
                distributes routes. The format should be
                "ASNumber:value" or "IPv4-Address:value". The default
                value is 1:00.

vrf_route_target_step
                Specifies the step size in which the route target is
                incremented. The format should be
                "ASNumber:value" or "IPv4-Address:value". The default
                value is 1:00.

customer_ce_vrf_assignment
                Determines how VRFs are assigned to customer side
                Customer Edge routers (CE). Possible values are::


                 round_robin   The first CE that is created is assigned to the
                         first VRF. The second CE that is created is assigned
                         to the second VRF, and so forth. When the specified
                         number of VRFs is reached, the VRF assignment
                         repeats from the first VRF.

                 sequential   CEs that are created are assigned to the first
                          VRF until the calculated number of CEs per VRF is
                          reached. Additional CEs are assigned to the second
                          and subsequent VRFs in the same fashion.

customer_ce_bgp_as
                Specifies the starting number of BGP AS on customer side.
                Possible values range from 1 to 65535. The default is 1.

customer_ce_bgp_as_step_per_ce_enable
                Enables or disables the step value for AS numbers across CE
                routers on customer side. Possible values are 0 and 1. The
                default is 0. You can use this argument when
                customer_ce_routing_protocol is set to bgp or mixed.

customer_ce_bgp_as_step_per_ce
                Indicates the step value for AS numbers across CE routers
                on customer side. Possible values range from 0 to 65535.
                The default is 1. Use this argument only when
                customer_ce_bgp_as_step_per_ce_enable is enabled.

customer_ce_bgp_as_step_per_vrf_enable
                Enables or disables the step value for CE AS numbers across VPNs.
                Possible values are 1 (enable) and 0 (disable). The default is 1.
                You can use this argument when customer_ce_routing_protocol is
                set to bgp or mixed.

customer_ce_bgp_as_step_per_vrf
                Specifies the step value for AS numbers across VPNs.
                Possible value range from 0 to 65535. The default is 1. Use
                this option only when
                customer_ce_bgp_as_step_per_vrf_enable is enabled.

customer_ce_bgp_4byte_as_enable
                Enables or disables 4byte AS numbers on customer side.
                Possible values are 1 (enable) and 0 (disable). When it is set
                to 1, you can specify 4byte AS numbers. The default value
                is 0. You can use this argument when
                customer_ce_routing_protocol is set to bgp or mixed.

customer_ce_bgp_4byte_as
                Specifies the starting CE 4byte AS number on customer
                side. The default value is 1:01. You can specify this
                argument only when the
                customer_ce_bgp_4byte_as_enable option is enabled.

customer_ce_bgp_4byte_as_step_per_ce_enable
                Enables or disables step value for CE 4byte AS numbers
                across CE routers. Possible values are 1 (enable) and 0
                (disable). If it is set to 1, you can specify the step value for
                CE 4byte AS numbers across CE routers. The default is 0. You can
                use this argument when customer_ce_routing_protocol is set to
                bgp or mixed and customer_ce_bgp_4byte_as_enable is enabled.

customer_ce_bgp_4byte_as_step_per_ce
                Specifies the step value for CE 4byte AS numbers
                across CE routers. Possible values range from 0 to 65535. The
                default value is 1. Use this option only when the
                customer_ce_bgp_4byte_as_step_per_ce_enable option is enabled.

customer_ce_bgp_4byte_as_step_per_vrf_enable
                Enables or disables step value for CE 4byte AS numbers
                across VPNs. Possible values are 1 (enable) and 0
                (disable). If it is set to 1, you can specify the step value for
                CE 4byte AS numbers across VPNs. The default is 1. You can use
                this argument when customer_ce_routing_protocol is set to bgp or
                mixed and customer_ce_bgp_4byte_as_enable is enabled.

customer_ce_bgp_4byte_as_step_per_vrf
                Specifies the step value for CE 4byte AS numbers
                across VPNs. Possible values range from 0 to 65535.
                The default value is 1. Use this option only when the
                customer_ce_bgp_4byte_as_step_per_vrf_enable option is
                enabled.

customer_ce_routing_protocol
                Defines the interior gateway routing protocol used by CEs on the
                customer side. Possible values are bgp, ospf, rip, isis,
                static_route, and mixed. The default value is bgp.
                Possible values are described below::


                 bgp    Border Gateway Protocol (BGP).

                 ospf   Open Shortest Path First (OSPF) protocol.

                 rip    Routing Information Protocol (RIP).

                 isis   Intermediate System to Intermediate System (ISIS)

                 static_route   Indicates routes through a data network are
                            routes are described by fixed paths (statically).
                            These usually entered into the router by the system
                            administrator.

                 mixed     Indicates the route between DUT and CE routes are
                           described by fixed paths (statically). If it is
                           set to mixed, you can specify customer_ce_bgp_percent,
                           customer_ce_rip_percent,
                           customer_ce_ospf_percent, and
                           customer_ce_isis_percent. The options above are
                           used to indicate the percentage of routes to be
                           advertised over the protocols to be used.

customer_ce_bgp_percent
                Specifies the percentage of customer side CEs using BGP. This
                attribute is only applicable when the
                customer_ce_routing_protocol attribute is set to mixed. Possible
                values range from 0 to 100. The default value is 0.

customer_ce_rip_percent
                Specifies the percentage of customer side CEs using RIP. This
                attribute is only applicable when the
                customer_ce_routing_protocol attribute is set to mixed. Possible
                values range from 0 to 100. The default value is 0.

customer_ce_ospf_percent
                Specifies the percentage of customer side CEs using
                OSPFv2. This attribute is only applicable when the
                customer_ce_routing_protocol attribute is set to mixed. Possible
                values range from 0 to 100. The default value is 0.

customer_ce_isis_percent
                Specifies the percentage of customer side CEs using ISIS.
                This attribute is only applicable when the
                customer_ce_routing_protocol attribute is set to mixed.
                Possible values range from 0 to 100. The default value is 0.

customer_ce_static_route_percent
                Specifies the percentage of customer side CEs using static
                routes. This attribute is only applicable when the
                customer_ce_routing_protocol attribute is set to mixed.
                Possible values range from 0 to 100. The default value is 0.

customer_rd_start
                Indicates the starting Route Distinguisher for the VPN route
                on customer side. An 8byte value that is concatenated with
                an IPv4 prefix to create a unique VPN IPv4 prefix.
                There are two types that you can use::


                 Type 0   The administrator subfield is a 2-byte AS number
                        and the assigned subfield is a 4-byte number
                        assigned by the service provider. The format will be::

                        n:n, which indicates "administrator:assigned".

                 Type 1  The administrator subfield is a 4-byte IPv4
                         address and assigned subfield is a 2-byte number
                         assigned by the service provider. The format will be
                         n.n.n.n:n, which indicates "administrator:assigned".

                The default value is 1:00.

customer_rd_step_per_vrf_enable
                Enables or disables the route distinguisher step across VPNs
                on customer side. Possible values are 1 (enable) and 0 (disable).
                When it is set to 1, you can specify the
                customer_rd_step_per_vrf argument. The default is 1. Use this
                argument only when the vrf_rd_assignment argument is set to
                manual.

customer_rd_step_per_vrf
                Specifies the step size in which the route distinguisher
                across VPNs is incremented. The administrator field of the
                step value is added to the administrator field of the starting
                route distinguisher and the assigned field of the step value is
                added to the assigned field of the starting route distinguisher.
                The type of the route distinguishers do not have to match,
                although it is desirable for ease of administration. The default
                value is 1:00. Use this argument only when
                customer_rd_step_per_vrf_enable is enabled.

customer_rd_step_per_ce_enable
                Enables or disables the route distinguisher step across CE routers
                on the customer side. Possible values are 1 (enable) and 0
                (disable). When it is set to 1, you can specify
                the customer_rd_step_per_ce argument. The default is 0.
                Use this argument only when the vrf_rd_assignment
                argument is set to manual.

customer_rd_step_per_ce
                Specifies the step value for additional route distinguishers for
                each CE router. The administrator field of the step value is
                added to the administrator field of the starting route
                distinguisher and the assigned field of the step value is added
                to the assigned field of the starting route distinguisher. The
                type of the route distinguishers do not have to match, although
                it is desirable for ease of administration. The default value is
                0:00. Use this argument only when customer_rd_step_per_ce_enable
                is enabled.

provider_pe_vrf_assignment
                Indicates how VPNs are assigned to Provider Edge routers
                (PEs). Possible values are::


                 vpn_per_pe   Indicates VPNs will be distributed across a
                              set of PEs.

                 pe_per_vpn   Indicates PEs will be distributed across a set
                              of VPNs.

                The default value is vpn_per_pe.

provider_pe_vrf_count
                Specifies the number of items (VPNs or PEs) assigned to each
                target (VPN or PE). When the provider_pe_vrf_assignment argument
                is set to vpn_per_pe, this argument indicates the number of VPNs
                assigned to each PE and possible values range from 1 to the
                number of VPNs. When the provider_pe_vrf_assignment argument is
                set to pe_per_vpn, this argument indicates the number of PEs
                assigned to each VPN and possible values range from 1 to the
                number of PEs. The default is 1.

                If this number is less than the maximum number of items, and if
                there is more than one target, the specified number of items is
                assigned in roundrobin fashion to each target.
                Use this argument only when provider_pe_vrf_all_assign
                is set to 0.

provider_pe_vrf_all_assign
                Determines whether each PE uses all VPNs.
                Possible values are 1 (enable) and 0 (disable). If it is set to
                0, you can manually set the number of VPNs for each PE
                will advertise routes for. The default value is 0.

provider_ce_bgp_as_enable
                Enables or disables the BGP AS number of the CEs on the provider
                side. Possible values are 1 (enable) and 0 (disable). When it is
                set to 1, you can use CE BGP AS related options. The default
                value is 0.

provider_ce_bgp_as
                Indicates the starting BGP AS number on customer side.
                Possible values range from 1 to 65535. The default value is 1.
                Use this argument only when you enable the
                provider_ce_bgp_as_enable argument.

provider_ce_bgp_as_step_per_ce_enable
                Enables or disables the step value for additional CE BGP
                AS number across CEs on the provider side. Possible values are 1
                (enable) and 0 (disable). The default is 0.

provider_ce_bgp_as_step_per_ce
                Defines the step value for the additional CE BGP AS
                number across CEs on the provider side. Possible values range
                from 1 to 65535. The default value is 1. This argument is only
                applicable when the provider_ce_bgp_as_step_per_ce_enable option
                is enabled.

provider_ce_bgp_as_step_per_vrf_enable
                Enables or disables the step value for additional CE BGP AS
                number across VPNs. Possible values are 1 (enable) and 0
                (disable). The default is 1.

provider_ce_bgp_as_step_per_vrf
                Defines the step value for the additional CE BGP AS number across
                VPNs. Possible values range from 1 to 65535. The default value is
                1. This argument is only applicable when the
                provider_ce_bgp_as_step_per_vrf_enable option is enabled.

provider_ce_bgp_4byte_as_enable
                Enables or disables the 4byte AS numbers on the provider side.
                Possible values are 1 (enable) and 0 (disable). The default value
                is 0.

provider_ce_bgp_4byte_as
                Defines the first 4byte AS number of CEs on the provider side.
                The default value is 1:01. Use this argument only when the
                provider_ce_bgp_4byte_as_enable attribute is enabled.

provider_ce_bgp_4byte_as_step_per_ce_enable
                Enables or disables the 4byte AS step value for additional CE
                BGP ASs across CEs on the provider side. Possible values are 1
                (enable) and 0 (disable). The default is 0.

provider_ce_bgp_4byte_as_step_per_ce
                Specifies the 4byte AS step value for the additional CE ASs
                across CEs on the provider side. Possible values range from 1 to
                65535. The default value is 1. This argument is applicable only
                when provider_ce_bgp_4byte_as_step_per_ce_enable is enabled.

provider_ce_bgp_4byte_as_step_per_vrf_enable
                Enables or disables the CE BGP 4byte AS step per VPN on the
                provider side. Possible values are 1 (enable) and 0 (disable).
                When it is set to 1, you can specify the
                provider_ce_bgp_4byte_as_step_per_vrf attribute. The default
                value is 1.

provider_ce_bgp_4byte_as_step_per_vrf
                Indicates the step value for the additional CE 4byte AS numbers
                across VPNs on the provider side. Possible values range from 1 to
                65535. The default value is 1.


provider_rd_start
                Indicates the starting Route Distinguisher for the VPN route on
                the provider side. An 8byte value that is concatenated with an
                IPv4 prefix to create a unique VPN IPv4 prefix.
                There are two types that you can use::


                 Type 0   The administrator subfield is a 2-byte AS number
                         and the assigned subfield is a 4-byte number
                         assigned by the service provider. The format will be::

                         n:n, which indicates "administrator:assigned".

                 Type 1   The administrator subfield is a 4-byte IPv4
                         address and assigned subfield is a 2-byte number
                         assigned by the service provider. The format will be
                         n.n.n.n:n, which indicates "administrator:assigned".

                The default value is 1:00.

provider_rd_step_per_vrf_enable
                Enables or disables the step value for additional route
                distinguishers in each VRF on the provider side. The
                administrator field of value is added to the administrator field
                of the starting route distinguisher, and the assigned field of
                the step value is added to the assigned field of the starting
                route distinguisher. The type of the route distinguishers do not
                have to match, although it is desirable for ease of
                administration. Possible values are 1 (enable) and 0 (disable).
                The default is 1. This argument is applicable only when the
                vrf_rd_assignment argument is set to manual.

provider_rd_step_per_vrf
                Specifies the step value for the providerside additional route
                distinguisher across VPNs. The default value is 1:00. Use this
                argument only when provider_rd_step_per_vrf_enable is enabled.


provider_rd_step_per_ce_enable
                Enables or disables the step value for the additional
                providerside route distinguisher across CEs. Possible values are
                0 and 1. When it is set to 1, you can specify the step value for
                the additional providerside route distinguisher across CEs. The
                default value is 0.

provider_rd_step_per_ce
                Specifies the step value for the additional
                providerside route distinguisher across CEs. The default
                value is 1:00. Use this argument only when
                provider_rd_step_per_ce_enable is enabled.

multicast_default_mdt_addr
                Specifies the IP address of the first default multicast
                distribution tree (MDT) for multicast traffic. MDT provides the
                information needed to interconnect the same MVRFs that exist on
                the different PE routers. MVPN supports two MDT types: the
                default MDT and data MDT. The default MDT is a permanent channel
                for Protocol Independent Multicast (PIM) control messages and
                lowbandwidth streams between all PE routers in a particular
                multicast domain. The values of this argument should be in IPv4
                format. The default value is 239.1.1.1.

multicast_default_mdt_increment
                Defines the increment used to generate default MDT addresses for
                multicast traffic. The default value is 0.0.0.1.

multicast_data_mdt_enable
                Enables or disables the data MDT address for multicast
                traffic. Data MDTs are optional. If enabled, they are
                dynamically created to provide optimal paths for
                highbandwidth transmissions, such as full-motion video,
                that do not need to be sent to every PE router. Possible
                values are 1 (enable) and 0 (disable). The default value is 0.

multicast_data_mdt_addr
                Specifies the IP address of the first MDT for multicast traffic.
                The value of this argument must be in IPv4 format. The default
                value is 230.1.1.2. Use this argument only when
                multicast_data_mdt_enable is enabled.

multicast_data_mdt_increment
                Defines the increment used to generate data MDT addresses for
                multicast traffic. The default value is 0.0.0.1. Use this
                argument only when multicast_data_mdt_enable is enabled.

multicast_receiver_have_same_group
                Enables or disables that all receivers are subscribed to all
                groups. Possible values are 1 (enable) and 0 (disable). When it
                is set to 1, you can subscribe all the receivers to all groups,
                which allows the receivers to receive the PIM control messages
                and multicast traffic that are sent by other receivers. The
                default value is 1.

multicast_group_count
                Defines the number of multicast groups. Possible values
                range from 1 to 65535. The default value is 1.

multicast_group_addr_start
                Defines the starting multicast group address. The value of
                this argument must be in IPv4 format. The default value is
                225.0.0.1.

multicast_group_addr_increment
                Defines the increment used to generate multicast group addresses.
                The value of this argument must be in IPv4 format. The default
                value is 0.0.0.1.

multicast_group_increment_per_interface
                Enables or disables the increment used to generate
                multicast group addresses across interfaces (ports or
                VLANs). Possible values are 1 (enable) and 0 (disable).
                The default value is 0. This argument is only applicable
                only when the multicast_receiver_have_same_group
                argument is disabled.

multicast_group_addr_increment_per_vlan
                Specifies increment used to generate multicast group
                addresses across VLANs. This argument is applicable
                only when multicast_group_increment_per_interface is
                enabled. The default value is 0.0.1.0. The value of this
                argument must be in IPv4 format.

multicast_group_addr_increment_per_port
                Specifies increment used to generate multicast group addresses
                across ports. This argument is applicable only when
                multicast_group_increment_per_interface is enabled. The default
                value is 0.0.1.0. The value of this argument must be in IPv4
                format.

multicast_multiple_sender_enable
                Enables or disables multiple multicast senders. Possible values
                are 1 (enable) and 0 (disable). When it is set to 0, Spirent
                HLTAPI creates a single source (a host). When it is set to 0,
                Spirent HLTAPI creates multicast sources (a host block), and you
                can determine the number of hosts in the host block by specifying
                the multicast_multiple_sender_count argument. The default value
                is 0.

multicast_multiple_sender_count
                Defines the number of multiple multicast senders. Possible
                values range from 1 to 65535. The default value is 1.This
                argument is applicable only when the
                multicast_multiple_sender_enable argument is enabled.

multicast_provider_pim_protocol
                Specifies the PIM protocol to be used on provider side. Possible
                values are::


                 pim_sm   All three group types are supported: (S,G), (*,G),
                          and (*,*,RP).

                 pim_ssm   Join/Prune messages are only sent for (S, G)
                           groups. (*,*,RP) or (*,G) groups cannot be added.

                The default value is pim_sm.

multicast_provider_bsr_enable
                Enables or disables Bootstrap messages on multicast provider
                side. Possible values are 1 (enable) and 0 (disable). The default
                value is 0. When it is set to 1, PIM routers enabled for
                bootstrap routing functionality that generates Bootstrap messages
                periodically. This argument is only applicable when you specify
                multicast_provider_pim_protocol pim_sm.

multicast_provider_rp_addr
                Specifies the IP address of the providerside Rendezvous Point (RP)
                router, a PIM CSM router configured as the root of a multicast
                distribution tree. Required for (*,G) and (*,*,RP) groups. The
                value of this argument must be in IPv4 format. The default value
                is 192.0.2.0. This argument is only applicable when you specify
                multicast_provider_pim_protocol pim_sm.

multicast_customer_pim_protocol
                Specifies the PIM protocol to be used on customer side.
                Possible values are::


                 pim_sm   All three group types are supported: (S,G), (*,G),
                          and (*,*,RP).

                 pim_ssm   Join/Prune messages are only sent for (S, G)
                            groups. (*,*,RP) or (*,G) groups cannot be added.

                The default value is pim_sm.

multicast_customer_bsr_enable
                Enables or disables Bootstrap messages on multicast customer
                side. Possible values are 1 (enable) and 0 (disable). The default
                value is 0. When it is set to 1, PIM routers enabled for
                bootstrap routing functionality that generates Bootstrap messages
                periodically. This argument is applicable only when
                multicast_customer_pim_protocol is set to pim_sm.

multicast_customer_rp_addr
                Specifies the IP address of the customerside Rendezvous Point
                (RP) router, a PIM CSM router configured as the root of a
                multicast distribution tree. Required for (*,G) and (*,*,RP)
                groups. The value of this argument must be in IPv4 format. The
                default value is 192.0.2.0. This argument is applicable only when
                multicast_customer_pim_protocol is set to pim_sm.

multicast_customer_rp_increment
                Specifies the increment value used to generate RP addresses on
                the customer side. The value of this argument must be in IPv4
                format. The default value is 0.0.0.1. This argument is applicable
                only when multicast_customer_pim_protocol is set to pim_sm.

customer_route_type
                Specifies the type of the route advertised by emulated CEs on
                customer side. Possible values are::


                 internal   Indicates that the route and the CE that advertises
                            the route are in the same AS.

                 external    Indicates that the route and the CE that advertises
                             the route are not in the same AS.

                The default value is internal. This argument is applicable only when
                the customer_ce_routing_protocol option includes OSPF and IS-IS.

customer_route_count_per_ce
                Specifies the number of routers to be added to each CE on
                customer side. Possible values range from 1 to
                2147483647. The default is 1.

customer_route_start
                Indicates the first route advertised by emulated CE routers on
                customer side. Each subsequent route is incremented by the values
                specified by the customer_route_step argument and the
                customer_route_prefix_length argument. The default value is
                10.1.1.0. The value of this argument must be in IPv4 format.

customer_route_step
                Specifies the step size in which the route address on customer
                side is incremented. The value of this argument is IPv4 format.
                The default value is 0.0.1.0.

customer_route_prefix_length
                Specifies the prefix length of route addresses on customer side.
                Possible values range from 1 to 32. The default value is 24.

customer_route_overlap
                Enables or disables route overlap on customer side. Possible
                values are 1 (enable) and 0 (disable). When it is set to 1, all
                VPNs advertise the same routes. For example, a CE in VPN1
                advertises Route0 and Route1, and a CE in VPN2 also advertises
                Route0 and Route1. When it is set to 0, each VPN advertises
                unique routes. For example, a CE in VPN1 advertises Route0 and
                Route1, and a CE in VPN 2 advertises Route2 and Route3. The
                default value is 0.

provider_route_count_per_ce
                Specifies the number of simulated CE routes that appear to
                be connected behind the PE. Possible values range from 1 to
                2147483647. The default value is 1.

provider_route_start
                Specifies the starting route address on provider side. The value
                of this argument must be in IPv4 format. The default value is
                110.1.1.0.

provider_route_step
                Specifies the step size in which the route address on provider
                side is incremented. The value of this argument is IPv4 format.
                The default value is 0.0.1.0.

provider_route_prefix_length
                Specifies the prefix length of route addresses on provider side.
                Possible values range from 1 to 32. The default value is 24.

provider_route_overlap
                Enables or disables route overlap on provider side. Possible
                values are 1 (enable) and 0 (disable). When it is set to 1, all
                VPNs advertise the same routes. For example, a CE in VPN1
                advertises Route0 and Route1, and a CE in VPN2 also advertises
                Route0 and Route1. When it is set to 0, each VPN advertises
                unique routes. For example, a CE in VPN1 advertises Route0 and
                Route1, and a CE in VPN 2 advertises Route2 and Route3. The
                default value is 0.

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

                Enables/disables IPv4 Next Generation MVPN (NGMVPN).
                Possible values are 0 (disable) and 1 (enable). The default value
                is 1.

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

                Enables/disables IPv6 NGMVPN (RFC 6513/6514). Possible
                values are 0 (disable) and 1 (enable). The default value is 0.

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

                Specifies the traffic mapping method to be used within each host
                block. Possible values are::


                 one_to_one      Every endpoint within the source endpoint block
                                 transmits traffic to the corresponding destination
                                 endpoint within the destination endpoint block.

                 one_to_many     Every endpoint within the source endpoint block
                                 transmits traffic to every destination endpoint
                                 within the destination endpoint block.

                The default value is one_to_many.

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

                Determines whether to set the Rendezvous Point (RP) address to
                the address of the DUT interface. Possible values are 0 and 1.
                When set to 1, the RP address will be set to the address of the
                DUT interface. The default value is 1.

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

                Determines whether to set the DUT to port connections. Possible
                values are 0 and 1. If the test does not use providerside ports,
                set it to 0. The default value is 1.

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

                Determines whether to set the providerside DUT to port
                connections. Possible values are 0 and 1. If the test does not
                use customerside ports, set it to 0. The default value is 1.

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

                Traffic load percent from customer ports. When both VPNv4 and
                VPNv6 are configured, the configured load is split evenly
                between the v4 and v6 VPNs. Possible values range from 0 to 100.
                The default value is 10.

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

                Traffic load percent from provider ports. When both VPNv4 and
                VPNv6 are configured, the configured load is split evenly between
                the v4 and v6 VPNs. Possible values range from 0 to 100. The
                default value is 10.

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

                Size of frames in bytes, including the header. Possible values
                range from 12 to 16383. The default value is 1500.

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

                Specifies the method by which labels are assigned within a
                traffic block. Possible values are::


                 site    Label per site. All routes in one traffic route are
                         advertised with the same label

                 route   Label per route. Each route in one traffic route is
                         advertised with a unique label

                The default value is site.

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

                Identifies which part of the IPv6 address to increment for
                subsequent routes on the customer side. The default value is 1.

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

                Identifies the IPv6 network portion of the starting route
                identifier on the customer side. Possible values range from 1 to
                128. The default value is 64.

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

                Determines how IPv6 routes are advertised on the customer side.
                Possible values are 0 and 1. When set to 1, all VPNs advertise
                the same routes. When set to 0, each VPN advertises unique
                routes. The default value is 0.

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

                First IPv6 route advertised by emulated CE routers. The value
                must be in IPv6 format. The default value is 2001::.

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

                Identifies which part of the IPv6 address to increment for
                subsequent routes on the provider side. The default value is 1.

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

                Identifies the IPv6 network portion of the starting route
                identifier on the provider side. Possible values range from 1 to
                128. The default value is 64.

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

                Determines how routes are advertised on the provider side.
                Possible values are 0 and 1. When set to 1, all VPNs advertise
                the same routes. When set to 0, each VPN advertises unique
                routes. The default value is 0.

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

                First IPv6 route advertised by emulated PE routers on the
                provider side. The value must be in IPv6 format. The default
                value is 2001::.

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

                Determines how IPv6 multicast groups are created. Possible values
                are 0 and 1. When set to 1, groups are created per VPN. When set
                to 0, groups are created per sender. The default value is 0.

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

                IPv6 multicast address for the first group. The default value is
                ff3e::1.

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

                Number of IPv6 multicast groups to create per VPN or sender.
                Possible values range from 1 to 65535. The default value is 1.

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

                Increment value used to create subsequent IPv6 multicast
                addresses. The value must be in IPv6 format. The default value is
                ::1.

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

                IPv6 address of the RP router on the customer side. The default
                value is 2001::1.

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

                Step value for subsequent RP addresses on the customer side. The
                value must be in IPv6 format. The default value is 0:0:0:1::.

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

                Number of IPv6 routes per CE on the customer side. Possible values
                range from 1 to 2147483647. The default value is 1.

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

                Number of senders per sender route  on the customer side.
                Possible values range from 1 to 2147483647. The default value is
                1.

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

                Number of configured IPv6 unicast routes to be used as multicast
                senders on the customer side. Possible values range from 1 to
                2147483647. The default value is 1.

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

                Specifies the type of IPv6 route to be advertised by emulated CEs
                on the customer side. This argument is available when
                customer_ce_routing_protocol is set to ospf or isis. Possible
                values are::


                 internal    The route and the CE that advertise
                             the route are in the same AS

                 external    The route and the CE that advertises
                             the route are not in the same AS

                The default value is internal.

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

                Number of IPv6 routers to be added to each CE on the provider side.
                Possible values range from 1 to 2147483647. The default value is
                1.

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

                Number of senders per sender route on the provider side.
                Possible values range from 1 to 2147483647. The default value is
                1.

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

                Number of configured IPv6 unicast routes on the provider side to
                be used as multicast senders. Possible values range from 1 to
                2147483647. The default value is 1.

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

                Identifies which part of the IPv4 address to increment for
                subsequent routes. The default value is 1.

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

                First IPv4 route advertised by emulated CE routers of the VPN.
                The value must be in IPv4 format. The default value is 10.1.1.0.

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

                Specifies the IPv4 network portion of the starting route
                identifier. Possible values range from 1 to 32. The default value
                is 1.

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

                Determines how IPv4 routes are advertised on the customer side.
                Possible values are 0 and 1. When set to 1, all VPNs on the
                customer side advertise the same routes. When set to 0, each VPN
                on the customer side advertises unique routes. The default value
                is 0.

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

                Identifies which part of the IPv4 address to increment for
                subsequent routes on the provider side. The default value is 1.

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

                First IPv4 route advertised by emulated PE routers. The value
                must be in IPv4 format. The default value is 110.1.1.0.

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

                IPv4 network portion of the starting route identifier on the
                provider side. Possible values range from 1 to 32. The default
                value is 24.

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

                Determines how IPv4 routes are advertised on the provider side.
                Possible values are 0 and 1. When set to 1, all VPNs on the
                customer side advertise the same routes. When set to 0, each VPN
                on the customer side advertises unique routes. The default value
                is 0.

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

                Determines whether to create groups per VPN or per sender.
                Possible values are 0 and 1. When set to 0, groups are
                created per VPN. When set to 1, groups are created per sender.
                The default value 0.

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

                IPv4 multicast address for the first group. The value must be in
                IPv4 format. The default value is 232.0.0.1.

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

                Number of IPv4 multicast groups to create per VPN or sender.
                Possible values range from 1 to 65535. The default value is 1.

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

                Increment value used to create subsequent IPv4 multicast group
                addresses. The value must be in IPv4 format. The default value is
                0.0.0.1.

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

                Number of senders per sender route on the customer side.
                Possible values range from 1 to 2147483647. The default value is
                1.

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

                Number of configured IPv4 unicast routes on the customer side to
                be used as multicast senders. Possible values range from 1 to
                2147483647. The default value is 1.

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

                Number of senders per sender route on the provider side.
                Possible values range from 1 to 2147483647. The default value is
                1.

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

                Number of configured IPv4 unicast routes on the provider side to
                be used as multicast senders. Possible values range from 1 to
                2147483647. The default value is 1.

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

                Enables/disables multicast traffic. Possible values are 0
                (disable) and 1 (enable). The default value is 1.

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

                When enabled, all of the IPv6 routes per CE are configured as
                senders. The NGMVPN wizard uses the unicast routes as multicast
                senders and binds them to the stream block. Possible values are 0
                (enable) and 1 (disable). The default value is 1.

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

                When enabled, all of the IPv4 routes per CE are configured as
                senders. The NGMVPN wizard uses the unicast routes as multicast
                senders and binds them to the stream block. Possible values are 0
                (enable) and 1 (disable). The default value is 1.

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

                Determines whether to send Bootstrap messages. PIM routers
                that are enabled for bootstrap routing functionality will
                periodically generate Bootstrap messages. Possible values are 0
                and 1. If set to 1, Bootstrap messages will be sent. The default
                value is 1.

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

                Step value for subsequent RP addresses. The value must be in IPv4
                format. The default value is 0.0.0.1.

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

                IPv4 address of the RP router on the customer side. The default
                value is 192.0.2.0.

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

                Type of the PIM protocol used by the CE router. Possible values
                are::


                 sm   All three group types are supported: (S,G), (*,G), and
                      (*,*,RP)

                 ssm  Join/Prune messages are only sent for (S, G) groups.
                       (*,*,RP) or (*,G) groups cannot be added.

                The default value is sm.

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

                Specifies the BGP route reflector ID. The value must be in IPv4
                format. The default value is 0.0.0.0.

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

                Specifies the BGP reflector mode. Possible values are::


                 dut_as_rr       Specify the DUT as the route reflector
                 stc_as_rr       Specify Spirent TestCenter as the route reflector

                The default value is stc_as_rr.

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

                Type of Hello packet transmitted by the LDP router.
                Possible values are::


                 direct      Basic discovery mechanism used to locate
                             directly connected  neighbors. Peer IP address
                             is DUT interface address

                 targeted    Extended discovery mechanism used to locate
                             neighbors not directly connected. Peer IP address
                             is DUT loopback address

                The default value is direct.

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

                Specifies the type of MVPN to be tested. Possible values are::


                 rosen       Rosen MVPN as specified in RFC 6037

                 nextgen     BGP Signaled (Next Generation) MPVN as specified in
                             RFC 6513/6514

                The default value is rosen.

vrf_route_mpls_label_type
                Defines the method by which labels are assigned within a traffic
                block. Possible values are::



                 label_per_site   Specifies that all routes in one traffic route
                                  are advertised with the same label.

                 label_per_route   Indicates that each route in one traffic
                                   route is advertised with a unique label.

                The default is label_per_site.

vrf_route_mpls_label_start
                Specifies the first MPLS label to be assigned to VPN routes on
                provider side. Possible value range from 1 to 1048575. The
                default value is 16.

traffic_frame_size
                Indicates the traffic frame size. Possible values range from 12
                to 16383. The default value is 1280.

traffic_analyzer_enable
                Determines whether traffic analyzers on the provider side ports
                are created. Possible values are 1 (enable) and 0 (disable). When
                it is set to 1, Spirent HLTAPI creates traffic analyzers on the
                provider side ports. The default value is 0. Use this option only
                when multicast_traffic_flow_direction is set to
                customer_to_provider or customer_to_all_other.

traffic_load_percent_from_provider_port
                Specifies the load percentage for test traffic from each
                providerside port. Possible values range from 0 to 100. The
                default value is 10.

traffic_load_percent_from_customer_port
                Specifies the load percentage for test traffic from each customer
                side port. Possible values range from 0 to 100. The default value
                is 10.

multicast_traffic_flow_direction
                Defines the traffic flow to be created. Possible values are
                described below::


                 customer_to_provider   Indicates that the traffic flow is
                           from the emulated customer CE devices to the
                           emulated provider CE devices, through the DUT.
                           This is the default value.

                 customer_to_customer   Indicates that the traffic flow is
                          from the emulated customer CE devices to other
                          emulated customer CE devices, through the DUT.

                 customer_to_all_other   Indicates that the traffic flow is
                          from the emulated customer CE devices to other
                          emulated customer CE devices and provider CE
                          devices, through the DUT.

                 provider_to_customer   Indicates that the traffic flow is
                          from the emulated provider CE devices to the
                          emulated customer CE devices, through the DUT.

multicast_traffic_source_count
                Defines the number of sources for multicast traffic.
                Possible values range from 1 to 65535. The default value is
                65535.

multicast_traffic_all_source_enable
                Determines whether Spirent HLTAPI enables all sources for
                multicast traffic. When it is set to 1, you can enable all
                sources. Possible values are 0 ( disable) and 1 (enable). The
                default value is 1.

multicast_traffic_receiver_count
                Defines the number of the receivers for multicast traffic.
                The default value is 1.


multicast_traffic_all_receiver_enable
                Determines whether Spirent HLTAPI enables all receivers for
                multicast traffic. When it is set to 1, you can enable all
                sources. Possible values are 0 (disable) and 1 (enable). The
                default value is 1.

mdt_switch_over_traffic_enable
                Determines to switch traffic from default MDT to data MDT. When
                it is set to 1, you can switch traffic from default MDT to data
                MDT. Possible values are 1 (enable) and 0 (disable). The default
                is 0. Use this argument only when you enable
                multicast_default_mdt_addr and specify
                multicast_traffic_flow_direction provider_to_customer.

mdt_switch_over_interval
                Defines the duration between the first MDT join and switching
                from the default MDT to the data MDT. Possible values range from
                0 to 65535. The default value is 60.This argument is applicable
                only when the mdt_switch_over_traffic_enable argument is
                enabled.

mdt_switch_over_delay
                Specifies the MDT switch over delay time. Possible values
                range from 0 to 65535. The default value is 3. This argument is
                applicable only when the mdt_switch_over_traffic_enable argument
                is enabled.

unicast_traffic_enable
                Determines whether the unicast traffic can be used. Possible
                values are 1 (enable) and 0 (disable). When it is set to 1, you
                can specify the unicast_traffic_flow_direction argument, the
                unicast_traffic_stream_group_method argument, and the
                unicast_traffic_use_single_stream_per_endpoint_pair argument.
                The default is 0.

unicast_traffic_flow_direction
                Specifies the type of unicast traffic flows to create. This
                argument is applicable only when the unicast_traffic_enable
                argument is enabled. Possible values are described below::


                 customer_to_core  The traffic flow is from the emulated
                                   CE devices to the emulated PE devices,
                                   through the DUT.

                 core_to_customer  The traffic flow is from the emulated
                                   PE devices to the emulated CE device. It runs
                                   through the emulated P device and the DUT.

                 bidirectional    Traffic flow in both directions between the
                                  emulated CE and the simulated CE devices behind
                                  the PEs. This is the default value.

                 fully_meshed     Traffic flows are created between all CE
                                  sites within the same VRF that are on different
                                  ports.


unicast_traffic_stream_group_method
                Determines how to aggregate streams in a stream block. This
                argument is applicable only when the unicast_traffic_enable
                argument is enabled.  Possible values are described below::


                 aggregate    Aggregates all streams into a single stream
                              block.

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

unicast_traffic_use_single_stream_per_endpoint_pair
                Determines whether to assign a single stream ID to each endpoint
                pair. Possible values are 1 (enable) and 0 (disable). The default
                value is 1 (enable) and 0 (disable). When it is set to 1, each
                endpoint is assigned a single stream ID. When it is set to 0,
                each flow between endpoint pairs is assigned a single stream ID.
                The default value is 0. This argument is applicable only when the
                unicast_traffic_enable argument is enabled.
Ciscospecific Arguments:
None
Return Values:

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

handle         Identifies the handle of the MVPN network topology
               configured by the emulation mvpn config
               function.

traffic_handle   Defines the handle of the traffic created by the
                 ``emulation mvpn config`` function.

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

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

The emulation mvpn config function configures an RFC 2547bis style MPLS IP VPN network topologies, creates emulated and simulated CE, P, and PE routers, selects and enables routing and labeling protocols, configures multicast VPNs, and creates the traffic that is sent between VPNs.

This command emulates MPLS IP VPN topologies from two pointsof-view: customer side and provider side. The customer side includes the CE routers and routes and IP traffic sent from those devices. This side of the network also includes the routing between CE and PE devices (the DUT). The provider side includes P and PE devices, IGP and BGP routing, VPN or VRF mapping, and labeled IP traffic sent from the provider side to the customer side of the network.

When you write an HLT API that uses Spirent HLTAPI Automation software for MVPN tests, you configure a test configuration to emulate MVPN networks.

During a MVPN test, the DUT works as a PE router of the VPN network. Spirent HLTAPI customerside port sets up a control plane session and sends data plan packets to PECE interface of the DUT. Spirent HLTAPI provider-side port sets up a control plane session and sends data plane packets to the provider network interface.

In this context, you can create MVPN test configuration with emulation customerside port and providerside port. The emulation customerside port acts as a CE device connecting to the local VPN site of DUT PE router. The emulation providerside port acts as the provider network of the MPLS VPN connected to the remote VPN site. Each of the two emulated sides can send emulated VPN traffic to the DUT, from the local VPN site or from the Remote VPN site.

Examples:

The following example configures a MVPN network topology:

set cmdStatus [emulation mvpn config
            mode= create
            dut_loopback_ipv4_addr= 220.1.1.1
            dut_as= 123
            igp_protocol= ospf
            mpls_protocol= none
            p_router_enable= 0
            pe_router_number_per_sub_interface= 1
            pe_router_loopback_ipv4_addr= 1.10.1.1
            pe_router_loopback_ipv4_addr_step= 0.0.0.1
            vrf_number= 1
            vrf_rd_assignment= use_rt
            vrf_route_target_start= 200:1
            vrf_route_target_step= 200:1
            customer_ce_vrf_assignment= round_robin
            customer_ce_bgp_as= 211
            customer_ce_bgp_as_step_per_vrf_enable= 1
            customer_ce_bgp_as_step_per_vrf= 1
            customer_ce_routing_protocol= bgp
            provider_pe_vrf_assignment= vpn_per_pe
            provider_pe_vrf_count= 1
            multicast_provider_pim_protocol= pim_sm
            multicast_provider_rp_addr= 220.1.1.1
            multicast_customer_pim_protocol= pim_sm
            multicast_customer_rp_addr= 6.146.1.1
            multicast_customer_rp_increment= 0.0.0.1
            multicast_default_mdt_addr= 239.192.1.1
            multicast_default_mdt_increment= 0.0.0.1
            multicast_data_mdt_enable= 0
            multicast_group_count= 1
            multicast_group_addr_start= 225.0.0.1
            multicast_group_addr_increment= 0.0.0.1
            multicast_receiver_have_same_group= 1
            customer_route_type= internal
            customer_route_count_per_ce= 1
            customer_route_start= 19.1.1.0
            customer_route_step= 0.0.0.1
            customer_route_prefix_length= 24
            provider_route_count_per_ce= 1
            provider_route_start= 119.1.1.0
            provider_route_step= 0.0.0.1
            provider_route_prefix_length= 24
            multicast_traffic_flow_direction= customer_to_provider
            multicast_traffic_all_source_enable= 1
            multicast_traffic_all_receiver_enable= 1
            unicast_traffic_enable= 0
            unicast_traffic_flow_direction= bidirectional
            unicast_traffic_stream_group_method= aggregate
            traffic_frame_size= 1280
            traffic_load_percent_from_provider_port= 0.1
            traffic_load_percent_from_customer_port= 0.1]

Sample SUCCESS output:

{status 1} {handle mvpnhandle1} {traffic_handle mvpntraffic1}

Sample FAILURE output:

{status 0} {log XXX}

The following example configures NGMVPN:

set device_ret0_router0 [emulation mvpn config
            mode= create
            mvpn_type=  nextgen
            vpn_v4_enable=  1
            vpn_v6_enable= 1
            provider_use_ports_enable=    1
            dut_loopback_ipv4_addr=  200.200.200.1
            dut_as= 100
            igp_protocol= ospf
            mpls_protocol= rsvp
            igp_ospfv2_area_id= 0.0.0.0
            igp_ospfv2_network_type= native
            igp_ospfv2_router_priority= 0
            igp_ospfv2_interface_cost= 1
            igp_ospfv2_options= 2
            igp_ospfv2_authentication_mode=    none
            mpls_rsvp_bandwidth_per_link= 10000
            mpls_rsvp_bandwidth_per_tunnel= 0
            mpls_rsvp_egress_label= next_available
            mpls_rsvp_transit=  accept_configured
            mpls_rsvp_min_label= 16
            mpls_rsvp_max_label= 65535
            mpls_rsvp_graceful_restart_enable= 0
            p_router_loopback_ipv4_addr= 200.200.200.2
            p_router_loopback_ipv4_addr_step= 0.0.0.1
            pe_router_number_per_sub_interface= 1
            pe_router_loopback_ipv4_addr=  200.200.200.2
            pe_router_loopback_ipv4_addr_step=  0.0.0.1
            customer_use_ports_enable=    1
            vrf_number= 1
            vrf_rd_assignment= manual
            vrf_route_target_start=   100:100
            vrf_route_target_step=    0:1
            customer_ce_vrf_assignment= round_robin
            customer_ce_bgp_as= 1
            customer_ce_pim_protocol=     sm
            customer_ce_routing_protocol= bgp
            customer_ce_bgp_percent=   100
            customer_rd_start= 100:100
            customer_ce_bgp_as_step_per_vrf_enable= 1
            customer_ce_bgp_as_step_per_vrf=  1
            provider_rd_start= 200:200
            provider_rd_step_per_vrf_enable= 1
            provider_rd_step_per_vrf=  1:0
            provider_pe_vrf_assignment= vpn_per_pe
            provider_pe_vrf_count= 1
            customer_ipv6_rp_addr=    2001::1
            customer_ipv6_rp_increment= 0:0:0:1::
            customer_rp_addr= 1.1.1.1
            customer_rp_increment= 0.0.0.1
            ipv4_group_address_increment=     0.0.0.1
            ipv4_group_count= 10
            ipv4_starting_group_address=     226.1.1.1
            ipv4_unique_groups_per_sender= 0
            ipv6_group_address_increment=     ::1
            ipv6_group_count= 10
            ipv6_starting_group_address=     ff1e::1
            ipv6_unique_groups_per_sender= 0
            provider_ipv4_vpn_route_overlap=  0
            provider_ipv4_vpn_route_prefix_length= 24
            provider_ipv4_vpn_route_start=     110.1.1.0
            provider_ipv4_vpn_route_step= 1
            customer_ipv4_vpn_route_overlap=  0
            customer_ipv4_vpn_route_prefix_length=       24
            customer_ipv4_vpn_route_start=     100.1.1.0
            customer_ipv4_vpn_route_step= 1
            vrf_route_mpls_label_type= label_per_site
            vrf_route_mpls_label_start= 16
            customer_route_type=       internal
            provider_ipv6_vpn_route_start=  2005::
            provider_ipv6_vpn_route_overlap=  0
            provider_ipv6_vpn_route_prefix_length=  64
            provider_ipv6_vpn_route_step= 1
            customer_ipv6_vpn_route_start= 2100::1
            customer_ipv6_vpn_route_overlap=  0
            customer_ipv6_vpn_route_prefix_length= 64
            customer_ipv6_vpn_route_step= 1
            ipv6_vpn_route_mpls_label_type= site
            customer_ipv6_ce_route_type= internal
            customer_enable_all_ipv4_mcast_sender_routes_per_ce= 1
            customer_enable_all_ipv6_mcast_sender_routes_per_ce= 1
            multicast_traffic_enable=  1
            provider_enable_all_ipv4_mcast_sender_routes_per_ce= 1
            provider_enable_all_ipv6_mcast_sender_routes_per_ce= 1
            customer_multicast_traffic_load_percent_from_ports=   10
            multicast_framesize=    1500]

End of Procedure Header

emulation mvpn control

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

Purpose:
The emulation mvpn control function starts or stops a configured MVPN topology.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation mvpn control
        action= { start|stop} M
        handle= <mvpn_topology_handle_list>
        mvpn_type= {nextgen|rosen}

Arguments:

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

                 start     Starts the MVPN network
                 stop      Stops the MVPN network

handle
                Specifies a list of MVPN network topologies to be started or
                stopped

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

                Determines which type of MVPN to be tested. Possible values are::


                 rosen     Rosen MVPN as specified in RFC 6037
                 nextgen   NGMPVN as specified in RFC 6513/6514

                The default value is rosen.
Ciscospecific Arguments:
None
Return Values:

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

status     Success (1) or failure (0) of the operation.
log       An error message (if the operation failed).
Description:
The emulation mvpn control function controls the configured MVPN topology. You can use the function to perform two actions: starting MVPN topology and stopping MVPN topology.
Examples:

The following example starts a MVPN network topology:

emulation mvpn control action=start handle $mvpnHdl

The following example stops a MVPN network topology:

emulation mvpn control action=stop handle $mvpnHdl

The following example starts the configured NGMVPN:

set mvpn_ctrl [emulation mvpn control action=start
          mvpn_type= nextgen
          handle= "$CeRtrv6 $CeRtrv4 $PeRouter $PRouter"]

Sample output for the examples above:

# On Success
    {{status 1} }

# On Failure
    {{status 0} {log xxxxxxx}}

End of Procedure Header

emulation mvpn info

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

Purpose:
Retrieves statistics for the configured MVPN topology.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation mvpn info
        handle= <mvpn_topology_handle> M
        mode= {bgp|rsvp|ldp|ospfv2|isis|pim|aggregate}  M
        mvpn_type= {nextgen|rosen}

Arguments:

handle
                Specifies the MVPN network on which the information will be
                retrieved. This argument is `Mandatory`.

mode
                Determines the information about which protocol will be
                retrieved. This argument is `Mandatory`. Possible values are
                bgp, rsvp, ldp, ospfv2, isis, pim, and aggregate. The default
                value is aggregate. When you specify aggregate, the
                information about all the protocols above will be retrieved.

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

                Determines the type of MVPN from which to retrieve results.
                Possible values are::


                 rosen     Rosen MVPN as specified in RFC 6037
                 nextgen   NGMPVN as specified in RFC 6513/6514

                The default value is rosen.
Return Values:

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

status
Success (1) or failure (0) of the operation.
log
An error message (if the operation failed).
port.xxx.device_handle
Returns an emulated device handle which has protocols running on it for the purpose of gathering detailed protocol results.

The pattern of a certain protocol return key will be “port.xxx.device.yyy.protocolxx.ooxx”. xxx represents the port handle the emulated device is on; yyy represents the emulated device handle the protocol running on; protocolxx represents the protocol name like bgp and ldp; ooxx represents detailed return key of a certain protocol.

The statistics that will be returned are listed below: :

BGP protocol information

port.xxx.device.yyy.bgp.router_state
Router state
port.xxx.device.yyy.bgp.bgp_type
BGP type
port.xxx.device.yyy.bgp.tx_advertised_route
Number of the sent advertised routes.
port.xxx.device.yyy.bgp.tx_withdrawn_route
Number of the sent withdrawn routes.
port.xxx.device.yyy.bgp.tx_advertised_update
Number of sent advertised update messages.
port.xxx.device.yyy.bgp.tx_keepalive
Number of sent keepalive messages.
port.xxx.device.yyy.bgp.tx_notification
Number of sent notification messages.
port.xxx.device.yyy.bgp.tx_notify_code
Number of sent notify codes.
port.xxx.device.yyy.bgp.tx_notify_subcode
Number of sent notify subcodes.
port.xxx.device.yyy.bgp.tx_open
Number of sent open messages.
port.xxx.device.yyy.bgp.tx_route_refresh
Number of sent route refresh messages.
port.xxx.device.yyy.bgp.tx_withdrawn_update
Number of sent withdrawn update messages.
port.xxx.device.yyy.bgp.last_rx_update_route
Number of received withdrawn update routes.
port.xxx.device.yyy.bgp.outstanding_route
Number of outstanding routes.
port.xxx.device.yyy.bgp.rx_advertised_route
Number of received advertised routes.
port.xxx.device.yyy.bgp.rx_advertised_update
Number of received advertised update messages.
port.xxx.device.yyy.bgp.rx_keepalive
Number of received keepalive messages.
port.xxx.device.yyy.bgp.rx_notification
Number of received notification messages.
port.xxx.device.yyy.bgp.rx_notify_code
Number of received notify codes.
port.xxx.device.yyy.bgp.rx_notify_subcode
Number of received notify subcodes.
port.xxx.device.yyy.bgp.rx_open
Number of received open messages.
port.xxx.device.yyy.bgp.rx_route_refresh
Number of received route refresh messages.
port.xxx.device.yyy.bgp.rx_withdrawn_route
Number of received withdrawn routes.

OSPFv2 protocol information

port.xxx.device.yyy.ospfv2.router_state
Router state.
port.xxx.device.yyy.ospfv2.neighbor_state
Neighbor state.
port.xxx.device.yyy.ospfv2.rx_ack
Number of received acknowledge messages.
port.xxx.device.yyy.ospfv2.rx_asbr_summary_lsa
Number of received Autonomous System Boundary Router (ASBR) summary LSA.
port.xxx.device.yyy.ospfv2.rx_as_external_lsa
Number of received AS external LinkState Advertisements (LSAs)
port.xxx.device.yyy.ospfv2.rx_dd
Number of received Database Description packets.
port.xxx.device.yyy.ospfv2.rx_hello
Number of received hello messages.
port.xxx.device.yyy.ospfv2.rx_network_lsa
Number of received network LSAs.
port.xxx.device.yyy.ospfv2.rx_nssa_lsa
Number of received NSSA LSAs.
port.xxx.device.yyy.ospfv2.rx_request
Number of received request messages.
port.xxx.device.yyy.ospfv2.rx_router_lsa
Number of received router LSAs.
port.xxx.device.yyy.ospfv2.rx_summary_lsa
Number of received summary LSAs.
port.xxx.device.yyy.ospfv2.rx_telsa
Number of received TE LSAs.
port.xxx.device.yyy.ospfv2.rx_update
Number of received update messages.
port.xxx.device.yyy.ospfv2.tx_ack
Number of sent acknowledge messages.
port.xxx.device.yyy.ospfv2.tx_asbr_summary_lsa
Number of sent ASBR summary LSAs.
port.xxx.device.yyy.ospfv2.tx_as_external_lsa
Number of sent AS external LSAs.
port.xxx.device.yyy.ospfv2.tx_dd
Number of sent Database Description packets.
port.xxx.device.yyy.ospfv2.tx_hello
Number of sent hello messages.
port.xxx.device.yyy.ospfv2.tx_network_lsa
Number of sent network LSAs.
port.xxx.device.yyy.ospfv2.tx_nssa_lsa
Number of sent NSSA LSAs.
port.xxx.device.yyy.ospfv2.tx_request
Number of sent request messages.
port.xxx.device.yyy.ospfv2.tx_router_lsa
Number of sent router LSAs.
port.xxx.device.yyy.ospfv2.tx_summary_lsa
Number of sent summary LSAs.
port.xxx.device.yyy.ospfv2.tx_telsa
Number of sent TE LSAs.
port.xxx.device.yyy.ospfv2.tx_update
Number of sent update messages.

ISIS protocol information

port.xxx.device.yyy.isis.router_state
Router state.
port.xxx.device.yyy.isis.adjacency_level
Adjacency level.
port.xxx.device.yyy.isis.rx_l1_csnp
Number of received L1 Complete Sequence Number PDUs (CSNPs).
port.xxx.device.yyy.isis.rx_l1_lan_hello
Number of L1 LAN Hellos sent to the DUT
port.xxx.device.yyy.isis.rx_l1_lsp
Number of L1 LSPs received from the DUT
port.xxx.device.yyy.isis.rx_l1_psnp
Number of L1 Partial Sequence Number PDUs (PSNPs) received from the DUT
port.xxx.device.yyy.isis.rx_l2_csnp
Number of received L2 CSNPs.
port.xxx.device.yyy.isis.rx_l2_lan_hello
Number of L2 LAN Hellos received from the DUT.
port.xxx.device.yyy.isis.rx_l2_lsp
Number of L2 LSPs received from the DUT.
port.xxx.device.yyy.isis.rx_l2_psnp
Number of L2 PSNPs received from the DUT
port.xxx.device.yyy.isis.rx_ptp_hello
Number of Peer to peer hellos received from the DUT
port.xxx.device.yyy.isis.tx_l1_csnp
Number of the sent L1 CSNPs.
port.xxx.device.yyy.isis.tx_l1_lan_hello
Number of L1 LAN Hellos sent to the DUT.
port.xxx.device.yyy.isis.tx_l1_lsp
Number of L1 LSPs sent to the DUT.
port.xxx.device.yyy.isis.tx_l1_psnp
Number of L1 PSNPs sent to the DUT.
port.xxx.device.yyy.isis.tx_l2_csnp
Number of L2 CSNPs sent to the DUT.
port.xxx.device.yyy.isis.tx_l2_lan_hello
Number of L2 LAN Hellos sent to the DUT.
port.xxx.device.yyy.isis.tx_l2_lsp
Number of L2 LSPs sent to the DUT.
port.xxx.device.yyy.isis.tx_l2_psnp
Number of L2 PSNPs sent to the DUT.
port.xxx.device.yyy.isis.tx_ptp_hello
Number of peer to peer Hellos sent to the DUT.

RIP protocol information

port.xxx.device.yyy.rip.router_state
Router State.
port.xxx.device.yyy.rip.rx_advertised_update
Number of received advertised update messages.
port.xxx.device.yyy.rip.rx_withdrawn_update
Number of received withdrawn update messages.
port.xxx.device.yyy.rip.tx_advertised_update
Number of sent advertised update messages.
port.xxx.device.yyy.rip.tx_withdrawn_update
Number of sent withdrawn update messages.

LDP protocol information

port.xxx.device.yyy.ldp.router_state
Router state.
port.xxx.device.yyy.ldp.lsp_up_num
Number of LSPs in the up state.
port.xxx.device.yyy.ldp.lsp_down_num
Number of LSPs in the down state.
port.xxx.device.yyy.ldp.rx_direct_hello
Number of the received direct Hellos.
port.xxx.device.yyy.ldp.rx_keepalive
Number of the received keepalive messages
port.xxx.device.yyy.ldp.rx_label_abort
Number of label abort requests received.
port.xxx.device.yyy.ldp.rx_label_mapping
Number of label mapping messages received.
port.xxx.device.yyy.ldp.rx_label_release
Number of label release messages received
port.xxx.device.yyy.ldp.rx_label_request
Number of label requests received.
port.xxx.device.yyy.ldp.rx_label_withdraw
Number of label withdraw messages received.
port.xxx.device.yyy.ldp.rx_notification
Number of notification messages received.
port.xxx.device.yyy.ldp.rx_notify_code
Number of notify codes received.
port.xxx.device.yyy.ldp.rx_targeted_hello
Number of targeted Hellos received.
port.xxx.device.yyy.ldp.tx_direct_hello
Number of direct Hellos sent.
port.xxx.device.yyy.ldp.tx_keepalive
Number of keepalive messages sent.
port.xxx.device.yyy.ldp.tx_label_abort
Number of label abort requests sent.
port.xxx.device.yyy.ldp.tx_label_mapping
Number of label mapping messages sent.
port.xxx.device.yyy.ldp.tx_label_release
Number of label release messages sent.
port.xxx.device.yyy.ldp.tx_label_request
Number of label requests sent.
port.xxx.device.yyy.ldp.tx_notification
Number of notification messages sent.
port.xxx.device.yyy.ldp.tx_notify_code
Number of notify codes sent.
port.xxx.device.yyy.ldp.tx_targeted_hello
Number of targeted Hellos sent.

RSVP protocol information

port.xxx.device.yyy.rsvp.router_state
Router State.
port.xxx.device.yyy.rsvp.avg_lsp_setup_time
Average time to set up an LSP on the session.
port.xxx.device.yyy.rsvp.egress_lsp_up
Number of egress LSPs in up state.
port.xxx.device.yyy.rsvp.last_rx_path_error_code
Number of Path Error messages received.
port.xxx.device.yyy.rsvp.last_rx_resv_error_code
Number of Reservation Error messages received.
port.xxx.device.yyy.rsvp.last_tx_path_error_code
Number of Path Error messages sent.
port.xxx.device.yyy.rsvp.last_tx_resv_error_code
Number of Reservation Error messages sent.
port.xxx.device.yyy.rsvp.lsp_connecting
Number of LSPs in connecting state.
port.xxx.device.yyy.rsvp.lsp_down
Number of LSPs in the down state.
port.xxx.device.yyy.rsvp.lsp_up
Number of LSPs in the up state.
port.xxx.device.yyy.rsvp.max_lsp_setup_time
Maximum time to set up an LSP on the session.
port.xxx.device.yyy.rsvp.min_lsp_setup_time
Minimum time to set up an LSP on the session.
port.xxx.device.yyy.rsvp.rx_hello
Number of received Hellos.
port.xxx.device.yyy.rsvp.rx_path
Number of path messages sent.
port.xxx.device.yyy.rsvp.rx_path_error
Number of Path Error messages received.
port.xxx.device.yyy.rsvp.rx_path_recovery
Number of PATH Recovery packets received
port.xxx.device.yyy.rsvp.rx_path_teardown
Number of Path Teardown messages received.
port.xxx.device.yyy.rsvp.rx_resv
Number of Reservation messages received.
port.xxx.device.yyy.rsvp.rx_resv_confirmation
Number of Reservation Confirmation messages received
port.xxx.device.yyy.rsvp.rx_resv_error
Number of Reservation Error messages received.
port.xxx.device.yyy.rsvp.rx_resv_teardown
Number of Reservation Teardown messages received.
port.xxx.device.yyy.rsvp.tx_hello
Number of Hellos sent.
port.xxx.device.yyy.rsvp.tx_path
Number of path messages sent.
port.xxx.device.yyy.rsvp.tx_path_error
Number of Path Error messages sent.
port.xxx.device.yyy.rsvp.tx_path_recovery
Number of PATH Recovery packets sent.
port.xxx.device.yyy.rsvp.tx_path_teardown
Number of Path Teardown messages sent.
port.xxx.device.yyy.rsvp.tx_resv
Number of Reservation messages sent.
port.xxx.device.yyy.rsvp.tx_resv_confirmation
Number of Reservation Confirmation messages sent.
port.xxx.device.yyy.rsvp.tx_resv_error
Number of Reservation Error messages sent.
port.xxx.device.yyy.rsvp.tx_resv_teardown
Number of Reservation Teardown messages sent.

PIM protocol information

port.xxx.device.yyy.pim.router_state
Router state.
port.xxx.device.yyy.pim.neighbor_num
Number of PIM neighbors for the router.
port.xxx.device.yyy.pim.rx_assert
Number of Assert messages received.
port.xxx.device.yyy.pim.rx_boot_strap
Number of Bootstrap messages received.
port.xxx.device.yyy.pim.rx_cand_rp_advert
Number of candidate RP Advertisements received
port.xxx.device.yyy.pim.rx_group_rp
Number of (,,RP) groups received.
port.xxx.device.yyy.pim.rx_group_s_g
Number of (S,G) groups received.
port.xxx.device.yyy.pim.rx_group_s_g_rpt
Number of (S,G,rpt) groups received.
port.xxx.device.yyy.pim.rx_group_star_g
Number of (*,G) groups received.
port.xxx.device.yyy.pim.rx_hello
Number of received Hellos.
port.xxx.device.yyy.pim.rx_join_prune
Number of Join/Prune messages received.
port.xxx.device.yyy.pim.rx_register
Number of Register messages received.
port.xxx.device.yyy.pim.rx_register_stop
Number of Register Stop messages received.
port.xxx.device.yyy.pim.tx_assert
Number of Assert messages sent.
port.xxx.device.yyy.pim.tx_boot_strap
Number of Bootstrap messages sent.
port.xxx.device.yyy.pim.tx_cand_rp_advert
Number of candidate RP Advertisements sent.
port.xxx.device.yyy.pim.tx_group_rp
Number of (,,RP) groups sent.
port.xxx.device.yyy.pim.tx_group_s_g
Number of (S,G) groups sent.
port.xxx.device.yyy.pim.tx_group_s_g_rpt
Number of (S,G,rpt) groups sent.
port.xxx.device.yyy.pim.tx_group_star_g
Number of (*,G) groups sent.
port.xxx.device.yyy.pim.tx_hello
Number of Hellos sent.
port.xxx.device.yyy.pim.tx_join_prune
Number of Join/Prune messages sent.
port.xxx.device.yyy.pim.tx_register
Number of Register messages sent.
port.xxx.device.yyy.pim.tx_register_stop
Number of Register Stop messages sent.

BFD protocol information

port.xxx.device.yyy.bfd.session_up
Number of BFD sessions in the Up state.
port.xxx.device.yyy.bfd.session_down
Number of BFD session in the down state.
port.xxx.device.yyy.bfd.tx_bfd_pdu
Number of BFD PDUs sent.
port.xxx.device.yyy.bfd.rx_bfd_pdu
Number of BFD PDUs received.
Description:

The emulation mvpn info function provides information about the configured MVPN network topology.

This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0). Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values for a description of each key.)

Examples:

Sample Input:

puts "get mvpn configuration BGP info"
set cmdStatus emulation mvpn info mode=bgp handle $mvpnHdl

Sample Output:

{port {{port2 {{devices router4} {device {{router4 {{bgp
{{rx_advertised_route 2} {rx_open 1} {rx_notify_code 0}
{tx_advertised_route 1} {last_rx_update_route 1} {tx_open 1}
{tx_withdrawn_update 0} {rx_notify_subcode 0}
{rx_advertised_update 2} {tx_notify_code 0} {rx_withdrawn_route 0}
{rx_notification 0} {tx_advertised_update 1} {tx_notify_subcode 0}
{router_state ESTABLISHED} {tx_withdrawn_route 0} {bgp_type EBGP}
{tx_notification 0} {rx_route_refresh 0} {outstanding_route 1}
{rx_keepalive 4}{tx_keepalive 5} {tx_route_refresh 0}}}}}}}}}
{port1 {{devices router2} {device {{router2 {{bgp
{{rx_advertised_route 29} {rx_open 1} {rx_notify_code 0}
{tx_advertised_route 2} {last_rx_update_route 3} {tx_open 1}
{tx_withdrawn_update 0} {rx_notify_subcode 0}
{rx_advertised_update 11} {tx_notify_code 0} {rx_withdrawn_route 0}
{rx_notification 0} {tx_advertised_update 2} {tx_notify_subcode 0}
{router_state ESTABLISHED} {tx_withdrawn_route 0} {bgp_type IBGP}
{tx_notification 0} {rx_route_refresh 0} {outstanding_route 2}
{rx_keepalive 4} {tx_keepalive 4} {tx_route_refresh 0}}}}}}}}}}} {status 1}

Sample Input:

# To get NGMVPN= results
set mvpn_ctrl [emulation mvpn info mode=ospfv2
                           handle= "$CeRtrv6 $CeRtrv4 $PeRouter $PRouter"
                           mvpn_type= nextgen]

End of Procedure Header