MVPN Functions¶
sth::emulation_mvpn_provider_port_config¶
Purpose¶
Adds or deletes an emulated provider-side 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 that the argument is Mandatory .
sth::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 provider-side test port delete Deletes a provider-side 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 sub-interfaces. 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 sub-interfaces.
-
-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 NG-MVPN. Possible values are:
ipv4 IPv4 NG-MVPN ipv6 IPv6 NG-MVPN ipv4v6 Dual stack NG-MVPN
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 sub-interface on the DUT interface is enabled. Possible values are 0 (disabled) and 1 (enabled). The default value is 0. Sub-interfaces 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 sub-interfaces (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.
Cisco-specific 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 sth::emulation_mvpn_provider_port_config
function adds or
deletes an emulated MVPN provider-side 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 sub-interface 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:
sth::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:
sth::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 NG-MVPN:
set device_ret0_router0 [sth::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
sth::emulation_mvpn_customer_port_config¶
Purpose¶
Adds or deletes a Multicast VPN emulation test port on the MVPN customer side.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 customer-side test port delete - Deletes a customer-side 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 sub-interfaces. 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 sub-interfaces.
-
-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 NG-MVPN. Possible values are:
ipv4 IPv4 NG-MVPN ipv6 IPv6 NG-MVPN ipv4v6 Dual stack NG-MVPN
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 sub-interface on the DUT interface is enabled. Possible values are 0 (disabled) and 1 (enabled). The default value is 0. Sub-interfaces 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 sub-interfaces (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.
Cisco-specific 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 sth::emulation_mvpn_customer_port_config
function adds or deletes an emulated
MVPN customer-side 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
sth::emulation_mvpn_provider_port_config
function. The usage of
sth::emulation_mvpn_customer_port_config options is similar to that of the
sth::emulation_mvpn_provider_port_config options.
Examples¶
The following example adds a test port to MVPN customer side:
sth::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:
sth::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 NG-MVPN:
set device_ret0_router0 [sth::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
sth::emulation_mvpn_config¶
Purpose¶
The sth::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 that the argument is Mandatory .
sth::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 4-byte AS number is enabled on DUT. When it is set to 1, you can specify the 4-byte AS number. Possible values are 0 and 1. The default values is 0.
-
-dut_4byte_as
¶
Specifies the 4-byte 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(IS-IS) protocol. Routers (Intermediate Systems) use IS-IS 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
¶
RSVP-TE 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 tail-end 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 tail-end 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 re-synchronize 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 provider-side 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 directly-connected 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 re-synchronize 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 provider-side 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 customer-side 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 port-type. Use this setting to override the physical link type to emulate a broadcast adjacency over POS, or a point-to-point adjacency over Ethernet. broadcast Ethernet links use a Broadcast adjacency. p2p POS links use a P2P (point-to-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 E-bit (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 AS-external-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 External-Attributes-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 Link-Layer 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 IS-IS 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 (intra-area). 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 IS-IS 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 Point-to-point (PTOP). A network formed by a point-to-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 IS-IS router. IS-IS routers use the priority to elect the designated and back-up 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 IS-IS 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 IS-IS 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 IS-IS 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 (6-bit) metric. wide Router advertises routes with a wide (24- or 32-bit) metric (required for IS-IS 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 three-octet 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 three-octet 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 IS-IS 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 IS-IS 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 provider-side 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 provider-side sub-interface. Only 1 emulated provider router (P router) is created per sub-interface. 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 provider-edge (PE) routers created on each provider-side 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 provider-side 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 provider-side 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 provider-side sub-interface. 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 provider-side 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 sub-interface. 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 “AS-Number: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 “AS-Number: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 4-byte AS numbers on customer side. Possible values are 1 (enable) and 0 (disable). When it is set to 1, you can specify 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 (IS-IS) 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 IS-IS. 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 8-byte 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 sub-field is a 2-byte AS number and the assigned sub-field is a 4-byte number assigned by the service provider. The format will be:: n:n, which indicates "administrator:assigned". Type 1 The administrator sub-field is a 4-byte IPv4 address and assigned sub-field 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 round-robin 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 4-byte 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 8-byte 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 sub-field is a 2-byte AS number and the assigned sub-field is a 4-byte number assigned by the service provider. The format will be:: n:n, which indicates "administrator:assigned". Type 1 The administrator sub-field is a 4-byte IPv4 address and assigned sub-field 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 provider-side 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 provider-side 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 provider-side route distinguisher across CEs. The default value is 0.
-
-provider_rd_step_per_ce
¶
Specifies the step value for the additional provider-side 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 low-bandwidth 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 high-bandwidth 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 provider-side 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 customer-side 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 (NG-MVPN). 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 NG-MVPN (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 provider-side 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 provider-side DUT to port connections. Possible values are 0 and 1. If the test does not use customer-side 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 NG-MVPN 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 NG-MVPN 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 provider-side 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.
Cisco-specific 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 sth::emulation_mvpn_config
function.
traffic_handle Defines the handle of the traffic created by the
``sth::emulation_mvpn_config`` function.
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::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 points-of-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 customer-side port sets up a control plane session and sends data plan packets to PE-CE 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 customer-side port and provider-side port. The emulation customer-side port acts as a CE device connecting to the local VPN site of DUT PE router. The emulation provider-side 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 [sth::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 NG-MVPN:
set device_ret0_router0 [sth::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
sth::emulation_mvpn_control¶
Purpose¶
The sth::emulation_mvpn_control
function starts or stops a configured MVPN
topology.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 NG-MPVN as specified in RFC 6513/6514
The default value is rosen.
Cisco-specific 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 sth::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:
sth::emulation_mvpn_control -action start -handle $mvpnHdl
The following example stops a MVPN network topology:
sth::emulation_mvpn_control -action stop -handle $mvpnHdl
The following example starts the configured NG-MVPN:
set mvpn_ctrl [sth::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
sth::emulation_mvpn_info¶
Purpose¶
Retrieves statistics for the configured MVPN topology.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::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 NG-MPVN 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 Link-State 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.
IS-IS 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 sth::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 [sth::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 NG-MVPN results
set mvpn_ctrl [sth::emulation_mvpn_info -mode ospfv2\
-handle "$CeRtrv6 $CeRtrv4 $PeRouter $PRouter"\
-mvpn_type nextgen]
End of Procedure Header