MVPN Functions¶
emulation mvpn provider port config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Adds or deletes an emulated providerside test port.
Multicast VPN (MVPN) is a technology to deploy the multicast service in an existing Multiprotocol Label Switching (MPLS)/ Border Gateway Protocol (BGP) VPN. It transmits multicast data between private networks by encapsulating the original multicast packets.
If the creation fails, Spirent HLTAPI returns an error message.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation mvpn provider port config
port_handle= <port_handle> M
action= {add|delete} M
dut_interface_ipv4_addr= <a.b.c.d>
dut_interface_ipv4_addr_step= <a.b.c.d>
dut_interface_ipv4_prefix_length= <0-32>
dut_interface_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
dut_interface_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
dut_interface_ipv6_prefix_length= <1-128>
mvpn_type= {rosen|nextgen}
ng_encap= {ipv4|ipv6|ipv4v6}
ng_multicast_traffic_role= {sender|receiver|sender_and_receiver}
sub_interface_enable= {1|0}
sub_interface_count= <1-95>
vlan_id= <0-4095>
vlan_id_step= <0-4095>
Arguments:
port_handle
Specifies the test port to be added to MVPN provider side. This
argument is `Mandatory`.
action
Specifies the action to be performed. This argument is
`Mandatory`. Possible values are described below::
add Adds a providerside test port
delete Deletes a providerside test port
dut_interface_ipv4_addr
Defines the first IPv4 address of the DUT interfaces connected
to the port. The default value is "0.0.0.0".
dut_interface_ipv4_addr_step
Specifies the step size in which the DUT IPv4 address is
incremented. The default value is 0.0.1.0. The number of times
that the step repeats is same as the number of subinterfaces.
This argument is only applicable when sub_interface_enable is
enabled.
dut_interface_ipv4_prefix_length
IPv4 address prefix length of DUT interface connected to the
port. Possible values range from 0 to 32. The default value is
24.
dut_interface_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the first IPv6 address of the DUT interfaces connected
to the port. The default value is ::.
dut_interface_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value to increment DUT IPv6 addresses. This
argument is only available when sub_interface_enable is
enabled. The default value is 0:0:0:1::. The number of times that
the step repeats is same as the number of subinterfaces.
dut_interface_ipv6_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 address's prefix length of the DUT interface
connected to the port. Possible values range from 1 to 128. The
default value is 64.
mvpn_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of MVPN to be tested. Possible values are::
rosen Rosen MVPN as specified in RFC 6037
nextgen NGMPVN as specified in RFC 6513/6514
The default value is rosen.
ng_encap
`Spirent Extension (for Spirent HLTAPI only).`
Identifies the type of encapsulation for the NGMVPN. Possible
values are::
ipv4 IPv4 NGMVPN
ipv6 IPv6 NGMVPN
ipv4v6 Dual stack NGMVPN
The default value is ipv4.
ng_multicast_traffic_role
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the role of the emulated device in multicast traffic.
Possible values are::
sender Sender only
receiver Receiver only
sender_and_receiver Sender and receiver
The default value is sender_and_receiver.
sub_interface_enable
Determines whether the subinterface on the DUT interface is
enabled. Possible values are 0 (disabled) and 1 (enabled). The
default value is 0. Subinterfaces allow multiple routers and
multiple VLANs to be created on each port. When this
argument is enabled, you can specify the following arguments::
sub_interface_count, -dut_interface_ipv4_addr_step,
vlan_id, and vlan_id_step.
sub_interface_count
Defines the number of subinterfaces (VLANs) of the DUT
interface. Possible values range from 1 to 95. The default
value is 1. This argument is only applicable when
sub_interface_enable is enabled.
vlan_id
Specifies the starting VLAN ID of DUT interfaces.
Possible values range from 0 to 4095. The default value is 1.
This argument is only applicable when sub_interface_enable
is enabled.
vlan_id_step
Defines the step size in which the VLAN ID is incremented.
Possible values range from 0 to 4095. The default is 1. This
argument is only applicable when sub_interface_enable is
enabled.
- Ciscospecific Arguments:
- None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation mvpn provider port config
function adds or deletes an emulated MVPN providerside test port. Use the -port_handle argument to specify the port to be added. Use the action argument to specify the action to perform. (See the action argument description for information about the actions.)Use action add to add one provider-side test port with the MVPN protocol. The added port can be removed with delete mode.
You can use dut_interface_ipv4_addr, dut_interface_ipv4_addr_step, and dut_interface_ipv4_prefix_length to configure the DUT interface that is connected to the test port.
Use the sub_interface_enable argument to determine whether the subinterface on the DUT interface is enabled. -sub_interface_count, dut_interface_ipv4_addr_step, -vlan_id, and -vlan_id_step are applicable only when the sub_interface_enable option is enabled.
- Examples:
The following example adds a test port to MVPN provider side:
emulation mvpn provider port config port_handle=$p1 action= add dut_interface_ipv4_addr= 6.145.1.1 dut_interface_ipv4_prefix_length= 24 dut_interface_ipv4_addr_step= 0.0.1.0
Sample output for example shown above:
{status 1}
The following example deletes a test port from MVPN provider side:
emulation mvpn provider port config port_handle=$p1 action= delete
Sample output for example shown above:
{status 1}
The following example configures the provider router for the NGMVPN:
set device_ret0_router0 [emulation mvpn provider port config action= add port_handle= $port2 dut_interface_ipv4_addr= 10.1.1.1 dut_interface_ipv4_addr_step= 1.0.0.0 dut_interface_ipv4_prefix_length= 24 mvpn_type= nextgen ng_encap= ipv4 ng_multicast_traffic_role= receiver ]
End of Procedure Header
emulation mvpn customer port config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Adds or deletes a Multicast VPN emulation test port on the MVPN customer side.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation mvpn customer port config
port_handle= <port_handle> M
action= {add|delete} M
dut_interface_ipv4_addr= <a.b.c.d>
dut_interface_ipv4_addr_step= <a.b.c.d>
dut_interface_ipv4_prefix_length= <0-32>
dut_interface_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
dut_interface_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
dut_interface_ipv6_prefix_length= <1-128>
sub_interface_enable= {1|0}
sub_interface_count= <1-95>
vlan_id= <0-4095>
vlan_id_step= <0-4095>
mvpn_type= {rosen|nextgen}
ng_encap= {ipv4|ipv6|ipv4v6}
ng_multicast_traffic_role= {sender|receiver|sender_and_receiver}
Arguments:
port_handle
Specifies the test port to be added to the MVPN customer side.
This argument is `Mandatory`.
action
Specifies the action to be performed. This argument is `Mandatory`.
Possible values are described below::
add - Adds a customerside test port
delete - Deletes a customerside test port
dut_interface_ipv4_addr
Defines the first IPv4 address of the DUT interfaces that are connected
to the port. The default value is "0.0.0.0".
dut_interface_ipv4_addr_step
Specifies the step size in which the DUT IPv4 address is
incremented. The default value is 0.0.1.0. The number of times that the
step repeats is same as the number of subinterfaces. This
argument is only applicable when sub_interface_enable is
enabled.
dut_interface_ipv4_prefix_length
Specifies the IPv4 address prefix length of DUT interface
that is connected to the
port. Possible values range from 0 to 32. The default value is
24.
dut_interface_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the first IPv6 address of the DUT interfaces connected
to the port. The default value is ::.
dut_interface_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value to increment DUT IPv6 addresses. This
argument is only available when sub_interface_enable is
enabled. The default value is 0:0:0:1::. The number of times that
the step repeats is same as the number of subinterfaces.
dut_interface_ipv6_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 address's prefix length of the DUT interface
connected to the port. Possible values range from 1 to 128. The
default value is 64.
mvpn_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of MVPN to be tested. Possible values are::
rosen Rosen MVPN as specified in RFC 6037
nextgen NG MPVN as specified in RFC 6513/6514
The default value is rosen.
ng_encap
`Spirent Extension (for Spirent HLTAPI only).`
Identifies the type of encapsulation for the NGMVPN. Possible
values are::
ipv4 IPv4 NGMVPN
ipv6 IPv6 NGMVPN
ipv4v6 Dual stack NGMVPN
The default value is ipv4.
ng_multicast_traffic_role
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the role of the emulated device in multicast traffic.
Possible values are::
sender Sender only
receiver Receiver only
sender_and_receiver Sender and receiver
The default value is sender_and_receiver.
sub_interface_enable
Determines whether the subinterface on the DUT interface is
enabled. Possible values are 0 (disabled) and 1 (enabled). The
default value is 0. Subinterfaces allow multiple routers and
multiple VLANs to be created on each port. When this
argument is enabled, you can specify the following arguments::
sub_interface_count, -dut_interface_ipv4_addr_step,
vlan_id, and vlan_id_step.
sub_interface_count
Defines the number of subinterfaces (VLANs) of the DUT
interface. Possible values range from 1 to 95. The default
value is 1. This argument is only applicable when
sub_interface_enable is enabled.
vlan_id
Specifies the starting VLAN ID of DUT interfaces.
Possible values range from 0 to 4095. The default value is 1.
This argument is only applicable when sub_interface_enable
is enabled.
vlan_id_step
Defines the step size in which the VLAN ID is incremented.
Possible values range from 0 to 4095. The default is 1. This
argument is only applicable when sub_interface_enable is
enabled.
- Ciscospecific Arguments:
- None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation mvpn customer port config
function adds or deletes an emulated MVPN customerside test port. Use the -port_handle argument to specify the port to be added. Use the action argument to specify the action to perform. (See the action argument description for information about the actions.)For more information, you can refer to the description of the
emulation mvpn provider port config
function. The usage of emulation mvpn customer port config options is similar to that of the emulation mvpn provider port config options.- Examples:
The following example adds a test port to MVPN customer side:
emulation mvpn customer port config port_handle=$p2 action= add dut_interface_ipv4_addr= 6.146.1.1 dut_interface_ipv4_prefix_length= 24 dut_interface_ipv4_addr_step= 0.0.1.0
Sample output for example shown above:
{status 1}The following example deletes a test port from MVPN customer side:
emulation mvpn provider port config port_handle=$p2 action= delete
Sample output for example shown above:
{status 1}
The following example configures the customer router for the NGMVPN:
set device_ret0_router0 [emulation mvpn customer port config action= add port_handle= $port1 dut_interface_ipv4_addr= 30.1.1.1 dut_interface_ipv4_addr_step= 0.0.0.0 dut_interface_ipv4_prefix_length= 24 dut_interface_ipv6_addr= 3001::1 dut_interface_ipv6_addr_step= ::1 dut_interface_ipv6_prefix_length= 64 mvpn_type= nextgen ng_encap= ipv4v6 ng_multicast_traffic_role= sender ]
End of Procedure Header
emulation mvpn config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- The
emulation mvpn config
function configures an RFC 2547bis style MPLS IP VPN network topologies, creates emulated and simulated CE, P, and PE routers, selects and enables routing and labeling protocols, configures multicast VPNs, and creates the traffic that is sent between VPNs.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation mvpn config
dut_loopback_ipv4_addr= <a.b.c.d>
dut_as= <1-65535>
dut_4byte_as_enable= {1|0}
dut_4byte_as= <65535:65535>
igp_protocol= { ospf|isis|rip }
mpls_protocol= { ldp|rsvp }
bgp_bfd_enable= {1|0}
mpls_rsvp_bandwidth_per_link= {1-2147483647}
mpls_rsvp_bandwidth_per_tunnel= {1-2147483647}
mpls_rsvp_egress_label= { next_available|implicit_null|
explicit_null }]
mpls_rsvp_transit= { accept_all|accept_configured }
mpls_rsvp_min_label= {1-65535}
mpls_rsvp_max_label= {1-65535}
mpls_rsvp_graceful_restart_enable= {1|0}
mpls_rsvp_recover_time= <0-4294967295>
mpls_rsvp_restart_time= <0-4294967295>
mpls_rsvp_bfd_enable= {1|0}
mpls_ldp_hello_type= { direct|targeted}
mpls_ldp_transport_mode= { none|tester_ip|router_id }
mpls_ldp_hello_interval= <1-21845>
mpls_ldp_keepalive_interval= <1-21845>
mpls_ldp_egress_label= { next_available|implicit_null|explicit_null }
mpls_ldp_min_label= <1-65535>
mpls_ldp_graceful_restart_enable= {1|0}
mpls_ldp_recover_time= <0-4294967>
mpls_ldp_reconnect_time= <0-4294967>
mpls_ldp_bfd_enable= {1|0}
igp_ospfv2_area_id= <a.b.c.d>
igp_ospfv2_network_type= {native|broadcast|p2p}
igp_ospfv2_router_priority= <0-255>
igp_ospfv2_interface_cost= <1-65535>
igp_ospfv2_options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
igp_ospfv2_authentication_mode= {none|simple|md5}
igp_ospfv2_authentication_password= <password>
igp_ospfv2_authentication_md5_key= <0-255>
igp_ospfv2_graceful_restart_enable= {1|0}
igp_ospfv2_graceful_restart_type= {none|rfc_standard|ll_signalling}
igp_ospfv2_bfd_enable= {1|0}
igp_isis_level= {level1|level2|level1_and_2}
igp_isis_network_type= {broadcast|p2p}
igp_isis_router_priority= <0-127>
igp_isis_area1= <ANY>
igp_isis_area2= <ANY>
igp_isis_area3= <ANY>
igp_isis_circuit_id= <0-255>
igp_isis_authentication_mode= {none|simple|md5 }
igp_isis_authentication_password= <ANY>
igp_isis_authentication_md5_key= <0-255>
igp_isis_metric_mode= {narrow|wide|narrow_and_wide}
igp_isis_l1_metric= <1-63>
igp_isis_l1_wide_metric= <0-16777215>
igp_isis_l2_metric= <1-63>
igp_isis_l2_wide_metric= <0-16777215>
igp_isis_graceful_restart_enable= {1|0}
igp_isis_hello_padding= {1|0}
igp_isis_bfd_enable= {1|0}
ipv4_unique_groups_per_sender= {0|1}
ipv4_starting_group_address= <a.b.c.d>
ipv4_group_count= <1-65535>
ipv4_group_address_increment= <a.b.c.d>
ipv6_unique_groups_per_sender= {0|1}
ipv6_starting_group_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_group_count= <1-65535>
ipv6_group_address_increment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_vpn_route_mpls_label_type= {site|route}
p_router_enable= {1|0}
p_router_number_per_sub_interface= <1-65535>
p_router_topology_type= {tree|grid}
p_router_loopback_ipv4_addr= <a.b.c.d>
p_router_loopback_ipv4_addr_step= <a.b.c.d>
p_router_interface_ipv4_addr= <a.b.c.d>
p_router_interface_ipv4_addr_prefix_length= <0-32>
pe_router_number_per_sub_interface= <1-65535>
pe_router_loopback_ipv4_addr= <a.b.c.d>
pe_router_loopback_ipv4_addr_step= <a.b.c.d>
bgp_route_reflector_enable= {1|0}
bgp_route_reflector_per_sub_interface= <1-65535>
bgp_route_reflector_per_pe= <1-65535>
bgp_route_reflector_loopback_ipv4_addr= <a.b.c.d>
bgp_route_reflector_loopback_ipv4_addr_step= <a.b.c.d>
bgp_route_reflector_cluster_id= <a.b.c.d>
bgp_route_reflector_cluster_id_step= <a.b.c.d>
bgp_route_reflector_ids= <a.b.c.d>
bgp_route_reflector_mode= {stc_as_rr|dut_as_rr}
vrf_number= <1-65535>
vrf_rd_assignment= {use_rt|manual}
vrf_route_target_start= <ANY>
vrf_route_target_step= <ANY>
customer_ce_vrf_assignment= {round_robin|sequential}
customer_ce_bgp_as= <1-65535>
customer_ce_bgp_as_step_per_ce_enable= {1|0}
customer_ce_bgp_as_step_per_ce= <0-65535>
customer_ce_bgp_as_step_per_vrf_enable= {1|0}
customer_ce_bgp_as_step_per_vrf= <0-65535>
customer_ce_bgp_4byte_as_enable= {1|0}
customer_ce_bgp_4byte_as= <ANY>
customer_ce_bgp_4byte_as_step_per_ce_enable= {1|0}
customer_ce_bgp_4byte_as_step_per_ce= <0-65535>
customer_ce_bgp_4byte_as_step_per_vrf_enable= {1|0}
customer_ce_bgp_4byte_as_step_per_vrf= <0-65535>
customer_ce_routing_protocol= {bgp|ospf|rip|isis|static_route|mixed}
customer_ce_bgp_percent= <0-100>
customer_ce_rip_percent= <0-100>
customer_ce_ospf_percent= <0-100>
customer_ce_isis_percent= <0-100>
customer_ce_static_route_percent= <0-100>
customer_ipv4_mcast_sender_per_route= <1-2147483647>
customer_ipv4_mcast_sender_routes_per_ce= <1-2147483647>
customer_ipv4_vpn_route_step= <NUMERIC>
customer_ipv4_vpn_route_start= <a.b.c.d>
customer_ipv4_vpn_route_prefix_length= <1-32>
customer_ipv4_vpn_route_overlap= {0|1}
customer_ipv6_vpn_route_step= <NUMERIC>
customer_ipv6_vpn_route_prefix_length= <1-128>
customer_ipv6_vpn_route_overlap= {0|1}
customer_ipv6_vpn_route_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
provider_ipv4_mcast_sender_per_route= <1-2147483647>
provider_ipv4_mcast_sender_routes_per_ce= <1-2147483647>
provider_ipv4_vpn_route_step= <NUMERIC>
provider_ipv4_vpn_route_start= <a.b.c.d>
provider_ipv4_vpn_route_prefix_length= <1-32>
provider_ipv4_vpn_route_overlap= {0|1}
provider_ipv6_vpn_route_step= <NUMERIC>
provider_ipv6_vpn_route_prefix_length= <1-128>
provider_ipv6_vpn_route_overlap= {0|1}
provider_ipv6_vpn_route_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
multicast_traffic_enable= {0|1}
customer_enable_all_ipv6_mcast_sender_routes_per_ce= {0|1}
customer_enable_all_ipv4_mcast_sender_routes_per_ce= {0|1}
customer_enable_cust_bsr= {0|1}
customer_rp_increment= <a.b.c.d>
customer_rp_addr= <a.b.c.d>
customer_ce_pim_protocol= {sm|ssm}
customer_ipv6_rp_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
customer_ipv6_rp_increment= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
customer_ipv6_routes_per_ce= <1-2147483647>
customer_ipv6_mcast_sender_per_route= <1-2147483647>
customer_ipv6_mcast_sender_routes_per_ce= <1-2147483647>
customer_ipv6_ce_route_type= {internal|external}
customer_rd_start= <ANY>
customer_rd_step_per_vrf_enable= {1|0}
customer_rd_step_per_vrf= <ANY>
customer_rd_step_per_ce_enable= {1|0}
customer_rd_step_per_ce= <ANY>
provider_pe_vrf_assignment= {vpn_per_pe|pe_per_vpn}
provider_pe_vrf_count= <integer>
provider_pe_vrf_all_assign= {1|0}
provider_ce_bgp_as_enable= {1|0}
provider_ce_bgp_as= <1-65535>
provider_ce_bgp_as_step_per_ce_enable= {1|0}
provider_ce_bgp_as_step_per_ce= <1-65535>
provider_ce_bgp_as_step_per_vrf_enable= {1|0}
provider_ce_bgp_as_step_per_vrf= <1-65535>
provider_ce_bgp_4byte_as_enable= {1|0}
provider_ce_bgp_4byte_as= <ANY>
provider_ce_bgp_4byte_as_step_per_ce_enable= {1|0}
provider_ce_bgp_4byte_as_step_per_ce= <1-65535>
provider_ce_bgp_4byte_as_step_per_vrf_enable= {1|0}
provider_ce_bgp_4byte_as_step_per_vrf= <1-65535>
provider_ipv6_routes_per_ce= <1-2147483647>
provider_ipv6_mcast_sender_per_route= <1-2147483647>
provider_ipv6_mcast_sender_routes_per_ce= <1-2147483647>
provider_rd_start= <ANY>
provider_rd_step_per_vrf_enable= {1|0}
provider_rd_step_per_vrf= <ANY>
provider_rd_step_per_ce_enable= {1|0}
provider_rd_step_per_ce= <ANY>
customer_use_ports_enable= {0|1}
provider_use_ports_enable= {0|1}
customer_multicast_traffic_load_percent_from_ports= <0-100>
provider_multicast_traffic_load_percent_from_ports= <0-100>
multicast_default_mdt_addr= <a.b.c.d>
multicast_default_mdt_increment= <a.b.c.d>
multicast_data_mdt_enable= {1|0}
multicast_data_mdt_addr= <a.b.c.d>
multicast_data_mdt_increment= <a.b.c.d>
multicast_framesize= <12-16383>
multicast_receiver_have_same_group= {1|0}
multicast_group_count= <1-65535>
multicast_group_addr_start= <a.b.c.d>
multicast_group_addr_increment= <a.b.c.d>
multicast_group_increment_per_interface= {1|0}
multicast_group_addr_increment_per_vlan= <a.b.c.d>
multicast_group_addr_increment_per_port= <a.b.c.d>
multicast_multiple_sender_enable= {1|0}
multicast_multiple_sender_count= <1-65535>
multicast_provider_pim_protocol= { pim_sm|pim_ssm}
multicast_provider_bsr_enable= {1|0}
multicast_provider_rp_addr= <a.b.c.d>
multicast_customer_pim_protocol= {pim_sm|pim_ssm}
multicast_customer_bsr_enable= {1|0}
multicast_customer_rp_addr= <a.b.c.d>
multicast_customer_rp_increment= <a.b.c.d>
customer_route_type= { internal|external}
customer_route_count_per_ce= <1-2147483647>
customer_route_start= <a.b.c.d>
customer_route_step= <a.b.c.d>
customer_route_prefix_length= <1-32>
customer_route_overlap= {1|0}
provider_route_count_per_ce= <1-2147483647>
provider_route_start= <a.b.c.d>
provider_route_step= <a.b.c.d>
provider_route_prefix_length= <1-32>
provider_route_overlap= {1|0}
vrf_route_mpls_label_type= {label_per_site|label_per_route}
vrf_route_mpls_label_start= <1-1048575>
traffic_frame_size= <12-16383>
traffic_analyzer_enable= {1|0}
traffic_load_percent_from_provider_port= <0-100>
traffic_load_percent_from_customer_port= <0-100>
multicast_traffic_flow_direction= {customer_to_provider|
customer_to_customer|customer_to_all_other|
provider_to_customer}]
multicast_traffic_source_count= <1-65535>
multicast_traffic_all_source_enable= {1|0}
multicast_traffic_receiver_count= <integer>
multicast_traffic_all_receiver_enable= {1|0}
mdt_switch_over_traffic_enable= {1|0}
mdt_switch_over_interval= <0-65535>
mdt_switch_over_delay= <0-65535>
unicast_traffic_enable= {1|0}
unicast_traffic_flow_direction= {customer_to_core|
core_to_customer|bidirectional|fully_meshed}]
unicast_traffic_stream_group_method= {aggregate|vpn }
unicast_traffic_use_single_stream_per_endpoint_pair= {1|0}
traffic_pattern= {one_to_one|one_to_many}
use_dut_ifc_as_rp_addr= {0|1}
vpn_v4_enable= {0|1}
vpn_v6_enable= {0|1}
ldp_hello_type= {directed|targeted}
mvpn_type= {nextgen|rosen}
Arguments:
dut_loopback_ipv4_addr
Specifies the loopback IPv4 address of DUT. Loopback
IPv4 address of DUT Loopback address is a special IP
number that is designated for the software loopback
interface of a machine. You must specify the value of this
argument in IPv4 format. The default value is 10.0.0.1.
dut_as
The autonomous system (AS) number of DUT.
Possible values range from 1-65535. The default value
is 1.
dut_4byte_as_enable
Determines whether 4byte AS number is enabled on DUT.
When it is set to 1, you can specify the 4byte AS number.
Possible values are 0 and 1. The default values is 0.
dut_4byte_as
Specifies the 4byte AS number of DUT. You should set it
in the format of "<integer>:<integer>". The integer used
must be smaller than 65535. The default value is 1:1.
igp_protocol
Specifies the Interior Gateway
Protocol (IGP) used by DUT. Networks
within an autonomous system communicate routing
information to each other using an IGP protocol. Possible
values are::
ospf Indicates Open Shortest Path First(OSPF) that is a
router protocol used within larger autonomous
system networks.
isis Specifies the Intermediate System to Intermediate
System(ISIS) protocol. Routers (Intermediate
Systems) use ISIS to exchange routes within a single
network (routing domain).
rip Specifies the Routing Information Protocol (RIP).
The default value is ospf.
mpls_protocol
Specifies the MPLS protocol to be used by DUT. MPLS refers to a
mechanism which directs and transfers data between Wide Area
Networks (WANs) nodes with high performance, regardless of the
content of the data. The default value is ldp. Possible values
are described below::
none Specifies that there is no MPLS protocol to be used
by DUT.
ldp Indicates the Label Distribution Protocol(LDP).
rsvp Indicates the resource reservation setup protocol
(RSVP).
bgp_bfd_enable
Determines whether the Bidirectional Forwarding
Detection (BFD) is enabled on BGP on DUT. Possible values are 0
and 1. The default is 0.
mpls_rsvp_bandwidth_per_link
Specifies the maximum bandwidth per ISIS/OSPFv2 TE
link for simulated Provider router topology links. The value
is measured in bytes per second. Possible values range
from 1 to 2147483647. The default value is 100000.
This option is only applicable when you specify
mpls_protocol rsvp.
mpls_rsvp_bandwidth_per_tunnel
RSVPTE Bandwidth rate, measured in bytes per second,
for provider tunnels. Possible values range from 1 to
2147483647. The default value is 0. This option is only
applicable when you specify mpls_protocol rsvp.
mpls_rsvp_egress_label
Specifies the label advertised if the emulated router is at
the tailend of the tunnel. Possible values are
next_available, implicit_null, and explicit_null. The default
is next_available. This option is only applicable when you
specify mpls_protocol rsvp. The values are described below::
next_available Advertises the next available label.
For each Forwarding Equivalence Class (FEC), the
Label Switching Router (LSR) advertises the next
available label from the label pool (Min Label
to Max Label).
implicit_null Advertises label 3, the implicit null label.
This label value (three) is used in a RSVP packet
to enable penultimate hop label popping. The
egress LSR signals a request to its upstream
neighbor to pop the top label in the stack and
forward the rest of the packet. This value does
not appear in the encapsulation.
explicit_null Advertise label 9, the explicit null label.
A zero (IPv4 datagram) or two (IPv6 datagram) MPLS
label value indicates to the penultimate router
that it is to pop the label upon receipt and
forward the IP packet to the egress router for
Layer 3 forwarding. Explicit null instructions are
signaled to the penultimate router by the egress
router.
mpls_rsvp_transit
Defines the reservation message sent when the
emulated router is not the tailend router for PATH
messages it receives. Possible values are accept_all and
accept_configured. The default value is accept_configured.
This option is only applicable when you specify
mpls_protocol rsvp. Possible values are described below::
accept_all The router sends a reservation message
with the next available label for every PATH
message received by the unique MAC/VLAN
combination on the port.
accept_configured The router sends a reservation
message with the next available label in
response to PATH messages that match one
of its egress tunnels.
mpls_rsvp_min_label
Defines the minimum label number used by the RSVP
session. Possible values range from 1 to 65535. The
default value is 16. This option is only applicable
when you specify mpls_protocol rsvp.
mpls_rsvp_max_label
Defines the maximum label number used by the RSVP
session. Possible values range from 1 to 65535. The
default value is 65535. This option is only applicable
when you specify mpls_protocol rsvp.
mpls_rsvp_graceful_restart_enable
Enables or disables the RSVP graceful restart. Possible
values are 0 (disable) and 1 (enable). If it is set to 1, enables
graceful restart which adds a RESTART_CAP object in HELLO
messages. Enabling graceful restart will automatically enable
HELLO messages. This option is only applicable when
you specify mpls_protocol rsvp. The default value
is 0.
mpls_rsvp_recover_time
Specifies the length of time (in milliseconds) that the
sender desires for the recipient to resynchronize RSVP and
MPLS forwarding state with the sender after the re-
establishment of Hello synchronization. Possible values are
0 to 4294967295. A value of zero (0) indicates that MPLS
forwarding state was not preserved across a particular
reboot. The default value is 0. This option is applicable
only when you enable the
mpls_rsvp_graceful_restart_enable argument.
mpls_rsvp_restart_time
Specifies the sum of the time, in milliseconds, it takes the
sender of the object to restart its RSVP component (to the
point where it can exchange RSVP HELLO with its
neighbors) and the communication channel that is used for
RSVP communication. Possible values are 0 to
4294967295. The default is 3000. This option is applicable
only when you enable the
mpls_rsvp_graceful_restart_enable argument.
mpls_rsvp_bfd_enable
Enables or disables the Bidirectional Forwarding Detection
(BFD) on RSVP session. Possible values are 1 (enable) and
0 (disable). When it is set to 1, Spirent HLTAPI creates a
BFD session with IP addressing matching providerside
routers. The default value is 0. To use this argument,
you must specify mpls_protocol rsvp.
mpls_ldp_hello_type
Specifies the type of Hello packet on LDP. This option is
only applicable when you specify mpls_protocol ldp.
Possible values are::
direct A Basic Discovery mechanism that is used to locate
directlyconnected neighbors. The Peer IP address is
the DUT interface address.
targeted An Extended Discovery mechanism that is used to
locate neighbors which are not directly connected.
The Peer IP address is the DUT loopback address.
The default value is direct. This argument is only applicable
when you specify mpls_protocol ldp.
mpls_ldp_transport_mode
Specifies the mode of LDP Transport Address TLV.
Possible values are::
none Specifies that the Transport Address TLV will not be
included in LDP Hello messages.
tester_ip Indicates that the LSR will take the emulated
router interface address as the transport address and
include the Transport Address TLV in LDP Hello
messages.
router_id Indicates that the LSR will take the emulated
router ID, that is, the loopback address as the
transport address and include the Transport Address
TLV in LDP Hello messages.
The default value is tester_ip. This option is
only applicable when you specify mpls_protocol ldp.
mpls_ldp_hello_interval
Specifies the amount of time, in seconds, between HELLO
messages in LDP session. Possible values range from 1 to
21845. The default value is 5. This option is
only applicable when you specify mpls_protocol ldp.
mpls_ldp_keepalive_interval
Specifies the amount of time, in seconds, between
KEEPALIVE messages. Possible values range from 1 to
21845. The default is 60. This option is
only applicable when you specify mpls_protocol ldp.
mpls_ldp_egress_label
Specifies the emulated label advised by the emulated peer.
The default is next_available. This option is only applicable
when you specify mpls_protocol ldp. Possible values are
described below::
next_available Advertises the next available label.
For each Forwarding Equivalence Class (FEC), the
Label Switching Router (LSR) advertises the next
available label from the label pool (Min Label to
Max Label).
implicit_null Advertises label 3, the implicit null label.
This label value (three) is used on an LDP
packet to enable penultimate hop label popping. The
egress LSR signals a request to its upstream neighbor
to pop the top label in the stack and forward the rest
of the packet. This value does not appear in the
encapsulation.
explicit_null Advertise label 9, the explicit null label.
A zero (IPv4 datagram) or two (IPv6 datagram)
MPLS label value indicates to the penultimate router
that it is to pop the label upon receipt and forward the
IP packet to the egress router for Layer 3 forwarding.
Explicit null instructions are signaled to the
penultimate router by the egress router.
mpls_ldp_min_label
Defines the minimum label number used by the LDP
session. Possible values range from 1 to 65535. The
default value is 16. This option is only applicable
when you specify mpls_protocol ldp.
mpls_ldp_graceful_restart_enable
Enables or disables the LDP graceful restart. Possible
values are 0 (disable) and 1 (enable). If it is set to 1, enables
graceful restart which adds a
RESTART_CAP object in HELLO messages.
Enabling graceful restart will automatically enable
HELLO messages. This option is only applicable when
you specify mpls_protocol ldp. The default value
is 0.
mpls_ldp_recover_time
Specifies the length of time (in milliseconds) that the
sender desires for the recipient to resynchronize LDP and
MPLS forwarding state with the sender after the re-
establishment of Hello synchronization. Possible values are
0 to 4294967. A value of zero (0) indicates that MPLS
forwarding state was not preserved across a particular
reboot. The default value is 140. This option is applicable
only when you enable the
mpls_ldp_graceful_restart_enable argument.
mpls_ldp_reconnect_time
Specifies the amount of time, in seconds, it takes Spirent
HLTAPI to reconnect after a graceful restart. To use
this option, you must also enable
mpls_ldp_graceful_restart_enable and
specify a value for the mpls_ldp_recover_time argument.
Possible values are 0 to 4294967. The default is 60.
mpls_ldp_bfd_enable
Enables or disables the Bidirectional Forwarding Detection
(BFD) on LDP session. Possible values are 1 (enable) and
0 (disable). When it is set to 1, Spirent HLTAPI creates a
BFD session with IP addressing matching providerside
routers. The default value is 0. To use this argument,
you must specify mpls_protocol ldp.
igp_ospfv2_area_id
Specifies the IP address indicating the customerside area to
which the emulated router belongs. You must specify it in
the IPv4 format. The default value is 0.0.0.0. To use this
argument, you must specify igp_protocol ospf.
igp_ospfv2_network_type
Specifies the type of network link. Possible values are::
native Specifies the interface on OSPF session uses the
adjacency implied by the porttype. Use this setting
to override the physical link type to emulate a
broadcast adjacency over POS, or a pointto-point
adjacency over Ethernet.
broadcast Ethernet links use a Broadcast adjacency.
p2p POS links use a P2P (pointto-point) adjacency.
The default value is native. To use this argument, you must
specify igp_protocol ospf.
igp_ospfv2_router_priority
Specifies the router priority of the emulated router. Set the
router priority to a higher or lower value to influence the
designated router (DR) and backup designated router
(BDR) selection process. Possible values range from 0
to 255. The default is 0. To use this argument, you must
specify igp_protocol ospf.
igp_ospfv2_interface_cost
Indicates the cost of the interface connecting the emulated
router to the neighbor DUT router. Possible values range
from 1 to 65535. The default is 1. To use this argument, you
must specify igp_protocol ospf.
igp_ospfv2_options
A bit mask that specifies the settings of the Options field
in Hello packets sent to the DUT. The Options field
describes the optional OSPF capabilities of the router.
Section A.2 in RFC 2328 describes the Options field for
OSPFv2. Only OSPFv2 is involved in MVPN, so not all the
values for v3 of this switch are available in this
command. To use this argument, you must
specify igp_protocol ospf.
Use hexadecimal for this value. The default for OSPFv2 is
0x02, which sets the Ebit (binary 00000010). The values
are described below::
TOS: 0x01: bit of "Type Of Service". This bit is not
available in this command.
E: 0x02: External Routing: This bit specifies the way
ASexternal-LSAs are flooded. When this bit is
set, the area type is external_capable; when this
bit is cleared, the area type is stub.
MC: 0x04: Multicast: This bit specifies whether IP
multicast datagrams are forwarded.
NP: 0x08: This bit specifies the handling of Type-7
LSAs.
EA: 0x10: External Attribute: This bit specifies the
router's willingness to receive and forward
ExternalAttributes-LSAs.
R: 0x10: This bit indicates if the originator is an active
router.
DC: 0x20: Demand Circuit: This bit specifies the router's
handling of demand circuits.
O: 0x40: Opaque: This bit specifies the router's
willingness to receive and forward Opaque
LSAs.
igp_ospfv2_authentication_mode
Specifies the type of authentication to be used. To use this
argument, you must specify igp_protocol ospf.
Possible values are::
none Indicates that no attributes have been set (no
authentication).
simple Indicates the simple authentication will be used.
The packet is authenticated by the receiving router if
the password matches the authentication key that is
included in the packet. This method provides little
security because the authentication key can be
learned by capturing packets.
md5 Use the MD5 key ID for authentication.
The packet contains a cryptographic checksum, but
not the authentication key itself. The receiving router
performs a calculation based on the MD5 algorithm
and an authentication key ID. The packet is
authenticated if the calculated checksum matches.
This method provides a stronger assurance that
routing data originated from a router with a valid
authentication key.
The default value is none.
igp_ospfv2_authentication_password
Indicates the password used in OSPFv2 authentication. Use this
argument only if igp_ospfv2_authentication_mode is set to simple
or md5. When you specify igp_ospfv2_authentication_mode
simple, the value of this argument should be of 1-8
alphanumeric characters. When you specify
igp_ospfv2_authentication_mode md5, the value of this
argument should be of 1-16 alphanumeric characters.
The default value is "spirent".
igp_ospfv2_authentication_md5_key
Specifies the MD5 key used in OSPFv2 authentication.
Possible values range from 0 to 255. The default is 1.
Use this argument only if the
igp_ospfv2_authentication_mode option is set to md5.
igp_ospfv2_graceful_restart_enable
Enables or disables the ospfv2 graceful restart. Possible
values are 0 (disable) and 1 (enable). If it is set to 1, enables
graceful restart which adds a RESTART_CAP object in HELLO
messages. Enabling graceful restart will automatically enable
HELLO messages. This option is only applicable when
you specify igp_protocol ospf. The default value
is 0.
igp_ospfv2_graceful_restart_type
Specifies the type of graceful restart to be used by ospfv2
session. Possible values are::
none Indicates there is no graceful restart.
rfc_standard Defines that the graceful restart follows RFC
3623.
ll_signalling Indicates the LinkLayer Signaling.
The default value is none. Use this argument
only if igp_ospfv2_graceful_restart_enable is enabled.
igp_ospfv2_bfd_enable
Enables or disables BFD on the OSPF interface on the DUT.
Possible values are 1 (enable) and 0 (disable). The default
value is 0. This argument is applicable only when
igp_protocol is set to ospf.
igp_isis_level
Specifies the ISIS level used in the customer side. It
defines the type of adjacency Spirent HLTAPI establishes
with the DUT. The default value is level2. Use this
argument only if the igp_protocol is set to isis. Possible
values are described below::
level1 Specifies that Spirent HLTAPI will establish
adjacency on Level 1 (intraarea).
level2 Specifies that Spirent HLTAPI will establish
adjacency on Level 2 (inter area).
level1_and_2 Specifies that Spirent HLTAPI will
establish adjacency on both Level 1 and Level 2.
igp_isis_network_type
Specifies the ISIS network type at the customer side.
Possible values are::
broadcast Indicates that the network is a broadcast
network, as in an Ethernet connection.
This is the default.
ptop Pointto-point (PTOP). A network formed by a
pointto-point link between two routers.
The default value is broadcast. Use this argument only if
the igp_protocol is set to isis.
igp_isis_router_priority
Sets the priority for the emulated ISIS router. ISIS routers
use the priority to elect the designated and backup
designated routers. The default is 0. Possible
values are 0 to 127. Use this argument only if the
igp_protocol is set to isis.
igp_isis_area1
Specifies the `Mandatory` area address. You must specify at
least one address. Spirent HLTAPI supports up to three
addresses per emulated router. Use this argument only if the
igp_protocol is set to isis.
igp_isis_area2
Specifies the optional area address. Use this argument only
if the igp_protocol is set to isis. The default is "".
igp_isis_area3
Specifies the optional area address. Use this argument only
if the igp_protocol is set to isis. The default is "".
igp_isis_circuit_id
Specifies the circuit ID for the ISIS session. Possible
values range from 0 to 255. The default value is 1. Use this
argument only when the igp_protocol is set to isis.
igp_isis_authentication_mode
Specifies the type of authentication to be used. To use this
argument, you must specify igp_protocol isis.
Possible values are:
none
Indicates that no attributes have been set (no
authentication).
simple
Indicates that simple authentication will be used.
md5
Use the MD5 key ID for authentication.
The default value is none.
igp_isis_authentication_password
Indicates the password used in ISIS authentication. Use this
argument only if igp_isis_authentication_mode is set to simple
or md5. When you specify igp_isis_authentication_mode
simple, the value of this argument should be of 1-8
alphanumeric characters. When you specify
igp_isis_authentication_mode md5, the value of this
argument should be of 1-16 alphanumeric characters.
The default value is "spirent".
igp_isis_authentication_md5_key
Specifies the MD5 key used in ISIS authentication.
Possible values range from 0 to 255. The default is 1.
Use this argument only when the
igp_isis_authentication_mode option is set to md5.
igp_isis_metric_mode
Specifies the length of the metric field in the Link State
Path (LSP) packet. To use this argument, you must specify
igp_protocol isis. The default value is narrow_and_wide.
Possible values are described below::
narrow Router advertises routes with a narrow (6bit)
metric.
wide Router advertises routes with a wide (24- or 32bit)
metric (required for ISIS TE).
narrow_and_wide Router advertises the same route with
both metrics.
igp_isis_l1_metric
Metric of the emulated router interface. It is advertised in
the Level 1 IS Neighbors metric TLV and is used for Level 1
LSPs. It is blank and disabled if igp_isis_level is set to
level2 or if igp_isis_metric_mode is set to wide. Use this
argument only when you specify igp_protocol isis. Possible
values range from 1 to 63. The default is 1.
igp_isis_l1_wide_metric
Indicates the threeoctet metric of a link from the emulated
router to the DUT. It is advertised in the Extended IS
Reachability TLV of the L1 LSP originated by the emulated
router. It is blank and disabled if igp_isis_level is set to
level2 or if igp_isis_metric_mode is set to narrow. Possible
values range from 0 to 16777215. The default is 1.
igp_isis_l2_metric
Metric of the emulated router interface. It is advertised in
the Level 2 IS Neighbors metric TLV and is used for Level
2 LSPs. It is blank and disabled if igp_isis_level is set to
level1 or if igp_isis_metric_mode is set to wide. Use this
argument only when you specify igp_protocol isis.
Possible values range from 1 to 63. The default is 1.
igp_isis_l2_wide_metric
Indicates the threeoctet metric of a link from the emulated
router to the DUT. It is advertised in the Extended IS
Reachability TLV of the L2 LSP originated by the emulated
router. It is blank and disabled if igp_isis_level is set to
level1 or if igp_isis_metric_mode is set to narrow. Possible
values range from 0 to 16777215. The default is 1.
igp_isis_graceful_restart_enable
Enables or disables the ISIS graceful restart. Possible
values are 0 (disable) and 1 (enable). If it is set to 1, enables
graceful restart which adds a
RESTART_CAP object in HELLO messages.
Enabling graceful restart will automatically enable
HELLO messages. This option is only applicable when
you specify igp_protocol isis. The default value
is 0.
igp_isis_hello_padding
Enables or disables hello padding. When you enable this
option, Spirent HLTAPI pads all Hello packets to the ISO
standard sized Protocol Data Unit (PDU). When you
disable this option, Spirent HLTAPI pads the initial Hello
packet and use a smaller PDU for subsequent Hello
packets. This option is only applicable when you specify
igp_protocol isis. Possible values are 1 (enable) and 0
(disable). The default is 1.
igp_isis_bfd_enable
Enables or disables the Bidirectional Forwarding Detection
(BFD) on ISIS session. Possible values are 1 (enable) and
0 (disable). When it is set to 1, Spirent HLTAPI creates a
BFD session with IP addressing matching providerside
routers. The default value is 0. To use this argument,
you must specify igp_protocol isis.
p_router_enable
Enables or disables the emulation of provider routers in the
test. When it is set to 0, only provider edge routers will be
emulated or simulated. Possible values are 1 and 0. The
default is 1.
p_router_number_per_sub_interface
The number of provider routers per providerside
subinterface. Only 1 emulated provider router (P router) is
created per subinterface. If this number is greater than 1,
the additional P routers are simulated through the IGP
protocol routes. The topology for the additional P routers is
determined by the p_router_topology_type option. Possible
values range from 1 to 65535. The default is 1. Use this
argument only when p_router_enable is enabled.
p_router_topology_type
Defines the topology of the provider network. Possible
values are tree and grid. The default value is tree. Use this
argument only when p_router_enable is enabled.
p_router_loopback_ipv4_addr
Defines the first loopback address of emulated P routers.
The value of this option should be in IPv4 format. The
default value is 192.0.1.1. Use this argument only when
p_router_enable is enabled.
p_router_loopback_ipv4_addr_step
Indicates the step applied to the loopback addresses for the
emulated P routers. The value of this option should be in
IPv4 format. The default is 0.0.1.0. Use this argument
only when p_router_enable is enabled.
p_router_interface_ipv4_addr
Specifies the starting IPv4 interface address of the
emulated P routers. The default is 1.0.0.1. Use this argument
only when p_router_enable is enabled.
p_router_interface_ipv4_addr_prefix_length
Specifies the IP prefix length on the simulated P router IPv4
interfaces. Possible values range from 0 to 32. The default
is 24. Use this argument only when p_router_enable is enabled.
pe_router_number_per_sub_interface
Defines the number of provideredge (PE) routers created
on each providerside sub-interface. Possible values range
from 1 to 65535. The default is 1. Use this argument
only when p_router_enable is enabled.
pe_router_loopback_ipv4_addr
Specifies the starting providerside PE router IPv4 address.
The default is 10.0.0.2. Use this argument only when
p_router_enable is enabled.
pe_router_loopback_ipv4_addr_step
Defines the step size by which the providerside PE router
is incremented. The default is 0.0.0.1. Use this argument
only when p_router_enable is enabled.
bgp_route_reflector_enable
Enables the usage of core side route reflectors. When this
attribute is enabled, Spirent HLTAPI emulates a BGP
route reflector on one (or more) of the generated P routers.
The DUT should be set up to peer with the route reflector
instead of the PE routers (which Spirent HLTAPI
simulates through advertised routes). Possible values are 1
(enable) and 0 (disable). The default is 0.
bgp_route_reflector_per_sub_interface
Specifies the number of route reflectors per providerside
subinterface. Possible values are 1 to 65535. The default is
1. You can use this argument only when
bgp_route_reflector_enable is enabled.
bgp_route_reflector_per_pe
Specifies the number of route reflectors per provider edge
router. Possible values are 1 to 65535. The default is
1. You can use this argument only when
bgp_route_reflector_enable is enabled.
bgp_route_reflector_loopback_ipv4_addr
Specifies the starting loopback IPv4 address of the route
reflectors. The default is 7.7.7.7. You can use this argument
only when bgp_route_reflector_enable is enabled.
bgp_route_reflector_loopback_ipv4_addr_step
The amount by which to increment providerside route
reflector loopback IP address
(bgp_route_reflector_loopback_ipv4_addr) for each
subsequent route reflector. The default value is 0.0.0.1. You
can use this argument only when
bgp_route_reflector_enable is enabled.
bgp_route_reflector_cluster_id
Specifies the starting cluster ID of the route reflectors. A
router reflector cluster normally has a single route reflector.
To avoid a single point of failure, you can configure a
cluster with more than one route reflector. If
more than one route reflector is configured for a cluster, all
the route reflectors in the cluster must be configured with a
cluster ID. This ID enables route reflectors to recognize
route updates from route reflectors in the same cluster. The
default value is 0.0.0.0. The value of this option should be
in IPv4 format. You can use this argument only
when bgp_route_reflector_enable is enabled.
bgp_route_reflector_cluster_id_step
The amount by which to increment cluster ID
(bgp_route_reflector_cluster_id) for each
subsequent route reflector. The default value is 0.0.0.1.
You can use this argument only
when bgp_route_reflector_enable is enabled.
vrf_number
Specifies the number of VPN Routing and
Forwarding tables (VRFs) to be configured. VPN Routing
and Forwarding table, on the PE router, that is configured
for a particular interface or subinterface. The table
includes the routing information that defines a customer
VPN site attached to a PE router. Possible values range
from 1 to 65535. The default is 1.
vrf_rd_assignment
Specifies the route distinguisher assignment mode.
Possible values are::
use_rt Uses the Route Target field for all Route
Distinguishers in the VPN.
manual Manually configures Route Distinguishers by
setting customer or provider RD start, step per VPN,
step per CE.
The default value is use_rt.
vrf_route_target_start
Specifies the starting route target for the VPN. The Route
Target identifies a set of sites to which a PE router
distributes routes. The format should be
"ASNumber:value" or "IPv4-Address:value". The default
value is 1:00.
vrf_route_target_step
Specifies the step size in which the route target is
incremented. The format should be
"ASNumber:value" or "IPv4-Address:value". The default
value is 1:00.
customer_ce_vrf_assignment
Determines how VRFs are assigned to customer side
Customer Edge routers (CE). Possible values are::
round_robin The first CE that is created is assigned to the
first VRF. The second CE that is created is assigned
to the second VRF, and so forth. When the specified
number of VRFs is reached, the VRF assignment
repeats from the first VRF.
sequential CEs that are created are assigned to the first
VRF until the calculated number of CEs per VRF is
reached. Additional CEs are assigned to the second
and subsequent VRFs in the same fashion.
customer_ce_bgp_as
Specifies the starting number of BGP AS on customer side.
Possible values range from 1 to 65535. The default is 1.
customer_ce_bgp_as_step_per_ce_enable
Enables or disables the step value for AS numbers across CE
routers on customer side. Possible values are 0 and 1. The
default is 0. You can use this argument when
customer_ce_routing_protocol is set to bgp or mixed.
customer_ce_bgp_as_step_per_ce
Indicates the step value for AS numbers across CE routers
on customer side. Possible values range from 0 to 65535.
The default is 1. Use this argument only when
customer_ce_bgp_as_step_per_ce_enable is enabled.
customer_ce_bgp_as_step_per_vrf_enable
Enables or disables the step value for CE AS numbers across VPNs.
Possible values are 1 (enable) and 0 (disable). The default is 1.
You can use this argument when customer_ce_routing_protocol is
set to bgp or mixed.
customer_ce_bgp_as_step_per_vrf
Specifies the step value for AS numbers across VPNs.
Possible value range from 0 to 65535. The default is 1. Use
this option only when
customer_ce_bgp_as_step_per_vrf_enable is enabled.
customer_ce_bgp_4byte_as_enable
Enables or disables 4byte AS numbers on customer side.
Possible values are 1 (enable) and 0 (disable). When it is set
to 1, you can specify 4byte AS numbers. The default value
is 0. You can use this argument when
customer_ce_routing_protocol is set to bgp or mixed.
customer_ce_bgp_4byte_as
Specifies the starting CE 4byte AS number on customer
side. The default value is 1:01. You can specify this
argument only when the
customer_ce_bgp_4byte_as_enable option is enabled.
customer_ce_bgp_4byte_as_step_per_ce_enable
Enables or disables step value for CE 4byte AS numbers
across CE routers. Possible values are 1 (enable) and 0
(disable). If it is set to 1, you can specify the step value for
CE 4byte AS numbers across CE routers. The default is 0. You can
use this argument when customer_ce_routing_protocol is set to
bgp or mixed and customer_ce_bgp_4byte_as_enable is enabled.
customer_ce_bgp_4byte_as_step_per_ce
Specifies the step value for CE 4byte AS numbers
across CE routers. Possible values range from 0 to 65535. The
default value is 1. Use this option only when the
customer_ce_bgp_4byte_as_step_per_ce_enable option is enabled.
customer_ce_bgp_4byte_as_step_per_vrf_enable
Enables or disables step value for CE 4byte AS numbers
across VPNs. Possible values are 1 (enable) and 0
(disable). If it is set to 1, you can specify the step value for
CE 4byte AS numbers across VPNs. The default is 1. You can use
this argument when customer_ce_routing_protocol is set to bgp or
mixed and customer_ce_bgp_4byte_as_enable is enabled.
customer_ce_bgp_4byte_as_step_per_vrf
Specifies the step value for CE 4byte AS numbers
across VPNs. Possible values range from 0 to 65535.
The default value is 1. Use this option only when the
customer_ce_bgp_4byte_as_step_per_vrf_enable option is
enabled.
customer_ce_routing_protocol
Defines the interior gateway routing protocol used by CEs on the
customer side. Possible values are bgp, ospf, rip, isis,
static_route, and mixed. The default value is bgp.
Possible values are described below::
bgp Border Gateway Protocol (BGP).
ospf Open Shortest Path First (OSPF) protocol.
rip Routing Information Protocol (RIP).
isis Intermediate System to Intermediate System (ISIS)
static_route Indicates routes through a data network are
routes are described by fixed paths (statically).
These usually entered into the router by the system
administrator.
mixed Indicates the route between DUT and CE routes are
described by fixed paths (statically). If it is
set to mixed, you can specify customer_ce_bgp_percent,
customer_ce_rip_percent,
customer_ce_ospf_percent, and
customer_ce_isis_percent. The options above are
used to indicate the percentage of routes to be
advertised over the protocols to be used.
customer_ce_bgp_percent
Specifies the percentage of customer side CEs using BGP. This
attribute is only applicable when the
customer_ce_routing_protocol attribute is set to mixed. Possible
values range from 0 to 100. The default value is 0.
customer_ce_rip_percent
Specifies the percentage of customer side CEs using RIP. This
attribute is only applicable when the
customer_ce_routing_protocol attribute is set to mixed. Possible
values range from 0 to 100. The default value is 0.
customer_ce_ospf_percent
Specifies the percentage of customer side CEs using
OSPFv2. This attribute is only applicable when the
customer_ce_routing_protocol attribute is set to mixed. Possible
values range from 0 to 100. The default value is 0.
customer_ce_isis_percent
Specifies the percentage of customer side CEs using ISIS.
This attribute is only applicable when the
customer_ce_routing_protocol attribute is set to mixed.
Possible values range from 0 to 100. The default value is 0.
customer_ce_static_route_percent
Specifies the percentage of customer side CEs using static
routes. This attribute is only applicable when the
customer_ce_routing_protocol attribute is set to mixed.
Possible values range from 0 to 100. The default value is 0.
customer_rd_start
Indicates the starting Route Distinguisher for the VPN route
on customer side. An 8byte value that is concatenated with
an IPv4 prefix to create a unique VPN IPv4 prefix.
There are two types that you can use::
Type 0 The administrator subfield is a 2-byte AS number
and the assigned subfield is a 4-byte number
assigned by the service provider. The format will be::
n:n, which indicates "administrator:assigned".
Type 1 The administrator subfield is a 4-byte IPv4
address and assigned subfield is a 2-byte number
assigned by the service provider. The format will be
n.n.n.n:n, which indicates "administrator:assigned".
The default value is 1:00.
customer_rd_step_per_vrf_enable
Enables or disables the route distinguisher step across VPNs
on customer side. Possible values are 1 (enable) and 0 (disable).
When it is set to 1, you can specify the
customer_rd_step_per_vrf argument. The default is 1. Use this
argument only when the vrf_rd_assignment argument is set to
manual.
customer_rd_step_per_vrf
Specifies the step size in which the route distinguisher
across VPNs is incremented. The administrator field of the
step value is added to the administrator field of the starting
route distinguisher and the assigned field of the step value is
added to the assigned field of the starting route distinguisher.
The type of the route distinguishers do not have to match,
although it is desirable for ease of administration. The default
value is 1:00. Use this argument only when
customer_rd_step_per_vrf_enable is enabled.
customer_rd_step_per_ce_enable
Enables or disables the route distinguisher step across CE routers
on the customer side. Possible values are 1 (enable) and 0
(disable). When it is set to 1, you can specify
the customer_rd_step_per_ce argument. The default is 0.
Use this argument only when the vrf_rd_assignment
argument is set to manual.
customer_rd_step_per_ce
Specifies the step value for additional route distinguishers for
each CE router. The administrator field of the step value is
added to the administrator field of the starting route
distinguisher and the assigned field of the step value is added
to the assigned field of the starting route distinguisher. The
type of the route distinguishers do not have to match, although
it is desirable for ease of administration. The default value is
0:00. Use this argument only when customer_rd_step_per_ce_enable
is enabled.
provider_pe_vrf_assignment
Indicates how VPNs are assigned to Provider Edge routers
(PEs). Possible values are::
vpn_per_pe Indicates VPNs will be distributed across a
set of PEs.
pe_per_vpn Indicates PEs will be distributed across a set
of VPNs.
The default value is vpn_per_pe.
provider_pe_vrf_count
Specifies the number of items (VPNs or PEs) assigned to each
target (VPN or PE). When the provider_pe_vrf_assignment argument
is set to vpn_per_pe, this argument indicates the number of VPNs
assigned to each PE and possible values range from 1 to the
number of VPNs. When the provider_pe_vrf_assignment argument is
set to pe_per_vpn, this argument indicates the number of PEs
assigned to each VPN and possible values range from 1 to the
number of PEs. The default is 1.
If this number is less than the maximum number of items, and if
there is more than one target, the specified number of items is
assigned in roundrobin fashion to each target.
Use this argument only when provider_pe_vrf_all_assign
is set to 0.
provider_pe_vrf_all_assign
Determines whether each PE uses all VPNs.
Possible values are 1 (enable) and 0 (disable). If it is set to
0, you can manually set the number of VPNs for each PE
will advertise routes for. The default value is 0.
provider_ce_bgp_as_enable
Enables or disables the BGP AS number of the CEs on the provider
side. Possible values are 1 (enable) and 0 (disable). When it is
set to 1, you can use CE BGP AS related options. The default
value is 0.
provider_ce_bgp_as
Indicates the starting BGP AS number on customer side.
Possible values range from 1 to 65535. The default value is 1.
Use this argument only when you enable the
provider_ce_bgp_as_enable argument.
provider_ce_bgp_as_step_per_ce_enable
Enables or disables the step value for additional CE BGP
AS number across CEs on the provider side. Possible values are 1
(enable) and 0 (disable). The default is 0.
provider_ce_bgp_as_step_per_ce
Defines the step value for the additional CE BGP AS
number across CEs on the provider side. Possible values range
from 1 to 65535. The default value is 1. This argument is only
applicable when the provider_ce_bgp_as_step_per_ce_enable option
is enabled.
provider_ce_bgp_as_step_per_vrf_enable
Enables or disables the step value for additional CE BGP AS
number across VPNs. Possible values are 1 (enable) and 0
(disable). The default is 1.
provider_ce_bgp_as_step_per_vrf
Defines the step value for the additional CE BGP AS number across
VPNs. Possible values range from 1 to 65535. The default value is
1. This argument is only applicable when the
provider_ce_bgp_as_step_per_vrf_enable option is enabled.
provider_ce_bgp_4byte_as_enable
Enables or disables the 4byte AS numbers on the provider side.
Possible values are 1 (enable) and 0 (disable). The default value
is 0.
provider_ce_bgp_4byte_as
Defines the first 4byte AS number of CEs on the provider side.
The default value is 1:01. Use this argument only when the
provider_ce_bgp_4byte_as_enable attribute is enabled.
provider_ce_bgp_4byte_as_step_per_ce_enable
Enables or disables the 4byte AS step value for additional CE
BGP ASs across CEs on the provider side. Possible values are 1
(enable) and 0 (disable). The default is 0.
provider_ce_bgp_4byte_as_step_per_ce
Specifies the 4byte AS step value for the additional CE ASs
across CEs on the provider side. Possible values range from 1 to
65535. The default value is 1. This argument is applicable only
when provider_ce_bgp_4byte_as_step_per_ce_enable is enabled.
provider_ce_bgp_4byte_as_step_per_vrf_enable
Enables or disables the CE BGP 4byte AS step per VPN on the
provider side. Possible values are 1 (enable) and 0 (disable).
When it is set to 1, you can specify the
provider_ce_bgp_4byte_as_step_per_vrf attribute. The default
value is 1.
provider_ce_bgp_4byte_as_step_per_vrf
Indicates the step value for the additional CE 4byte AS numbers
across VPNs on the provider side. Possible values range from 1 to
65535. The default value is 1.
provider_rd_start
Indicates the starting Route Distinguisher for the VPN route on
the provider side. An 8byte value that is concatenated with an
IPv4 prefix to create a unique VPN IPv4 prefix.
There are two types that you can use::
Type 0 The administrator subfield is a 2-byte AS number
and the assigned subfield is a 4-byte number
assigned by the service provider. The format will be::
n:n, which indicates "administrator:assigned".
Type 1 The administrator subfield is a 4-byte IPv4
address and assigned subfield is a 2-byte number
assigned by the service provider. The format will be
n.n.n.n:n, which indicates "administrator:assigned".
The default value is 1:00.
provider_rd_step_per_vrf_enable
Enables or disables the step value for additional route
distinguishers in each VRF on the provider side. The
administrator field of value is added to the administrator field
of the starting route distinguisher, and the assigned field of
the step value is added to the assigned field of the starting
route distinguisher. The type of the route distinguishers do not
have to match, although it is desirable for ease of
administration. Possible values are 1 (enable) and 0 (disable).
The default is 1. This argument is applicable only when the
vrf_rd_assignment argument is set to manual.
provider_rd_step_per_vrf
Specifies the step value for the providerside additional route
distinguisher across VPNs. The default value is 1:00. Use this
argument only when provider_rd_step_per_vrf_enable is enabled.
provider_rd_step_per_ce_enable
Enables or disables the step value for the additional
providerside route distinguisher across CEs. Possible values are
0 and 1. When it is set to 1, you can specify the step value for
the additional providerside route distinguisher across CEs. The
default value is 0.
provider_rd_step_per_ce
Specifies the step value for the additional
providerside route distinguisher across CEs. The default
value is 1:00. Use this argument only when
provider_rd_step_per_ce_enable is enabled.
multicast_default_mdt_addr
Specifies the IP address of the first default multicast
distribution tree (MDT) for multicast traffic. MDT provides the
information needed to interconnect the same MVRFs that exist on
the different PE routers. MVPN supports two MDT types: the
default MDT and data MDT. The default MDT is a permanent channel
for Protocol Independent Multicast (PIM) control messages and
lowbandwidth streams between all PE routers in a particular
multicast domain. The values of this argument should be in IPv4
format. The default value is 239.1.1.1.
multicast_default_mdt_increment
Defines the increment used to generate default MDT addresses for
multicast traffic. The default value is 0.0.0.1.
multicast_data_mdt_enable
Enables or disables the data MDT address for multicast
traffic. Data MDTs are optional. If enabled, they are
dynamically created to provide optimal paths for
highbandwidth transmissions, such as full-motion video,
that do not need to be sent to every PE router. Possible
values are 1 (enable) and 0 (disable). The default value is 0.
multicast_data_mdt_addr
Specifies the IP address of the first MDT for multicast traffic.
The value of this argument must be in IPv4 format. The default
value is 230.1.1.2. Use this argument only when
multicast_data_mdt_enable is enabled.
multicast_data_mdt_increment
Defines the increment used to generate data MDT addresses for
multicast traffic. The default value is 0.0.0.1. Use this
argument only when multicast_data_mdt_enable is enabled.
multicast_receiver_have_same_group
Enables or disables that all receivers are subscribed to all
groups. Possible values are 1 (enable) and 0 (disable). When it
is set to 1, you can subscribe all the receivers to all groups,
which allows the receivers to receive the PIM control messages
and multicast traffic that are sent by other receivers. The
default value is 1.
multicast_group_count
Defines the number of multicast groups. Possible values
range from 1 to 65535. The default value is 1.
multicast_group_addr_start
Defines the starting multicast group address. The value of
this argument must be in IPv4 format. The default value is
225.0.0.1.
multicast_group_addr_increment
Defines the increment used to generate multicast group addresses.
The value of this argument must be in IPv4 format. The default
value is 0.0.0.1.
multicast_group_increment_per_interface
Enables or disables the increment used to generate
multicast group addresses across interfaces (ports or
VLANs). Possible values are 1 (enable) and 0 (disable).
The default value is 0. This argument is only applicable
only when the multicast_receiver_have_same_group
argument is disabled.
multicast_group_addr_increment_per_vlan
Specifies increment used to generate multicast group
addresses across VLANs. This argument is applicable
only when multicast_group_increment_per_interface is
enabled. The default value is 0.0.1.0. The value of this
argument must be in IPv4 format.
multicast_group_addr_increment_per_port
Specifies increment used to generate multicast group addresses
across ports. This argument is applicable only when
multicast_group_increment_per_interface is enabled. The default
value is 0.0.1.0. The value of this argument must be in IPv4
format.
multicast_multiple_sender_enable
Enables or disables multiple multicast senders. Possible values
are 1 (enable) and 0 (disable). When it is set to 0, Spirent
HLTAPI creates a single source (a host). When it is set to 0,
Spirent HLTAPI creates multicast sources (a host block), and you
can determine the number of hosts in the host block by specifying
the multicast_multiple_sender_count argument. The default value
is 0.
multicast_multiple_sender_count
Defines the number of multiple multicast senders. Possible
values range from 1 to 65535. The default value is 1.This
argument is applicable only when the
multicast_multiple_sender_enable argument is enabled.
multicast_provider_pim_protocol
Specifies the PIM protocol to be used on provider side. Possible
values are::
pim_sm All three group types are supported: (S,G), (*,G),
and (*,*,RP).
pim_ssm Join/Prune messages are only sent for (S, G)
groups. (*,*,RP) or (*,G) groups cannot be added.
The default value is pim_sm.
multicast_provider_bsr_enable
Enables or disables Bootstrap messages on multicast provider
side. Possible values are 1 (enable) and 0 (disable). The default
value is 0. When it is set to 1, PIM routers enabled for
bootstrap routing functionality that generates Bootstrap messages
periodically. This argument is only applicable when you specify
multicast_provider_pim_protocol pim_sm.
multicast_provider_rp_addr
Specifies the IP address of the providerside Rendezvous Point (RP)
router, a PIM CSM router configured as the root of a multicast
distribution tree. Required for (*,G) and (*,*,RP) groups. The
value of this argument must be in IPv4 format. The default value
is 192.0.2.0. This argument is only applicable when you specify
multicast_provider_pim_protocol pim_sm.
multicast_customer_pim_protocol
Specifies the PIM protocol to be used on customer side.
Possible values are::
pim_sm All three group types are supported: (S,G), (*,G),
and (*,*,RP).
pim_ssm Join/Prune messages are only sent for (S, G)
groups. (*,*,RP) or (*,G) groups cannot be added.
The default value is pim_sm.
multicast_customer_bsr_enable
Enables or disables Bootstrap messages on multicast customer
side. Possible values are 1 (enable) and 0 (disable). The default
value is 0. When it is set to 1, PIM routers enabled for
bootstrap routing functionality that generates Bootstrap messages
periodically. This argument is applicable only when
multicast_customer_pim_protocol is set to pim_sm.
multicast_customer_rp_addr
Specifies the IP address of the customerside Rendezvous Point
(RP) router, a PIM CSM router configured as the root of a
multicast distribution tree. Required for (*,G) and (*,*,RP)
groups. The value of this argument must be in IPv4 format. The
default value is 192.0.2.0. This argument is applicable only when
multicast_customer_pim_protocol is set to pim_sm.
multicast_customer_rp_increment
Specifies the increment value used to generate RP addresses on
the customer side. The value of this argument must be in IPv4
format. The default value is 0.0.0.1. This argument is applicable
only when multicast_customer_pim_protocol is set to pim_sm.
customer_route_type
Specifies the type of the route advertised by emulated CEs on
customer side. Possible values are::
internal Indicates that the route and the CE that advertises
the route are in the same AS.
external Indicates that the route and the CE that advertises
the route are not in the same AS.
The default value is internal. This argument is applicable only when
the customer_ce_routing_protocol option includes OSPF and IS-IS.
customer_route_count_per_ce
Specifies the number of routers to be added to each CE on
customer side. Possible values range from 1 to
2147483647. The default is 1.
customer_route_start
Indicates the first route advertised by emulated CE routers on
customer side. Each subsequent route is incremented by the values
specified by the customer_route_step argument and the
customer_route_prefix_length argument. The default value is
10.1.1.0. The value of this argument must be in IPv4 format.
customer_route_step
Specifies the step size in which the route address on customer
side is incremented. The value of this argument is IPv4 format.
The default value is 0.0.1.0.
customer_route_prefix_length
Specifies the prefix length of route addresses on customer side.
Possible values range from 1 to 32. The default value is 24.
customer_route_overlap
Enables or disables route overlap on customer side. Possible
values are 1 (enable) and 0 (disable). When it is set to 1, all
VPNs advertise the same routes. For example, a CE in VPN1
advertises Route0 and Route1, and a CE in VPN2 also advertises
Route0 and Route1. When it is set to 0, each VPN advertises
unique routes. For example, a CE in VPN1 advertises Route0 and
Route1, and a CE in VPN 2 advertises Route2 and Route3. The
default value is 0.
provider_route_count_per_ce
Specifies the number of simulated CE routes that appear to
be connected behind the PE. Possible values range from 1 to
2147483647. The default value is 1.
provider_route_start
Specifies the starting route address on provider side. The value
of this argument must be in IPv4 format. The default value is
110.1.1.0.
provider_route_step
Specifies the step size in which the route address on provider
side is incremented. The value of this argument is IPv4 format.
The default value is 0.0.1.0.
provider_route_prefix_length
Specifies the prefix length of route addresses on provider side.
Possible values range from 1 to 32. The default value is 24.
provider_route_overlap
Enables or disables route overlap on provider side. Possible
values are 1 (enable) and 0 (disable). When it is set to 1, all
VPNs advertise the same routes. For example, a CE in VPN1
advertises Route0 and Route1, and a CE in VPN2 also advertises
Route0 and Route1. When it is set to 0, each VPN advertises
unique routes. For example, a CE in VPN1 advertises Route0 and
Route1, and a CE in VPN 2 advertises Route2 and Route3. The
default value is 0.
vpn_v4_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables IPv4 Next Generation MVPN (NGMVPN).
Possible values are 0 (disable) and 1 (enable). The default value
is 1.
vpn_v6_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables IPv6 NGMVPN (RFC 6513/6514). Possible
values are 0 (disable) and 1 (enable). The default value is 0.
traffic_pattern
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the traffic mapping method to be used within each host
block. Possible values are::
one_to_one Every endpoint within the source endpoint block
transmits traffic to the corresponding destination
endpoint within the destination endpoint block.
one_to_many Every endpoint within the source endpoint block
transmits traffic to every destination endpoint
within the destination endpoint block.
The default value is one_to_many.
use_dut_ifc_as_rp_addr
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to set the Rendezvous Point (RP) address to
the address of the DUT interface. Possible values are 0 and 1.
When set to 1, the RP address will be set to the address of the
DUT interface. The default value is 1.
customer_use_ports_enable
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to set the DUT to port connections. Possible
values are 0 and 1. If the test does not use providerside ports,
set it to 0. The default value is 1.
provider_use_ports_enable
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to set the providerside DUT to port
connections. Possible values are 0 and 1. If the test does not
use customerside ports, set it to 0. The default value is 1.
customer_multicast_traffic_load_percent_from_ports
`Spirent Extension (for Spirent HLTAPI only).`
Traffic load percent from customer ports. When both VPNv4 and
VPNv6 are configured, the configured load is split evenly
between the v4 and v6 VPNs. Possible values range from 0 to 100.
The default value is 10.
provider_multicast_traffic_load_percent_from_ports
`Spirent Extension (for Spirent HLTAPI only).`
Traffic load percent from provider ports. When both VPNv4 and
VPNv6 are configured, the configured load is split evenly between
the v4 and v6 VPNs. Possible values range from 0 to 100. The
default value is 10.
multicast_framesize
`Spirent Extension (for Spirent HLTAPI only).`
Size of frames in bytes, including the header. Possible values
range from 12 to 16383. The default value is 1500.
ipv6_vpn_route_mpls_label_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the method by which labels are assigned within a
traffic block. Possible values are::
site Label per site. All routes in one traffic route are
advertised with the same label
route Label per route. Each route in one traffic route is
advertised with a unique label
The default value is site.
customer_ipv6_vpn_route_step
`Spirent Extension (for Spirent HLTAPI only).`
Identifies which part of the IPv6 address to increment for
subsequent routes on the customer side. The default value is 1.
customer_ipv6_vpn_route_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Identifies the IPv6 network portion of the starting route
identifier on the customer side. Possible values range from 1 to
128. The default value is 64.
customer_ipv6_vpn_route_overlap
`Spirent Extension (for Spirent HLTAPI only).`
Determines how IPv6 routes are advertised on the customer side.
Possible values are 0 and 1. When set to 1, all VPNs advertise
the same routes. When set to 0, each VPN advertises unique
routes. The default value is 0.
customer_ipv6_vpn_route_start
`Spirent Extension (for Spirent HLTAPI only).`
First IPv6 route advertised by emulated CE routers. The value
must be in IPv6 format. The default value is 2001::.
provider_ipv6_vpn_route_step
`Spirent Extension (for Spirent HLTAPI only).`
Identifies which part of the IPv6 address to increment for
subsequent routes on the provider side. The default value is 1.
provider_ipv6_vpn_route_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Identifies the IPv6 network portion of the starting route
identifier on the provider side. Possible values range from 1 to
128. The default value is 64.
provider_ipv6_vpn_route_overlap
`Spirent Extension (for Spirent HLTAPI only).`
Determines how routes are advertised on the provider side.
Possible values are 0 and 1. When set to 1, all VPNs advertise
the same routes. When set to 0, each VPN advertises unique
routes. The default value is 0.
provider_ipv6_vpn_route_start
`Spirent Extension (for Spirent HLTAPI only).`
First IPv6 route advertised by emulated PE routers on the
provider side. The value must be in IPv6 format. The default
value is 2001::.
ipv6_unique_groups_per_sender
`Spirent Extension (for Spirent HLTAPI only).`
Determines how IPv6 multicast groups are created. Possible values
are 0 and 1. When set to 1, groups are created per VPN. When set
to 0, groups are created per sender. The default value is 0.
ipv6_starting_group_address
`Spirent Extension (for Spirent HLTAPI only).`
IPv6 multicast address for the first group. The default value is
ff3e::1.
ipv6_group_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of IPv6 multicast groups to create per VPN or sender.
Possible values range from 1 to 65535. The default value is 1.
ipv6_group_address_increment
`Spirent Extension (for Spirent HLTAPI only).`
Increment value used to create subsequent IPv6 multicast
addresses. The value must be in IPv6 format. The default value is
::1.
customer_ipv6_rp_addr
`Spirent Extension (for Spirent HLTAPI only).`
IPv6 address of the RP router on the customer side. The default
value is 2001::1.
customer_ipv6_rp_increment
`Spirent Extension (for Spirent HLTAPI only).`
Step value for subsequent RP addresses on the customer side. The
value must be in IPv6 format. The default value is 0:0:0:1::.
customer_ipv6_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of IPv6 routes per CE on the customer side. Possible values
range from 1 to 2147483647. The default value is 1.
customer_ipv6_mcast_sender_per_route
`Spirent Extension (for Spirent HLTAPI only).`
Number of senders per sender route on the customer side.
Possible values range from 1 to 2147483647. The default value is
1.
customer_ipv6_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of configured IPv6 unicast routes to be used as multicast
senders on the customer side. Possible values range from 1 to
2147483647. The default value is 1.
customer_ipv6_ce_route_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of IPv6 route to be advertised by emulated CEs
on the customer side. This argument is available when
customer_ce_routing_protocol is set to ospf or isis. Possible
values are::
internal The route and the CE that advertise
the route are in the same AS
external The route and the CE that advertises
the route are not in the same AS
The default value is internal.
provider_ipv6_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of IPv6 routers to be added to each CE on the provider side.
Possible values range from 1 to 2147483647. The default value is
1.
provider_ipv6_mcast_sender_per_route
`Spirent Extension (for Spirent HLTAPI only).`
Number of senders per sender route on the provider side.
Possible values range from 1 to 2147483647. The default value is
1.
provider_ipv6_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of configured IPv6 unicast routes on the provider side to
be used as multicast senders. Possible values range from 1 to
2147483647. The default value is 1.
customer_ipv4_vpn_route_step
`Spirent Extension (for Spirent HLTAPI only).`
Identifies which part of the IPv4 address to increment for
subsequent routes. The default value is 1.
customer_ipv4_vpn_route_start
`Spirent Extension (for Spirent HLTAPI only).`
First IPv4 route advertised by emulated CE routers of the VPN.
The value must be in IPv4 format. The default value is 10.1.1.0.
customer_ipv4_vpn_route_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv4 network portion of the starting route
identifier. Possible values range from 1 to 32. The default value
is 1.
customer_ipv4_vpn_route_overlap
`Spirent Extension (for Spirent HLTAPI only).`
Determines how IPv4 routes are advertised on the customer side.
Possible values are 0 and 1. When set to 1, all VPNs on the
customer side advertise the same routes. When set to 0, each VPN
on the customer side advertises unique routes. The default value
is 0.
provider_ipv4_vpn_route_step
`Spirent Extension (for Spirent HLTAPI only).`
Identifies which part of the IPv4 address to increment for
subsequent routes on the provider side. The default value is 1.
provider_ipv4_vpn_route_start
`Spirent Extension (for Spirent HLTAPI only).`
First IPv4 route advertised by emulated PE routers. The value
must be in IPv4 format. The default value is 110.1.1.0.
provider_ipv4_vpn_route_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
IPv4 network portion of the starting route identifier on the
provider side. Possible values range from 1 to 32. The default
value is 24.
provider_ipv4_vpn_route_overlap
`Spirent Extension (for Spirent HLTAPI only).`
Determines how IPv4 routes are advertised on the provider side.
Possible values are 0 and 1. When set to 1, all VPNs on the
customer side advertise the same routes. When set to 0, each VPN
on the customer side advertises unique routes. The default value
is 0.
ipv4_unique_groups_per_sender
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to create groups per VPN or per sender.
Possible values are 0 and 1. When set to 0, groups are
created per VPN. When set to 1, groups are created per sender.
The default value 0.
ipv4_starting_group_address
`Spirent Extension (for Spirent HLTAPI only).`
IPv4 multicast address for the first group. The value must be in
IPv4 format. The default value is 232.0.0.1.
ipv4_group_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of IPv4 multicast groups to create per VPN or sender.
Possible values range from 1 to 65535. The default value is 1.
ipv4_group_address_increment
`Spirent Extension (for Spirent HLTAPI only).`
Increment value used to create subsequent IPv4 multicast group
addresses. The value must be in IPv4 format. The default value is
0.0.0.1.
customer_ipv4_mcast_sender_per_route
`Spirent Extension (for Spirent HLTAPI only).`
Number of senders per sender route on the customer side.
Possible values range from 1 to 2147483647. The default value is
1.
customer_ipv4_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of configured IPv4 unicast routes on the customer side to
be used as multicast senders. Possible values range from 1 to
2147483647. The default value is 1.
provider_ipv4_mcast_sender_per_route
`Spirent Extension (for Spirent HLTAPI only).`
Number of senders per sender route on the provider side.
Possible values range from 1 to 2147483647. The default value is
1.
provider_ipv4_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
Number of configured IPv4 unicast routes on the provider side to
be used as multicast senders. Possible values range from 1 to
2147483647. The default value is 1.
multicast_traffic_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables multicast traffic. Possible values are 0
(disable) and 1 (enable). The default value is 1.
customer_enable_all_ipv6_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
When enabled, all of the IPv6 routes per CE are configured as
senders. The NGMVPN wizard uses the unicast routes as multicast
senders and binds them to the stream block. Possible values are 0
(enable) and 1 (disable). The default value is 1.
customer_enable_all_ipv4_mcast_sender_routes_per_ce
`Spirent Extension (for Spirent HLTAPI only).`
When enabled, all of the IPv4 routes per CE are configured as
senders. The NGMVPN wizard uses the unicast routes as multicast
senders and binds them to the stream block. Possible values are 0
(enable) and 1 (disable). The default value is 1.
customer_enable_cust_bsr
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to send Bootstrap messages. PIM routers
that are enabled for bootstrap routing functionality will
periodically generate Bootstrap messages. Possible values are 0
and 1. If set to 1, Bootstrap messages will be sent. The default
value is 1.
customer_rp_increment
`Spirent Extension (for Spirent HLTAPI only).`
Step value for subsequent RP addresses. The value must be in IPv4
format. The default value is 0.0.0.1.
customer_rp_addr
`Spirent Extension (for Spirent HLTAPI only).`
IPv4 address of the RP router on the customer side. The default
value is 192.0.2.0.
customer_ce_pim_protocol
`Spirent Extension (for Spirent HLTAPI only).`
Type of the PIM protocol used by the CE router. Possible values
are::
sm All three group types are supported: (S,G), (*,G), and
(*,*,RP)
ssm Join/Prune messages are only sent for (S, G) groups.
(*,*,RP) or (*,G) groups cannot be added.
The default value is sm.
bgp_route_reflector_ids
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the BGP route reflector ID. The value must be in IPv4
format. The default value is 0.0.0.0.
bgp_route_reflector_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the BGP reflector mode. Possible values are::
dut_as_rr Specify the DUT as the route reflector
stc_as_rr Specify Spirent TestCenter as the route reflector
The default value is stc_as_rr.
ldp_hello_type
`Spirent Extension (for Spirent HLTAPI only).`
Type of Hello packet transmitted by the LDP router.
Possible values are::
direct Basic discovery mechanism used to locate
directly connected neighbors. Peer IP address
is DUT interface address
targeted Extended discovery mechanism used to locate
neighbors not directly connected. Peer IP address
is DUT loopback address
The default value is direct.
mvpn_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of MVPN to be tested. Possible values are::
rosen Rosen MVPN as specified in RFC 6037
nextgen BGP Signaled (Next Generation) MPVN as specified in
RFC 6513/6514
The default value is rosen.
vrf_route_mpls_label_type
Defines the method by which labels are assigned within a traffic
block. Possible values are::
label_per_site Specifies that all routes in one traffic route
are advertised with the same label.
label_per_route Indicates that each route in one traffic
route is advertised with a unique label.
The default is label_per_site.
vrf_route_mpls_label_start
Specifies the first MPLS label to be assigned to VPN routes on
provider side. Possible value range from 1 to 1048575. The
default value is 16.
traffic_frame_size
Indicates the traffic frame size. Possible values range from 12
to 16383. The default value is 1280.
traffic_analyzer_enable
Determines whether traffic analyzers on the provider side ports
are created. Possible values are 1 (enable) and 0 (disable). When
it is set to 1, Spirent HLTAPI creates traffic analyzers on the
provider side ports. The default value is 0. Use this option only
when multicast_traffic_flow_direction is set to
customer_to_provider or customer_to_all_other.
traffic_load_percent_from_provider_port
Specifies the load percentage for test traffic from each
providerside port. Possible values range from 0 to 100. The
default value is 10.
traffic_load_percent_from_customer_port
Specifies the load percentage for test traffic from each customer
side port. Possible values range from 0 to 100. The default value
is 10.
multicast_traffic_flow_direction
Defines the traffic flow to be created. Possible values are
described below::
customer_to_provider Indicates that the traffic flow is
from the emulated customer CE devices to the
emulated provider CE devices, through the DUT.
This is the default value.
customer_to_customer Indicates that the traffic flow is
from the emulated customer CE devices to other
emulated customer CE devices, through the DUT.
customer_to_all_other Indicates that the traffic flow is
from the emulated customer CE devices to other
emulated customer CE devices and provider CE
devices, through the DUT.
provider_to_customer Indicates that the traffic flow is
from the emulated provider CE devices to the
emulated customer CE devices, through the DUT.
multicast_traffic_source_count
Defines the number of sources for multicast traffic.
Possible values range from 1 to 65535. The default value is
65535.
multicast_traffic_all_source_enable
Determines whether Spirent HLTAPI enables all sources for
multicast traffic. When it is set to 1, you can enable all
sources. Possible values are 0 ( disable) and 1 (enable). The
default value is 1.
multicast_traffic_receiver_count
Defines the number of the receivers for multicast traffic.
The default value is 1.
multicast_traffic_all_receiver_enable
Determines whether Spirent HLTAPI enables all receivers for
multicast traffic. When it is set to 1, you can enable all
sources. Possible values are 0 (disable) and 1 (enable). The
default value is 1.
mdt_switch_over_traffic_enable
Determines to switch traffic from default MDT to data MDT. When
it is set to 1, you can switch traffic from default MDT to data
MDT. Possible values are 1 (enable) and 0 (disable). The default
is 0. Use this argument only when you enable
multicast_default_mdt_addr and specify
multicast_traffic_flow_direction provider_to_customer.
mdt_switch_over_interval
Defines the duration between the first MDT join and switching
from the default MDT to the data MDT. Possible values range from
0 to 65535. The default value is 60.This argument is applicable
only when the mdt_switch_over_traffic_enable argument is
enabled.
mdt_switch_over_delay
Specifies the MDT switch over delay time. Possible values
range from 0 to 65535. The default value is 3. This argument is
applicable only when the mdt_switch_over_traffic_enable argument
is enabled.
unicast_traffic_enable
Determines whether the unicast traffic can be used. Possible
values are 1 (enable) and 0 (disable). When it is set to 1, you
can specify the unicast_traffic_flow_direction argument, the
unicast_traffic_stream_group_method argument, and the
unicast_traffic_use_single_stream_per_endpoint_pair argument.
The default is 0.
unicast_traffic_flow_direction
Specifies the type of unicast traffic flows to create. This
argument is applicable only when the unicast_traffic_enable
argument is enabled. Possible values are described below::
customer_to_core The traffic flow is from the emulated
CE devices to the emulated PE devices,
through the DUT.
core_to_customer The traffic flow is from the emulated
PE devices to the emulated CE device. It runs
through the emulated P device and the DUT.
bidirectional Traffic flow in both directions between the
emulated CE and the simulated CE devices behind
the PEs. This is the default value.
fully_meshed Traffic flows are created between all CE
sites within the same VRF that are on different
ports.
unicast_traffic_stream_group_method
Determines how to aggregate streams in a stream block. This
argument is applicable only when the unicast_traffic_enable
argument is enabled. Possible values are described below::
aggregate Aggregates all streams into a single stream
block.
vpn Aggregates all streams for a single VPN into
a single stream block.
unicast_traffic_use_single_stream_per_endpoint_pair
Determines whether to assign a single stream ID to each endpoint
pair. Possible values are 1 (enable) and 0 (disable). The default
value is 1 (enable) and 0 (disable). When it is set to 1, each
endpoint is assigned a single stream ID. When it is set to 0,
each flow between endpoint pairs is assigned a single stream ID.
The default value is 0. This argument is applicable only when the
unicast_traffic_enable argument is enabled.
- Ciscospecific Arguments:
- None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle Identifies the handle of the MVPN network topology configured by the emulation mvpn config function. traffic_handle Defines the handle of the traffic created by the ``emulation mvpn config`` function. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation mvpn config
function configures an RFC 2547bis style MPLS IP VPN network topologies, creates emulated and simulated CE, P, and PE routers, selects and enables routing and labeling protocols, configures multicast VPNs, and creates the traffic that is sent between VPNs.This command emulates MPLS IP VPN topologies from two pointsof-view: customer side and provider side. The customer side includes the CE routers and routes and IP traffic sent from those devices. This side of the network also includes the routing between CE and PE devices (the DUT). The provider side includes P and PE devices, IGP and BGP routing, VPN or VRF mapping, and labeled IP traffic sent from the provider side to the customer side of the network.
When you write an HLT API that uses Spirent HLTAPI Automation software for MVPN tests, you configure a test configuration to emulate MVPN networks.
During a MVPN test, the DUT works as a PE router of the VPN network. Spirent HLTAPI customerside port sets up a control plane session and sends data plan packets to PECE interface of the DUT. Spirent HLTAPI provider-side port sets up a control plane session and sends data plane packets to the provider network interface.
In this context, you can create MVPN test configuration with emulation customerside port and providerside port. The emulation customerside port acts as a CE device connecting to the local VPN site of DUT PE router. The emulation providerside port acts as the provider network of the MPLS VPN connected to the remote VPN site. Each of the two emulated sides can send emulated VPN traffic to the DUT, from the local VPN site or from the Remote VPN site.
- Examples:
The following example configures a MVPN network topology:
set cmdStatus [emulation mvpn config mode= create dut_loopback_ipv4_addr= 220.1.1.1 dut_as= 123 igp_protocol= ospf mpls_protocol= none p_router_enable= 0 pe_router_number_per_sub_interface= 1 pe_router_loopback_ipv4_addr= 1.10.1.1 pe_router_loopback_ipv4_addr_step= 0.0.0.1 vrf_number= 1 vrf_rd_assignment= use_rt vrf_route_target_start= 200:1 vrf_route_target_step= 200:1 customer_ce_vrf_assignment= round_robin customer_ce_bgp_as= 211 customer_ce_bgp_as_step_per_vrf_enable= 1 customer_ce_bgp_as_step_per_vrf= 1 customer_ce_routing_protocol= bgp provider_pe_vrf_assignment= vpn_per_pe provider_pe_vrf_count= 1 multicast_provider_pim_protocol= pim_sm multicast_provider_rp_addr= 220.1.1.1 multicast_customer_pim_protocol= pim_sm multicast_customer_rp_addr= 6.146.1.1 multicast_customer_rp_increment= 0.0.0.1 multicast_default_mdt_addr= 239.192.1.1 multicast_default_mdt_increment= 0.0.0.1 multicast_data_mdt_enable= 0 multicast_group_count= 1 multicast_group_addr_start= 225.0.0.1 multicast_group_addr_increment= 0.0.0.1 multicast_receiver_have_same_group= 1 customer_route_type= internal customer_route_count_per_ce= 1 customer_route_start= 19.1.1.0 customer_route_step= 0.0.0.1 customer_route_prefix_length= 24 provider_route_count_per_ce= 1 provider_route_start= 119.1.1.0 provider_route_step= 0.0.0.1 provider_route_prefix_length= 24 multicast_traffic_flow_direction= customer_to_provider multicast_traffic_all_source_enable= 1 multicast_traffic_all_receiver_enable= 1 unicast_traffic_enable= 0 unicast_traffic_flow_direction= bidirectional unicast_traffic_stream_group_method= aggregate traffic_frame_size= 1280 traffic_load_percent_from_provider_port= 0.1 traffic_load_percent_from_customer_port= 0.1]
Sample SUCCESS output:
{status 1} {handle mvpnhandle1} {traffic_handle mvpntraffic1}
Sample FAILURE output:
{status 0} {log XXX}
The following example configures NGMVPN:
set device_ret0_router0 [emulation mvpn config mode= create mvpn_type= nextgen vpn_v4_enable= 1 vpn_v6_enable= 1 provider_use_ports_enable= 1 dut_loopback_ipv4_addr= 200.200.200.1 dut_as= 100 igp_protocol= ospf mpls_protocol= rsvp igp_ospfv2_area_id= 0.0.0.0 igp_ospfv2_network_type= native igp_ospfv2_router_priority= 0 igp_ospfv2_interface_cost= 1 igp_ospfv2_options= 2 igp_ospfv2_authentication_mode= none mpls_rsvp_bandwidth_per_link= 10000 mpls_rsvp_bandwidth_per_tunnel= 0 mpls_rsvp_egress_label= next_available mpls_rsvp_transit= accept_configured mpls_rsvp_min_label= 16 mpls_rsvp_max_label= 65535 mpls_rsvp_graceful_restart_enable= 0 p_router_loopback_ipv4_addr= 200.200.200.2 p_router_loopback_ipv4_addr_step= 0.0.0.1 pe_router_number_per_sub_interface= 1 pe_router_loopback_ipv4_addr= 200.200.200.2 pe_router_loopback_ipv4_addr_step= 0.0.0.1 customer_use_ports_enable= 1 vrf_number= 1 vrf_rd_assignment= manual vrf_route_target_start= 100:100 vrf_route_target_step= 0:1 customer_ce_vrf_assignment= round_robin customer_ce_bgp_as= 1 customer_ce_pim_protocol= sm customer_ce_routing_protocol= bgp customer_ce_bgp_percent= 100 customer_rd_start= 100:100 customer_ce_bgp_as_step_per_vrf_enable= 1 customer_ce_bgp_as_step_per_vrf= 1 provider_rd_start= 200:200 provider_rd_step_per_vrf_enable= 1 provider_rd_step_per_vrf= 1:0 provider_pe_vrf_assignment= vpn_per_pe provider_pe_vrf_count= 1 customer_ipv6_rp_addr= 2001::1 customer_ipv6_rp_increment= 0:0:0:1:: customer_rp_addr= 1.1.1.1 customer_rp_increment= 0.0.0.1 ipv4_group_address_increment= 0.0.0.1 ipv4_group_count= 10 ipv4_starting_group_address= 226.1.1.1 ipv4_unique_groups_per_sender= 0 ipv6_group_address_increment= ::1 ipv6_group_count= 10 ipv6_starting_group_address= ff1e::1 ipv6_unique_groups_per_sender= 0 provider_ipv4_vpn_route_overlap= 0 provider_ipv4_vpn_route_prefix_length= 24 provider_ipv4_vpn_route_start= 110.1.1.0 provider_ipv4_vpn_route_step= 1 customer_ipv4_vpn_route_overlap= 0 customer_ipv4_vpn_route_prefix_length= 24 customer_ipv4_vpn_route_start= 100.1.1.0 customer_ipv4_vpn_route_step= 1 vrf_route_mpls_label_type= label_per_site vrf_route_mpls_label_start= 16 customer_route_type= internal provider_ipv6_vpn_route_start= 2005:: provider_ipv6_vpn_route_overlap= 0 provider_ipv6_vpn_route_prefix_length= 64 provider_ipv6_vpn_route_step= 1 customer_ipv6_vpn_route_start= 2100::1 customer_ipv6_vpn_route_overlap= 0 customer_ipv6_vpn_route_prefix_length= 64 customer_ipv6_vpn_route_step= 1 ipv6_vpn_route_mpls_label_type= site customer_ipv6_ce_route_type= internal customer_enable_all_ipv4_mcast_sender_routes_per_ce= 1 customer_enable_all_ipv6_mcast_sender_routes_per_ce= 1 multicast_traffic_enable= 1 provider_enable_all_ipv4_mcast_sender_routes_per_ce= 1 provider_enable_all_ipv6_mcast_sender_routes_per_ce= 1 customer_multicast_traffic_load_percent_from_ports= 10 multicast_framesize= 1500]
End of Procedure Header
emulation mvpn control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- The
emulation mvpn control
function starts or stops a configured MVPN topology.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation mvpn control
action= { start|stop} M
handle= <mvpn_topology_handle_list>
mvpn_type= {nextgen|rosen}
Arguments:
action
Specifies the action to be performed. This argument is
`Mandatory`. Possible values are described below::
start Starts the MVPN network
stop Stops the MVPN network
handle
Specifies a list of MVPN network topologies to be started or
stopped
mvpn_type
`Spirent Extension (for Spirent HLTAPI only).`
Determines which type of MVPN to be tested. Possible values are::
rosen Rosen MVPN as specified in RFC 6037
nextgen NGMPVN as specified in RFC 6513/6514
The default value is rosen.
- Ciscospecific Arguments:
- None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
- The
emulation mvpn control
function controls the configured MVPN topology. You can use the function to perform two actions: starting MVPN topology and stopping MVPN topology. - Examples:
The following example starts a MVPN network topology:
emulation mvpn control action=start handle $mvpnHdl
The following example stops a MVPN network topology:
emulation mvpn control action=stop handle $mvpnHdl
The following example starts the configured NGMVPN:
set mvpn_ctrl [emulation mvpn control action=start mvpn_type= nextgen handle= "$CeRtrv6 $CeRtrv4 $PeRouter $PRouter"]
Sample output for the examples above:
# On Success {{status 1} } # On Failure {{status 0} {log xxxxxxx}}
End of Procedure Header
emulation mvpn info¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Retrieves statistics for the configured MVPN topology.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation mvpn info
handle= <mvpn_topology_handle> M
mode= {bgp|rsvp|ldp|ospfv2|isis|pim|aggregate} M
mvpn_type= {nextgen|rosen}
Arguments:
handle
Specifies the MVPN network on which the information will be
retrieved. This argument is `Mandatory`.
mode
Determines the information about which protocol will be
retrieved. This argument is `Mandatory`. Possible values are
bgp, rsvp, ldp, ospfv2, isis, pim, and aggregate. The default
value is aggregate. When you specify aggregate, the
information about all the protocols above will be retrieved.
mvpn_type
`Spirent Extension (for Spirent HLTAPI only).`
Determines the type of MVPN from which to retrieve results.
Possible values are::
rosen Rosen MVPN as specified in RFC 6037
nextgen NGMPVN as specified in RFC 6513/6514
The default value is rosen.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
- status
- Success (1) or failure (0) of the operation.
- log
- An error message (if the operation failed).
- port.xxx.device_handle
- Returns an emulated device handle which has protocols running on it for the purpose of gathering detailed protocol results.
The pattern of a certain protocol return key will be “port.xxx.device.yyy.protocolxx.ooxx”. xxx represents the port handle the emulated device is on; yyy represents the emulated device handle the protocol running on; protocolxx represents the protocol name like bgp and ldp; ooxx represents detailed return key of a certain protocol.
The statistics that will be returned are listed below: :
BGP protocol information
- port.xxx.device.yyy.bgp.router_state
- Router state
- port.xxx.device.yyy.bgp.bgp_type
- BGP type
- port.xxx.device.yyy.bgp.tx_advertised_route
- Number of the sent advertised routes.
- port.xxx.device.yyy.bgp.tx_withdrawn_route
- Number of the sent withdrawn routes.
- port.xxx.device.yyy.bgp.tx_advertised_update
- Number of sent advertised update messages.
- port.xxx.device.yyy.bgp.tx_keepalive
- Number of sent keepalive messages.
- port.xxx.device.yyy.bgp.tx_notification
- Number of sent notification messages.
- port.xxx.device.yyy.bgp.tx_notify_code
- Number of sent notify codes.
- port.xxx.device.yyy.bgp.tx_notify_subcode
- Number of sent notify subcodes.
- port.xxx.device.yyy.bgp.tx_open
- Number of sent open messages.
- port.xxx.device.yyy.bgp.tx_route_refresh
- Number of sent route refresh messages.
- port.xxx.device.yyy.bgp.tx_withdrawn_update
- Number of sent withdrawn update messages.
- port.xxx.device.yyy.bgp.last_rx_update_route
- Number of received withdrawn update routes.
- port.xxx.device.yyy.bgp.outstanding_route
- Number of outstanding routes.
- port.xxx.device.yyy.bgp.rx_advertised_route
- Number of received advertised routes.
- port.xxx.device.yyy.bgp.rx_advertised_update
- Number of received advertised update messages.
- port.xxx.device.yyy.bgp.rx_keepalive
- Number of received keepalive messages.
- port.xxx.device.yyy.bgp.rx_notification
- Number of received notification messages.
- port.xxx.device.yyy.bgp.rx_notify_code
- Number of received notify codes.
- port.xxx.device.yyy.bgp.rx_notify_subcode
- Number of received notify subcodes.
- port.xxx.device.yyy.bgp.rx_open
- Number of received open messages.
- port.xxx.device.yyy.bgp.rx_route_refresh
- Number of received route refresh messages.
- port.xxx.device.yyy.bgp.rx_withdrawn_route
- Number of received withdrawn routes.
OSPFv2 protocol information
- port.xxx.device.yyy.ospfv2.router_state
- Router state.
- port.xxx.device.yyy.ospfv2.neighbor_state
- Neighbor state.
- port.xxx.device.yyy.ospfv2.rx_ack
- Number of received acknowledge messages.
- port.xxx.device.yyy.ospfv2.rx_asbr_summary_lsa
- Number of received Autonomous System Boundary Router (ASBR) summary LSA.
- port.xxx.device.yyy.ospfv2.rx_as_external_lsa
- Number of received AS external LinkState Advertisements (LSAs)
- port.xxx.device.yyy.ospfv2.rx_dd
- Number of received Database Description packets.
- port.xxx.device.yyy.ospfv2.rx_hello
- Number of received hello messages.
- port.xxx.device.yyy.ospfv2.rx_network_lsa
- Number of received network LSAs.
- port.xxx.device.yyy.ospfv2.rx_nssa_lsa
- Number of received NSSA LSAs.
- port.xxx.device.yyy.ospfv2.rx_request
- Number of received request messages.
- port.xxx.device.yyy.ospfv2.rx_router_lsa
- Number of received router LSAs.
- port.xxx.device.yyy.ospfv2.rx_summary_lsa
- Number of received summary LSAs.
- port.xxx.device.yyy.ospfv2.rx_telsa
- Number of received TE LSAs.
- port.xxx.device.yyy.ospfv2.rx_update
- Number of received update messages.
- port.xxx.device.yyy.ospfv2.tx_ack
- Number of sent acknowledge messages.
- port.xxx.device.yyy.ospfv2.tx_asbr_summary_lsa
- Number of sent ASBR summary LSAs.
- port.xxx.device.yyy.ospfv2.tx_as_external_lsa
- Number of sent AS external LSAs.
- port.xxx.device.yyy.ospfv2.tx_dd
- Number of sent Database Description packets.
- port.xxx.device.yyy.ospfv2.tx_hello
- Number of sent hello messages.
- port.xxx.device.yyy.ospfv2.tx_network_lsa
- Number of sent network LSAs.
- port.xxx.device.yyy.ospfv2.tx_nssa_lsa
- Number of sent NSSA LSAs.
- port.xxx.device.yyy.ospfv2.tx_request
- Number of sent request messages.
- port.xxx.device.yyy.ospfv2.tx_router_lsa
- Number of sent router LSAs.
- port.xxx.device.yyy.ospfv2.tx_summary_lsa
- Number of sent summary LSAs.
- port.xxx.device.yyy.ospfv2.tx_telsa
- Number of sent TE LSAs.
- port.xxx.device.yyy.ospfv2.tx_update
- Number of sent update messages.
ISIS protocol information
- port.xxx.device.yyy.isis.router_state
- Router state.
- port.xxx.device.yyy.isis.adjacency_level
- Adjacency level.
- port.xxx.device.yyy.isis.rx_l1_csnp
- Number of received L1 Complete Sequence Number PDUs (CSNPs).
- port.xxx.device.yyy.isis.rx_l1_lan_hello
- Number of L1 LAN Hellos sent to the DUT
- port.xxx.device.yyy.isis.rx_l1_lsp
- Number of L1 LSPs received from the DUT
- port.xxx.device.yyy.isis.rx_l1_psnp
- Number of L1 Partial Sequence Number PDUs (PSNPs) received from the DUT
- port.xxx.device.yyy.isis.rx_l2_csnp
- Number of received L2 CSNPs.
- port.xxx.device.yyy.isis.rx_l2_lan_hello
- Number of L2 LAN Hellos received from the DUT.
- port.xxx.device.yyy.isis.rx_l2_lsp
- Number of L2 LSPs received from the DUT.
- port.xxx.device.yyy.isis.rx_l2_psnp
- Number of L2 PSNPs received from the DUT
- port.xxx.device.yyy.isis.rx_ptp_hello
- Number of Peer to peer hellos received from the DUT
- port.xxx.device.yyy.isis.tx_l1_csnp
- Number of the sent L1 CSNPs.
- port.xxx.device.yyy.isis.tx_l1_lan_hello
- Number of L1 LAN Hellos sent to the DUT.
- port.xxx.device.yyy.isis.tx_l1_lsp
- Number of L1 LSPs sent to the DUT.
- port.xxx.device.yyy.isis.tx_l1_psnp
- Number of L1 PSNPs sent to the DUT.
- port.xxx.device.yyy.isis.tx_l2_csnp
- Number of L2 CSNPs sent to the DUT.
- port.xxx.device.yyy.isis.tx_l2_lan_hello
- Number of L2 LAN Hellos sent to the DUT.
- port.xxx.device.yyy.isis.tx_l2_lsp
- Number of L2 LSPs sent to the DUT.
- port.xxx.device.yyy.isis.tx_l2_psnp
- Number of L2 PSNPs sent to the DUT.
- port.xxx.device.yyy.isis.tx_ptp_hello
- Number of peer to peer Hellos sent to the DUT.
RIP protocol information
- port.xxx.device.yyy.rip.router_state
- Router State.
- port.xxx.device.yyy.rip.rx_advertised_update
- Number of received advertised update messages.
- port.xxx.device.yyy.rip.rx_withdrawn_update
- Number of received withdrawn update messages.
- port.xxx.device.yyy.rip.tx_advertised_update
- Number of sent advertised update messages.
- port.xxx.device.yyy.rip.tx_withdrawn_update
- Number of sent withdrawn update messages.
LDP protocol information
- port.xxx.device.yyy.ldp.router_state
- Router state.
- port.xxx.device.yyy.ldp.lsp_up_num
- Number of LSPs in the up state.
- port.xxx.device.yyy.ldp.lsp_down_num
- Number of LSPs in the down state.
- port.xxx.device.yyy.ldp.rx_direct_hello
- Number of the received direct Hellos.
- port.xxx.device.yyy.ldp.rx_keepalive
- Number of the received keepalive messages
- port.xxx.device.yyy.ldp.rx_label_abort
- Number of label abort requests received.
- port.xxx.device.yyy.ldp.rx_label_mapping
- Number of label mapping messages received.
- port.xxx.device.yyy.ldp.rx_label_release
- Number of label release messages received
- port.xxx.device.yyy.ldp.rx_label_request
- Number of label requests received.
- port.xxx.device.yyy.ldp.rx_label_withdraw
- Number of label withdraw messages received.
- port.xxx.device.yyy.ldp.rx_notification
- Number of notification messages received.
- port.xxx.device.yyy.ldp.rx_notify_code
- Number of notify codes received.
- port.xxx.device.yyy.ldp.rx_targeted_hello
- Number of targeted Hellos received.
- port.xxx.device.yyy.ldp.tx_direct_hello
- Number of direct Hellos sent.
- port.xxx.device.yyy.ldp.tx_keepalive
- Number of keepalive messages sent.
- port.xxx.device.yyy.ldp.tx_label_abort
- Number of label abort requests sent.
- port.xxx.device.yyy.ldp.tx_label_mapping
- Number of label mapping messages sent.
- port.xxx.device.yyy.ldp.tx_label_release
- Number of label release messages sent.
- port.xxx.device.yyy.ldp.tx_label_request
- Number of label requests sent.
- port.xxx.device.yyy.ldp.tx_notification
- Number of notification messages sent.
- port.xxx.device.yyy.ldp.tx_notify_code
- Number of notify codes sent.
- port.xxx.device.yyy.ldp.tx_targeted_hello
- Number of targeted Hellos sent.
RSVP protocol information
- port.xxx.device.yyy.rsvp.router_state
- Router State.
- port.xxx.device.yyy.rsvp.avg_lsp_setup_time
- Average time to set up an LSP on the session.
- port.xxx.device.yyy.rsvp.egress_lsp_up
- Number of egress LSPs in up state.
- port.xxx.device.yyy.rsvp.last_rx_path_error_code
- Number of Path Error messages received.
- port.xxx.device.yyy.rsvp.last_rx_resv_error_code
- Number of Reservation Error messages received.
- port.xxx.device.yyy.rsvp.last_tx_path_error_code
- Number of Path Error messages sent.
- port.xxx.device.yyy.rsvp.last_tx_resv_error_code
- Number of Reservation Error messages sent.
- port.xxx.device.yyy.rsvp.lsp_connecting
- Number of LSPs in connecting state.
- port.xxx.device.yyy.rsvp.lsp_down
- Number of LSPs in the down state.
- port.xxx.device.yyy.rsvp.lsp_up
- Number of LSPs in the up state.
- port.xxx.device.yyy.rsvp.max_lsp_setup_time
- Maximum time to set up an LSP on the session.
- port.xxx.device.yyy.rsvp.min_lsp_setup_time
- Minimum time to set up an LSP on the session.
- port.xxx.device.yyy.rsvp.rx_hello
- Number of received Hellos.
- port.xxx.device.yyy.rsvp.rx_path
- Number of path messages sent.
- port.xxx.device.yyy.rsvp.rx_path_error
- Number of Path Error messages received.
- port.xxx.device.yyy.rsvp.rx_path_recovery
- Number of PATH Recovery packets received
- port.xxx.device.yyy.rsvp.rx_path_teardown
- Number of Path Teardown messages received.
- port.xxx.device.yyy.rsvp.rx_resv
- Number of Reservation messages received.
- port.xxx.device.yyy.rsvp.rx_resv_confirmation
- Number of Reservation Confirmation messages received
- port.xxx.device.yyy.rsvp.rx_resv_error
- Number of Reservation Error messages received.
- port.xxx.device.yyy.rsvp.rx_resv_teardown
- Number of Reservation Teardown messages received.
- port.xxx.device.yyy.rsvp.tx_hello
- Number of Hellos sent.
- port.xxx.device.yyy.rsvp.tx_path
- Number of path messages sent.
- port.xxx.device.yyy.rsvp.tx_path_error
- Number of Path Error messages sent.
- port.xxx.device.yyy.rsvp.tx_path_recovery
- Number of PATH Recovery packets sent.
- port.xxx.device.yyy.rsvp.tx_path_teardown
- Number of Path Teardown messages sent.
- port.xxx.device.yyy.rsvp.tx_resv
- Number of Reservation messages sent.
- port.xxx.device.yyy.rsvp.tx_resv_confirmation
- Number of Reservation Confirmation messages sent.
- port.xxx.device.yyy.rsvp.tx_resv_error
- Number of Reservation Error messages sent.
- port.xxx.device.yyy.rsvp.tx_resv_teardown
- Number of Reservation Teardown messages sent.
PIM protocol information
- port.xxx.device.yyy.pim.router_state
- Router state.
- port.xxx.device.yyy.pim.neighbor_num
- Number of PIM neighbors for the router.
- port.xxx.device.yyy.pim.rx_assert
- Number of Assert messages received.
- port.xxx.device.yyy.pim.rx_boot_strap
- Number of Bootstrap messages received.
- port.xxx.device.yyy.pim.rx_cand_rp_advert
- Number of candidate RP Advertisements received
- port.xxx.device.yyy.pim.rx_group_rp
- Number of (,,RP) groups received.
- port.xxx.device.yyy.pim.rx_group_s_g
- Number of (S,G) groups received.
- port.xxx.device.yyy.pim.rx_group_s_g_rpt
- Number of (S,G,rpt) groups received.
- port.xxx.device.yyy.pim.rx_group_star_g
- Number of (*,G) groups received.
- port.xxx.device.yyy.pim.rx_hello
- Number of received Hellos.
- port.xxx.device.yyy.pim.rx_join_prune
- Number of Join/Prune messages received.
- port.xxx.device.yyy.pim.rx_register
- Number of Register messages received.
- port.xxx.device.yyy.pim.rx_register_stop
- Number of Register Stop messages received.
- port.xxx.device.yyy.pim.tx_assert
- Number of Assert messages sent.
- port.xxx.device.yyy.pim.tx_boot_strap
- Number of Bootstrap messages sent.
- port.xxx.device.yyy.pim.tx_cand_rp_advert
- Number of candidate RP Advertisements sent.
- port.xxx.device.yyy.pim.tx_group_rp
- Number of (,,RP) groups sent.
- port.xxx.device.yyy.pim.tx_group_s_g
- Number of (S,G) groups sent.
- port.xxx.device.yyy.pim.tx_group_s_g_rpt
- Number of (S,G,rpt) groups sent.
- port.xxx.device.yyy.pim.tx_group_star_g
- Number of (*,G) groups sent.
- port.xxx.device.yyy.pim.tx_hello
- Number of Hellos sent.
- port.xxx.device.yyy.pim.tx_join_prune
- Number of Join/Prune messages sent.
- port.xxx.device.yyy.pim.tx_register
- Number of Register messages sent.
- port.xxx.device.yyy.pim.tx_register_stop
- Number of Register Stop messages sent.
BFD protocol information
- port.xxx.device.yyy.bfd.session_up
- Number of BFD sessions in the Up state.
- port.xxx.device.yyy.bfd.session_down
- Number of BFD session in the down state.
- port.xxx.device.yyy.bfd.tx_bfd_pdu
- Number of BFD PDUs sent.
- port.xxx.device.yyy.bfd.rx_bfd_pdu
- Number of BFD PDUs received.
- Description:
The
emulation mvpn info
function provides information about the configured MVPN network topology.This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0). Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values for a description of each key.)
- Examples:
Sample Input:
puts "get mvpn configuration BGP info" set cmdStatus emulation mvpn info mode=bgp handle $mvpnHdl
Sample Output:
{port {{port2 {{devices router4} {device {{router4 {{bgp {{rx_advertised_route 2} {rx_open 1} {rx_notify_code 0} {tx_advertised_route 1} {last_rx_update_route 1} {tx_open 1} {tx_withdrawn_update 0} {rx_notify_subcode 0} {rx_advertised_update 2} {tx_notify_code 0} {rx_withdrawn_route 0} {rx_notification 0} {tx_advertised_update 1} {tx_notify_subcode 0} {router_state ESTABLISHED} {tx_withdrawn_route 0} {bgp_type EBGP} {tx_notification 0} {rx_route_refresh 0} {outstanding_route 1} {rx_keepalive 4}{tx_keepalive 5} {tx_route_refresh 0}}}}}}}}} {port1 {{devices router2} {device {{router2 {{bgp {{rx_advertised_route 29} {rx_open 1} {rx_notify_code 0} {tx_advertised_route 2} {last_rx_update_route 3} {tx_open 1} {tx_withdrawn_update 0} {rx_notify_subcode 0} {rx_advertised_update 11} {tx_notify_code 0} {rx_withdrawn_route 0} {rx_notification 0} {tx_advertised_update 2} {tx_notify_subcode 0} {router_state ESTABLISHED} {tx_withdrawn_route 0} {bgp_type IBGP} {tx_notification 0} {rx_route_refresh 0} {outstanding_route 2} {rx_keepalive 4} {tx_keepalive 4} {tx_route_refresh 0}}}}}}}}}}} {status 1}
Sample Input:
# To get NGMVPN= results set mvpn_ctrl [emulation mvpn info mode=ospfv2 handle= "$CeRtrv6 $CeRtrv4 $PeRouter $PRouter" mvpn_type= nextgen]
End of Procedure Header