EVPN Functions

emulation evpn config

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

Purpose:

Spirent Extension (for Spirent HLTAPI only).

Configures Ethernet VPN (EVPN, IEEE 802.1ah) network topology, creates emulated and simulated CE, P, and PE routers, specifies routing and labeling protocols, configures customer and provider side VPNs, and creates the traffic that is sent between VPNs, mapping the operations of the EVPN wizard in the Spirent TestCenter GUI.

This function emulates Ethernet VPN topologies from two pointsof-view: customer side and provider side. The customer side includes the CE routers and routes and IP or Ethernet 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, EVI mapping, and labeled IP traffic sent from the provider side to the customer side of the network.

Both EVPN and Provider Backbone Bridging EVPN (PBBEVPN) are supported.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation evpn config

         General Test Configurations
         enable_pbb= {true|false}
         enable_unicast= {true|false}
         traffic_encapsulation= {no_ip|ipv4|ipv6}

         Provider Port Configurations
         core_port_handle=  <port_handle>
         core_sub_if_count=    <1-65535>
         core_vlan_id_step=    <1-4095>
         core_sub_if_enable=    {true|false}
         core_vlan_id= <1-4095>
         dut_ipv4_addr=   <a.b.c.d>
         dut_ipv4_addr_step=   <a.b.c.d>
         use_core_ports_enable= {true|false}

         Provider Configurations Routers
         core_p_enable=    {true|false}
         core_p_per_sub_if= <1-65535>
         core_p_if_ip_addr= <a.b.c.d>
         core_p_if_prefix_length=  <1-30>
         core_p_loopback_ip_addr= <a.b.c.d>
         core_p_topology_type=   {tree|grid}
         core_p_loopback_ip_addr_step=    <a.b.c.d>
         core_pe_per_sub_if=    <1-10000>
         core_pe_loopback_ip_addr= <a.b.c.d>
         core_pe_loopback_ip_addr_step= <a.b.c.d>
         core_route_reflector_enable=    {true|false}
         core_route_reflector_mode= {stc_as_rr|dut_as_rr}
         core_route_reflector_ids=  <a.b.c.d>
         core_igp_protocol= {isis|ospf|rip|none}
         core_mpls_protocol=  {none|ldp|rsvp|ospf|isis}
         dut_loopback_ip_addr= <a.b.c.d>
         enable_4byte_dut_as= {true|false}
         dut_as_4byte=  <string>
         dut_as=  <string>
         area_id= <a.b.c.d>
         graceful_restart_type= {none|rfcstandard|llsignalling}
         ospfv2_network_type=   {native|broadcast|p2p}
         ospfv2_enable_graceful_restart= {true|false}
         ospfv2_enable_bfd= {true|false}
         ospfv2_router_priority= <0-255>
         options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
         ospfv2_password= <string>
         ospfv2_authentication=  {none|simple|md5}
         ospfv2_md5_key_id= <integer>
         sr_algorithm_tlv_algorithms= <string>
         sid_label_range_tlv_sid_range= <0-65535>
         sid_label_range_tlv_sid_base= <0-4294967295>
         prefix_sid_sub_tlv_index_step= <0-4294967295>
         prefix_sid_sub_tlv_index= <0-4294967295>
         area1= <string>
         area3= <string>
         area2= <string>
         circuit_id= <0-255>
         hello_padding= {true|false}
         if_cost=  <1-65535>
         isis_enable_graceful_restart= {true|false}
         isis_enable_bfd=  {true|false}
         isis_network_type= {broadcast|p2p}
         isis_router_priority= <0-127>
         level= {level1|level2|level1_and_2}
         l1_metric=  <1-63>
         l2_metric= <1-63>
         l1_wide_metric= <0-16777215>
         l2_wide_metric= <0-16777215>
         metric_mode= {narrow|wide|narrow_and_wide}
         isis_password= <string>
         isis_authentication=  {none|md5|simple}
         isis_md5_key_id= <integer>
         sr_algorithms= <string>
         sr_node_sid_index_step= <0-4294967295>
         sr_node_sid_index= <0-4294967295>
         sr_cap_sid_base= <0-4294967295>
         sr_cap_sid_range= <0-65535>
         core_ldp_hello_type= {directed|targeted}
         hello_type= {ldp_directed_hello|ldp_targeted_hello}
         ldp_label_min= <0-1048575>
         ldp_hello_interval=  <1-21845>
         label_advertisement_mode= {downstream_unsolicited|downstream_on_demand}
         ldp_enable_bfd= {true|false}
         ldp_password= <string>
         ldp_authentication=  {none|md5|simple}
         ldp_md5_key_id=  <integer>
         reconnect_time= <0-4294967>
         ldp_enable_graceful_restart= {true|false}
         transport_tlv_mode=  {transport_tlv_mode_none|transport_tlv_mode_tester_ip|
                               transport_tlv_mode_router_id}
         keep_alive_interval=  <1-21845>
         ldp_egress_label= {transport_tlv_mode_router_id|transport_tlv_mode_tester_ip|
                              transport_tlv_mode_router_id}]
         ldp_recovery_time=  <0-4294967>

         core_p_rsvp_bandwidth_per_link= <1-2147483647>
         core_p_rsvp_bandwidth_per_tunnel= <0-2147483647>
         enable_resv_request_confirmation= {true|false}
         enable_hello= {true|false}
         enable_reliable_delivery= {true|false}
         inter_pkt_delay=  <0-2147483647>
         rsvp_label_max=  <1-1048575>
         rsvp_egress_label=  {rsvp_egress_implicit_null|rsvp_egress_explicit_null|
                               rsvp_egress_nextavailable}]
         rsvp_enable_graceful_restart=   {true|false}
         restart_time= <0-4294967295>
         rsvp_recovery_time= <0-4294967295>
         rsvp_label_min= <1-1048575>
         rsvp_enable_bfd=    {true|false}
         rsvp_hello_interval= <1-2147483647>
         refresh_reduction_summary_refresh_interval=  <1-2147483647>
         retransmit_delta=  <0-3>
         refresh_interval=  <1-2147483647>
         retransmit_limit= <0-10>
         refresh_reduction_bundle_interval= <1-2147483647>
         retransmit_interval=  <1-2147483647>
         transit= {rsvp_transit_accept_all|rsvp_transit_accept_configured}

         Customer Port Configurations
         cust_port_handle= <port_handle>
         cust_sub_if_enable=  {true|false}
         customer_bmac_addr_step=  <0-255>
         customer_bmac_addr=   <aa:bb:cc:dd:ee:ff>
         cust_vlan_id= <1-4095>
         cust_vlan_id_step= <1-4095>
         cust_sub_if_count=  <1-65535>
         use_cust_ports_enable= {true|false}

         EVI Configurations
         core_ce_bgp_as_enable= {true|false}
         core_ce_bgp_as_step_per_vpn_enable=  {true|false}
         core_ce_bgp_4byte_as_enable=    {true|false}
         core_ce_bgp_4byte_as= <ASNumber:value|IPv4:Number>
         core_ce_bgp_4byte_as_step_per_vpn= <0-65535>
         core_ce_bgp_4byte_as_step_per_ce=  <0-65535>
         core_ce_bgp_4byte_as_step_per_ce_enable= {true|false}
         core_ce_bgp_4byte_as_step_per_vpn_enable= {true|false}
         core_ce_bgp_as_step_per_ce= <0-65535>
         core_ce_bgp_as_step_per_vpn= <0-65535>
         core_ce_bgp_as= <1-65535>
         core_ce_bgp_as_step_per_ce_enable= {true|false}
         cust_ce_vpn_assignment=   {ROUND_ROBIN|SEQUENTIAL}
         cust_route_distinguisher_step_per_ce= <ASNumber:value>
         cust_route_distinguisher_step_per_vpn= <ASNumber:value>
         cust_route_distinguisher_step_per_vpn_enable=  {true|false}
         cust_route_distinguisher_step_per_ce_enable=  {true|false}
         core_pe_evi_assignment= {EVI_PER_PE|PES_PER_EVI}
         core_pe_vpn_all= {true|false}
         cust_route_distinguisher=  <ASNumber:value>
         core_route_distinguisher_step_per_vpn= <ASNumber:value>
         core_route_distinguisher_step_per_ce_enable=  {true|false}
         core_route_distinguisher_step_per_ce=  <ASNumber:value>
         core_route_distinguisher_step_per_vpn_enable= {true|false}
         core_route_distinguisher= <ASNumber:value>
         vpn_count=  <1-65535>
         vpn_route_target=  <ASNumber:value|IPv4:Number>
         vpn_route_target_step= <ASNumber:value|IPv4:Number>

         EVPN Configurations
         customer_mac_addr= <aa:bb:cc:dd:ee:ff>
         customer_mac_addr_prefix= <0-48>
         cust_cmac_count= <1-2147483647>
         host_mac_start= <aa:bb:cc:dd:ee:ff>
         host_mac_prefix=  <0-48>
         host_mac_step=  <0-255>
         isid_step_value= <1-2147483647>
         isid_start_value= <1-2147483647>
         isid_count= <1-2147483647>
         provider_mac_addr= <aa:bb:cc:dd:ee:ff>
         provider_mac_addr_prefix= <0-48>
         provider_mac_addr_step= <0-255>
         prov_cmac_count=  <1-2147483647>
         route_mpls_label_start=  <0-1048575>
         ethernet_segment_route= {true|false}
         ethernet_segment_type= {type0|type1|type2|type3|type4|type5}
         ethernet_segment_id_step <10byte= hexadecimal>
         ethernet_segment_id  <10byte= hexadecimal>
         provider_ethernet_tags_per_evi=  <1-2147483647> w
         provider_ethernet_start_tag= <1-2147483647>
         provider_ethernet_tag_step= <1-2147483647>

         MAC Block Configurations
         cust_host_percent=  <0-100.00>
         core_host_percent=  <0-100.00>
         cust_hosts_per_ce=  <1-2147483647>
         core_hosts_per_ce=  <1-2147483647>
         host_overlap= {true|false}
         host_vlan_id=  <0-4095>
         host_vlan_id_step_per_host= <0-4095>
         host_vlan_id_step_per_vpn= <0-4095>
         host_num_core_vlans= <0-9>
         host_num_cust_vlans= <0-9>
         ipv4_route_start= <a.b.c.d>
         ipv4_route_prefix_length= <1-128>
         ipv4_route_step= <1-4294967295>
         total_hosts= <1-2147483647>
         hosts_per_vpn=  <1-2147483647>
         route_mpls_label_type= {site|route}
         vpn_route_mpls_label_start=  <0-1048575>
         vlan_enable=  {true|false}
         vpn_host_assignment= {hosts_per_ce|hosts_per_vpn}

         Traffic Configurations
         traffic_load_percent_from_customer_ports=  <0-100>
         traffic_flow= <0-100>
         traffic_pattern= {ONE_TO_ONE|ONE_TO_MANY}
         traffic_load_percent_from_core_ports= <0-100>
         stream_block_group_method=  {aggregate|vpn}
         stream_block_use_single_stream_number_per_endpoint_pair= {true|false}

Arguments:

 General Test Configurations

 traffic_encapsulation
                 Specifies the traffic encapsulation mode for the test.
                 Possible values are::


                  NO_IP    Ethernet onlyNo IP
                  IPv4     IPv4
                  IPv6     IPv6

                 The default value is NO_IP.

 enable_pbb
                 Enables or disables provider PBB EVPN. Possible values are true
                 (enable) and false (disable). The default value is false. A
                 specific set of arguments will be available when this argument is
                 enabled.

 enable_unicast
                 Enables or disables unicast. Possible values are true (enable)
                 and false (disable). The default value is true.

Provider Port Configurations:

 core_port_handle
                 Specifies the handle of the provider port

 use_core_ports_enable
                 Enables or disables provider ports. Possible values are true
                 (enable) and false (disable). The default value is true.

 dut_ipv4_addr
                 Specifies the starting IP address of the DUT.
                 The default value is 192.85.1.1.

 dut_ipv4_addr_step
                 Specifies the increment value with which to create subsequent DUT
                 addresses. The default value is 0.0.1.0.

 core_sub_if_count
                 Specifies the number of subinterfaces to be created on the
                 provider port. Possible values range from 1 to 65535. The default
                 value is 1. You must set core_sub_if_enable to true.

 core_vlan_id_step
                 Specifies the increment value with which to create subsequent
                 VLANs on the provider port. The default value is 0.0.1.0.

 core_sub_if_enable
                 Enables or disables subinterfaces on the provider side. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 core_vlan_id
                 Specifies the starting VLAN ID on the provider port. Possible
                 values range from 1 to 4095. The default value is 1.

Provider Router Configurations:

 dut_loopback_ip_addr
                 Specifies the DUT loopback IP address. The default value is
                 10.0.0.1.

 enable_4byte_dut_as
                 Enables or disables 4byte DUT AS numbers for the emulated BGP
                 router. Possible values are true (enable) and false (disable).
                 The default value is false.

 dut_as_4byte
                 Specifies the 4byte AS number for the emulated BGP router. The
                 values are in the format of 0:1-65535:65535. The default value is
                 1:1.

 dut_as
                 Specifies the DUT AS number for the emulated BGP router. Possible
                 values range from 1 to 65535. The default value is 1.

 core_p_enable
                 Enables or disables emulation of provider routers in the test. If
                 disabled, only provider edge routers will be emulated/simulated.
                 Possible values are true (enable) and false (disable). The
                 default value is true.

 core_p_per_sub_if
                 Specifies the number of provider routers per port or subinterface.
                 Possible values range from 1 to 65535. The default value is 1.

 core_p_if_ip_addr
                 Specifies the starting loopback IP address of the provider
                 routers. The default value is 1.0.0.1.

 core_p_if_prefix_length
                 Specifies the prefix length on the provider interface.
                 Possible values range from 1 to 30. The default value is 24.

 core_p_loopback_ip_addr
                 Specifies the starting loopback IP address for the P router. The
                 default value is 192.0.1.1.

 core_p_topology_type
                 Specifies the topology of the provider network.
                 Possible values are::


                  TREE                     Tree topology
                  GRID                     Grid topology

                 The default value is TREE.

 core_p_loopback_ip_addr_step
                 Specifies the increment value with which to create subsequent
                 provider loopback addresses. The value must be in IPv4 format.
                 The default value is 0.0.1.0.

 core_pe_per_sub_if
                 Specifies the number of PE routers per each subinterface.
                 Possible values range from 1 to 10000.
                 The default value is 1.

 core_pe_loopback_ip_addr
                 Specifies the starting PE loopback IP address.
                 The default value is 10.0.0.2.

 core_pe_loopback_ip_addr_step
                 Specifies the increment value with which to create subsequent PE
                 loopback IP addresses. The default value is 0.0.0.1.

 core_route_reflector_enable
                 Enables or disables emulation of route reflectors. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 core_route_reflector_mode
                 Specifies the route reflector emulation mode. Possible values are::


                  STC_AS_RR    Specify Spirent TestCenter as the route reflector

                  DUT_AS_RR   Specify the DUT as the route reflector

                 The default value is STC_AS_RR.

 core_route_reflector_ids
                 Specifies the route reflector ID, in IPv4 format. The default
                 value is 0.0.0.0.

 core_igp_protocol
                 Specifies the IGP protocol on the provider side.
                 Possible values are::


                     OSPF         OSPF
                     ISIS         ISIS
                     RIP          RIP
                     NONE         No IGP protocol

                 The default value is OSPF.

 core_mpls_protocol
                 Specifies the MPLS protocol on the provider side. Possible values
                 are::


                  NONE          No MPLS protocol
                  LDP           LDP
                  RSVP          RSVPTE
                  OSPF          OSPF SR
                  ISIS          ISIS SR

                 The default value is LDP.

Provider router parameters when core_igp_protocol is set to OSPF:

 ospfv2_network_type
                 Specifies the OSPFv2 network type. Possible values are native,
                 broadcast, and p2p. The default value is native.

 ospfv2_enable_graceful_restart
                 Enables or disables graceful restart for OSPFv2. Possible values
                 are true (enable) and false (disable). The default value is
                 false.

 area_id
                 Specifies the ID of the area to which the emulated router belongs.
                 It must match an area ID configured for the DUT to enable
                 communication with the DUT. The value must be in IPv4 format. The
                 default value is 0.0.0.0.

 ospfv2_enable_bfd
                 Enables or disables Bidirectional Forwarding Detection (BFD) for
                 this router. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv2_router_priority
                 Specifies the router priority for this emulated OSPFv2 router.
                 This is used in the designated router election procedure. A
                 router priority of 0 makes the router ineligible to be the
                 designated router. Possible values range from 0 to 255. The
                 default value is 0.

 options
                 Specifies the value of the Options field in Hello packets sent to
                 the DUT. Use hexadecimal for this value.
                 Possible values are::


                  TBIT         Type of Service (TOS) (T,0)
                  EBIT         Specifies the way ASexternal-LSAs are flooded (E,1)
                  MCBIT        Specifies whether IP multicast datagrams are
                               forwarded (MC,2)
                  NPBIT        Specifies the handling of Type-7 LSAs (NSSA) (N/P,3)
                  EABIT        Specifies the router's willingness to receive
                               and forward ExternalAttributes-LSAs (EA,4)
                  DCBIT        Specifies the router's handing of demand
                               circuits (DC,5)
                  OBIT         Specifies the router's willingness to receive and
                               forward Opaque LSAs as specified in RFC 2370
                               (O,6)
                  UNUSED7      This bit is not used

                 The default value is EBIT.

 graceful_restart_type
                 Specifies the type of graceful restart.
                 Possible values are::


                  NONE                        No graceful restart
                  RFCSTANDARD                Follows RFC 3623
                  LLSIGNALLING                Link Layer Signaling

                 The default value is NONE.

 ospfv2_authentication
                 Specifies the authentication method for OSPFv2.
                 Possible values are::


                  NONE               No authentication
                  SIMPLE             Use simple authentication
                  MD5                Use MD5 authentication

                 The default value is NONE.

 ospfv2_password
                 Specifies the password string for the MD5 authentication. The
                 default value is Spirent.

 ospfv2_md5_key_id
                 Specifies the MD5 key ID used for MD5 authentication. The default
                 value is 1.

 sr_algorithm_tlv_algorithms
                 Specifies the SR algorithm, in string format. You must set
                 core_mpls_protocol to OSPF. The default value is 0.

 sid_label_range_tlv_sid_range
                 Specifies the size of the SID/Label range. You must set
                 core_mpls_protocol to OSPF. Possible values range from 0 to
                 65535. The default value is 100.

 sid_label_range_tlv_sid_base
                 Specifies the base value for the SID/Label range. You must set
                 core_mpls_protocol to OSPF. Possible values range from 0 to
                 4294967295. The default value is 100.

 prefix_sid_sub_tlv_index_step
                 Specifies the increment value with which to create subsequent
                 SIDs/Labels. You must set core_mpls_protocol to OSPF. Possible
                 values range from 0 to 4294967295. The default value is 100.

 prefix_sid_sub_tlv_index
                 Specifies the index value for the SID subTLV. You must set
                 core_mpls_protocol to OSPF. Possible values range from 0 to
                 4294967295. The default value is 100.

Provider router parameters when core_igp_protocol is set to ISIS:

 if_cost
                 Specifies the interface cost. The cost of the interface
                 connecting the emulated router to the neighbor SUT router.
                 Possible values range from 1 to 65535. The default value is 1.

 isis_enable_graceful_restart
                 Enables or disables graceful restart for the emulated ISIS
                 router. Possible values are true (enable) and false (disable).
                 The default value is false.

 isis_enable_bfd
                 Enables or disables BFD for the emulated ISIS router. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 hello_padding
                 When enabled, Spirent HLTAPI will insert Hello Padding in Hello
                 Packets. Possible values are true (enable) and false (disable).
                 The default value is true.

 level
                 Specifies the circuit type of the emulated router. It defines the
                 type of adjacency that Spirent TestCenter establishes with the
                 SUT. Possible values are::


                  LEVEL1             Level 1
                  LEVEL2             Level 2
                  LEVEL1_AND_2       Both level 1 and level 2

                 The default value is LEVEL2.

 metric_mode
                 Specifies the length of the metric field in the LSP.
                 Possible values are::


                  NARROW              Router advertises routes with a narrow
                                       (6bit) metric
                  WIDE                Router advertises routes with a wide
                                      (24 or 32bit) metric
                  NARROW_AND_WIDE      Router advertises the same route with
                                        both metrics

                 The default value is NARROW_AND_WIDE.

 area1
                 Specifies area address 1 in string format. Spirent HLTAPI
                 supports up to three addresses per emulated router. Area 1
                 address is `Mandatory`. The default value is 000001.

 area2
                 Specifies area address 2 in string format. Area 1 must be
                 specified before area 2. The default value is 000001.

 area3
                 Specifies area address 3 in string format. Area 1 and area 2 must
                 be specified before area 3. The default value is 000001.

 l1_wide_metric
                 Specifies the level 1 traffic engineering metric of a link from
                 the emulated router to the SUT. Possible values range from 0 to
                 16777215. The default value is 1.

 l1_metric
                 Specifies the level 1 metric of the emulated router interface.
                 Possible values range from 1 to 63. The default value is 1.

 l2_wide_metric
                 Specifies the level 2 traffic engineering metric of a
                 link from the emulated router to the SUT. Possible values range
                 from 0 to 16777215. The default value is 1.

 l2_metric
                 Specifies the level 2 metric of the emulated router interface.
                 Possible values range from 1 to 63. The default value is 1.

 isis_network_type
                 Specifies the type of the ISIS interface.
                 Possible values are::


                  BROADCAST               Broadcast
                  P2P                     Point to Point

                 The default value is BROADCAST.

 isis_router_priority
                 Specifies the ISIS router priority, which is used to determine
                 which router should act as the designated router. Possible values
                 range from 0 to 127. The default value is 0.

 circuit_id
                 Specifies the 1octet Hex identifier of the emulated router
                 interface. This argument is only applicable to nonEthernet
                 connections. Possible values range from 0 to 255. The default
                 value is 1.

 isis_password
                 Specifies the password for ISIS messages. It is used as a password
                 string for simple authentication, or as a key string for MD5. If
                 the SUT is configured to authenticate messages, this password
                 must match the SUT password. The default value is
                 Spirent.

 isis_authentication
                 Specifies the method to use for authentication of ISIS messages.
                 Possible values are::


                  NONE       No authentication
                  SIMPLE     Simple authentication
                  MD5        MD5 authentication

                 The default value is NONE.

 isis_md5_key_id
                 Specifies the MD5 key ID used for MD5 authentication. Possible
                 values range from 1 to 255. The default value is 1.

 sr_algorithms
                 Specifies the ISIS SR algorithm, in string format. You must set
                 core_mpls_protocol to ISIS. The default value is 0.

 sr_node_sid_index_step
                 Specifies the increment value with which to create subsequent SID
                 indexes of the ISIS SR. You must set core_mpls_protocol to ISIS.
                 Possible values range from 0 to 4294967295. The default value is
                 1.

 sr_node_sid_index
                 Specifies the index value for the SID subTLV of ISIS SR. You
                 must set core_mpls_protocol to ISIS. Possible values range from
                 0 to 4294967295. The default value is 0.

 sr_cap_sid_base
                 Specifies the base value for the SID/Label range of ISIS SR. You
                 must set core_mpls_protocol to ISIS. Possible values range from
                 0 to 4294967295. The default value is 100.

 sr_cap_sid_range
                 Specifies the size of the SID/Label range for ISIS SR. You must
                 set core_mpls_protocol to ISIS. Possible values range from 0 to
                 65535. The default value is 100.


Provider router parameters when core_mpls_protocol is set to LDP:

 ldp_label_min
                 Specifies the minimum label advertised by the emulated router.
                 Possible values range from 0 to 1048575. The default value is 16.

 ldp_hello_interval
                 Specifies the Hello interval for LDP packets, in milliseconds
                 (ms). Possible values range from 1 to 21845. The default value is
                 5.

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


                  directed        A basic discovery mechanism used to locate
                                  directly connected neighbors

                  targeted         An extended discovery mechanism used to locate
                                  neighbors not directly connected

                 The default value is DIRECTED.


 hello_type
                 Specifies the type of Hello packet transmitted by the emulated
                 peer. Possible values are::


                  LDP_DIRECTED_HELLO               Directed Hello
                  LDP_TARGETED_HELLO               Targeted Hello

                 The default value is LDP_DIRECTED_HELLO.

 label_advertisement_mode
                 Specifies the label advertisement mode for LDP.
                 Possible values are::


                  DOWNSTREAM_UNSOLICITED   Downstream unsolicited
                  DOWNSTREAM_ON_DEMAND     Downstream on demand

                 The default value is DOWNSTREAM_UNSOLICITED.

 ldp_enable_bfd
                 Enables or disables BFD for this emulated LDP router. Possible
                 values are true (enable) and false (disable). The default value
                 is true.

 ldp_password
                 Specifies the LDP authentication password.
                 The default value is Spirent.

 ldp_authentication
                 Specifies the authentication type for LDP.
                 Possible values are::


                  NONE             No authentication
                  MD5              MD5 authentication

                 The default value is NONE.

 ldp_md5_key_id
                 Specifies the MD5 Key ID used for MD5 authentication. The default
                 value is 1.

 reconnect_time
                 Specifies the value of Fault Tolerant Reconnect timeout. This
                 argument is available when ldp_enable_graceful_restart is set to
                 true. Possible values range from 0 to 4294967. The default value
                 is 60.

 ldp_enable_graceful_restart
                 Enables or disables graceful start for this emulated LDP router.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 transport_tlv_mode
                 Specifies the transport TLV mode.
                 Possible values are::


                  TRANSPORT_TLV_MODE_NONE         None
                  TRANSPORT_TLV_MODE_TESTER_IP    Emulated router interface address
                  TRANSPORT_TLV_MODE_ROUTER_ID    Emulated router ID

                 The default value is TRANSPORT_TLV_MODE_TESTER_IP.

 keep_alive_interval
                 Specifies the Keepalive time (in seconds) proposed in the
                 initialization message sent by the peer. Possible values range
                 from 1 to 21845. The default value is 60.

 ldp_egress_label
                 Specifies the egress label advertised by the emulated peer.
                 Possible values are::


                  LDP_EGRESS_NEXTAVAILABLE    Next available

                  LDP_EGRESS_IMPLICIT_NULL    Implicit null

                  LDP_EGRESS_EXPLICIT_NULL    Explicit null

                 The default value is LDP_EGRESS_NEXTAVAILABLE.

 ldp_recovery_time
                 Specifies the LDP recovery time. This argument is available when
                 ldp_enable_graceful_restart is set to true. Possible values
                 range from 0 to 4294967. The default value is 140.

Provider router parameters when core_mpls_protocol is set to RSVP:

 core_p_rsvp_bandwidth_per_link
                 Specifies the ISIS/OSPFv2 TE Link Maximum bandwidth for simulated
                 P router topology links, in bytes/sec. Possible values range from
                 1 to 2147483647. The default value is 100000.

 core_p_rsvp_bandwidth_per_tunnel
                 Specifies the RSVPTE T-Spec Bandwidth rate for provider tunnels,
                 in bytes/sec. Possible values range from 0 to 2147483647. The
                 default value is 0.

 rsvp_egress_label
                 Specifies the egress label advertised by the emulated peer.
                 Possible values are::


                  RSVP_EGRESS_IMPLICIT_NULL   This label value is used in an LDP
                                              or RSVP packet to enable
                                              penultimate hop label popping.

                  RSVP_EGRESS_EXPLICIT_NULL  Explicit null instructions are
                                             signaled to the penultimate
                                             router by the egress router.

                  RSVP_EGRESS_NEXTAVAILABLE  For each FEC, the LSR advertises the
                                             next available label from the
                                             minimum label to maximum label pool.

                 The default value is RSVP_EGRESS_NEXTAVAILABLE.


 transit
                 Defines the RESV message sent if the emulated router is not the
                 tailend for PATH messages it receives. RESV messages are used to
                 set up and maintain the "resources requested" as well as
                 "refresh" reservations. Possible values are::


                   RSVP_TRANSIT_ACCEPT_ALL           Router sends a RESV
                                                     message with the next
                                                     available label for every
                                                     PATH message received.

                  RSVP_TRANSIT_ACCEPT_CONFIGURED
                                                     Router sends a RESV
                                                     message with the next
                                                     available label in
                                                     response to PATH messages
                                                     that match one of its
                                                     egress tunnels.

                 The default value is RSVP_TRANSIT_ACCEPT_CONFIGURED.


 rsvp_enable_graceful_restart
                 Enables or disables graceful start for this emulated RSVP router.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 restart_time
                 Specifies the sum of time (in milliseconds) that it takes the
                 sender of the object to restart the RSVPTE component and the
                 RSVP communication channel. This argument is available when
                 rsvp_enable_graceful_restart is set to true. Possible values
                 range from 0 to 4294967295. The default value is 3000.

 rsvp_recovery_time
                 Specifies the period of time (in milliseconds) that the sender
                 needs for the recipient to resynchronize RSVP and MPLS
                 forwarding state with the sender, after the reestablishment of
                 Hello synchronization. This argument is available when
                 rsvp_enable_graceful_restart is set to true. Possible values
                 range from 0 to 4294967295. The default value is 0.


 rsvp_label_max
                 Specifies the maximum label advertised by the emulated RSVP
                 router. Possible values range from 1 to 1048575. The default
                 value is 65535.

 rsvp_label_min
                 Specifies the minimum label advertised by the emulated RSVP
                 router. Possible values range from 1 to 1048575. The default
                 value is 16.

 rsvp_enable_bfd
                 Enables or disables BFD for this emulated RSVP router.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 inter_pkt_delay
                 Time interval (in milliseconds) to gather refresh messages that
                 have been sent out individually. Messages are sent out as a
                 single refresh message upon interval expiration or when the
                 message size exceeds the MTU. Possible values range from 0 to
                 2147483647. The default value is 30.

 rsvp_hello_interval
                 Specifies the interval between RSVP Hello packets. This argument
                 is available when enable_hello is set to true. Possible values
                 range from 1 to 2147483647. The default value is 1000.

 enable_resv_request_confirmation
                 When enabled, Spirent HLTAPI signals the ingress to
                 send out a RESV_CONFIRM message to confirm the successful
                 installation of a reservation.
                 Possible values are::


                  true              Enables RESVRequest confirmation
                  false             Disables RESVRequest confirmation

                 The default value is false.

 enable_hello
                 Enables or disables Hello messages for RSVP sessions.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 enable_reliable_delivery
                 Enables or disables reliable delivery (retransmission parameters).
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 refresh_reduction_summary_refresh_interval
                 Specifies the time interval (in milliseconds) to gather refresh
                 messages that have been sent out individually. Messages are
                 sent out as a single refresh message upon interval expiration or
                 when the message size exceeds the MTU. Possible values range from
                 1 to 2147483647.

 retransmit_delta
                 Specifies the multiplier by which the retransmission interval is
                 increased each time an unacknowledged message is retransmitted.
                 Possible values range from 0 to 3. The default value is 1.

 refresh_interval
                 Specifies the time interval for a PATH and RESV message to be
                 sent out to the path receiver to refresh the PATH/RESV state
                 along each hop of the path. Possible values range from 1 to
                 2147483647. The default value is 30000.

 retransmit_limit
                 Specifies the maximum number of times a message is transmitted
                 without being acknowledged. Possible values range from 0 to 10.
                 The default value is 3.

 refresh_reduction_bundle_interval
                 Specifies the time interval (in milliseconds) to wait before
                 sending queued messages. Possible values range from 1 to
                 2147483647. The default value is 1000.

 retransmit_interval
                 Specifies the initial retransmission interval (in milliseconds)
                 for unacknowledged messages. Possible values range from 1 to
                 2147483647. The default value is 500.

Customer Port Configurations:

 cust_port_handle
                 Specifies the customer port handle to be used

 use_cust_ports_enable
                 Enables or disables the use of customer ports. Possible values
                 are true (enable) and false (disable). The default value is
                 false.

 cust_sub_if_enable
                 Enables or disables subinterfaces on the customer port.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 customer_bmac_addr_step
                 Specifies the increment value with which to create subsequent
                 backbone MAC (BMAC) addresses.  Possible
                 values range from 0 to 255. The default value is 1.

 customer_bmac_addr
                 Specifies the first BMAC address. The default value is
                 0.0.1.0.0.1.

 cust_vlan_id
                 Specifies the starting VLAN ID on the customer port. Possible
                 values range from 1 to 4095. The default value is 1.

 cust_vlan_id_step
                 Specifies the increment value with which to create subsequent
                 VLAN IDs. Possible values range from 1 to 4095. The default value
                 is 1.

 cust_sub_if_count
                 Specifies the number of subinterfaces to create on the customer
                 port. Possible values range from 1 to 65535. The default value is
                 1.

EVPN Instance (EVI) Configurations

 core_ce_bgp_as_enable
                 Enables or disables BGP AS numbers on the provider side. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 core_ce_bgp_as_step_per_vpn_enable
                 Enables or disables increment values to create subsequent BGP AS
                 numbers for CE routers per each EVI on the provider side.
                 Possible values are true (enable) and false (disable). The
                 default value is true.

 core_ce_bgp_4byte_as_enable
                 Enables or disables 4byte AS numbers for CE routers on the
                 provider side. Possible values are true (enable) and false
                 (disable). The default value is false.

 core_ce_bgp_4byte_as
                 Specifies the starting 4byte AS number of the CE router on the
                 provider side. This argument is available when
                 core_ce_bgp_4byte_as_enable is set to true. The value must be in
                 ASNumber:value or IPv4:Number format. The default value is 1:1.

 core_ce_bgp_4byte_as_step_per_vpn
                 Enables or disables increment values to create subsequent 4byte
                 BGP AS numbers for CE routers per each EVI on the provider side.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 core_ce_bgp_4byte_as_step_per_ce
                 Specifies the increment value with which to create subsequent
                 4byte AS numbers across CE routers on the provider side. This
                 argument is available when
                 core_ce_bgp_4byte_as_step_per_ce_enable is set to true. Possible
                 values range from 0 to 65535. The default value is 1.

 core_ce_bgp_4byte_as_step_per_ce_enable
                 Enables or disables increment values to create subsequent 4byte
                 AS numbers across CE routers on the provider side. Possible
                 values are true (enable) and false (disable).  The default value is
                 false.

 core_ce_bgp_4byte_as_step_per_vpn_enable
                 Enables or disables increment values to create subsequent 4byte
                 AS numbers per EVI on the provider side. Possible values are
                 true (enable) and false (disable).  The default value is false.

 core_ce_bgp_as_step_per_ce
                 Specifies the increment value with which to create subsequent AS
                 numbers across provider CE routers. Possible values range from 0
                 to 65535. The default value is 1.

 core_ce_bgp_as_step_per_vpn
                 Specifies the increment value with which to create subsequent BGP
                 AS numbers per EVI on the provider side. Possible values range
                 from 0 to 65535. The default value is 1.

 core_ce_bgp_as
                 Specifies the starting AS number for CE routers on the provider
                 side. Possible values range from 1 to 65535. The default value is
                 1.

 core_ce_bgp_as_step_per_ce_enable
                 Enables or disables increment values to create subsequent AS
                 numbers across CE routers. Possible values are true (enable) and
                 false (disable). The default value is false.

 cust_ce_vpn_assignment
                 Determines how EVIs are assigned to CE routers on the customer
                 side. Possible values are::


                   ROUND_ROBIN           The first CE created is assigned to the
                                         first EVI. The second CE that is created
                                         is assigned to the second EVI, etc.

                  SEQUENTIAL             CEs that are created are assigned to the
                                         first EVI until the calculated number of
                                         CEs per EVI is reached. Additional CEs
                                         are assigned to the second and subsequent
                                         EVIs in the same fashion.

                 The default value is ROUND_ROBIN.

 cust_route_distinguisher_step_per_ce
                 Specifies the increment value with which to create subsequent
                 route distinguishers per each CE router. The value must be in
                 ASNumber:value format. The default value is 0:0.

 cust_route_distinguisher_step_per_vpn
                 Specifies the increment value with which to create subsequent
                 route distinguishers per each EVI. The value must be in
                 ASNumber:value format. The default value is 0:0.

 cust_route_distinguisher_step_per_vpn_enable
                 Enables or disables increment values to create subsequent route
                 distinguishers per each EVI on the customer side. Possible values
                 are true (enable) and false (disable). The default value is true.

 cust_route_distinguisher_step_per_ce_enable
                 Enables or disables increment values to create subsequent route
                 distinguishers per each CE router on the customer side. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 core_pe_evi_assignment
                 Specifies the distribution mode across EVI and PE items.
                 Items will be distributed across a set of targets on the provider
                 side. This argument determines which is the item and which is the
                 target. Possible values are::


                  EVI_PER_PE         EVI per PE
                  PES_PER_EVI        PEs per EVI

                 The default value is EVI_PER_PE.

 core_pe_vpn_all
                 When enabled, Each PE has routes in all EVIs. Possible values are
                 true (enable) and false (disable). The default value is false.

 cust_route_distinguisher
                 Specifies the starting route distinguisher on the customer side.
                 The value must be in ASNumber:value format. The default value is
                 is 1:0.

 core_route_distinguisher_step_per_vpn
                 Specifies the increment value with which to create subsequent route
                 distinguishers for each EVI on the provider side. The value must
                 be in ASNumber:value format. The default value is 1:0.

 core_route_distinguisher_step_per_ce_enable
                 Enables or disables increment values to create subsequent route
                 distinguishers per CE on the provider side. Possible values are
                 true (enable) and false (disable). The default value is false.

 core_route_distinguisher_step_per_ce
                 Specifies the increment value with which to create subsequent
                 route distinguishers per CE on the provider side. The value
                 must be in ASNumber:value format. The default value is 0:0.

 core_route_distinguisher_step_per_vpn_enable
                 Enables or disables increment values to create subsequent route
                 distinguishers per EVI on the provider side. Possible values
                 are true (enable) and false (disable). The default value is
                 false.

 core_route_distinguisher
                 Specifies the route distinguisher for the EVI route. The value
                 must be in ASNumber:value format. The default value is 1:0.

 vpn_count
                 Specifies the number of EVIs to configure. Possible values range
                 from 1 to 65535. The default value is 10.

 vpn_route_target
                 Specifies the Route Target extended community attribute of the
                 EVI. The value must be in ASNumber:value or IPv4:Number format.
                 The default value is 1:0.

 vpn_route_target_step
                 Specifies the increment value with which to create subsequent
                 route targets for the EVI. The value must be in ASNumber:value
                 or IPv4:Number format. The default value is 1:0.

PBB EVPN Configurations  (with traffic_encapsulation set to PBB)

 isid_start_value
                 Specifies the starting service instance identifier (ISID).
                 Possible values range from 1 to 2147483647. The default value is
                 1.

 isid_step_value
                 Specifies the increment value with which to create subsequent
                 ISIDs. Possible values range from 1 to 2147483647. The default
                 value is 1.

 isid_count
                 Specifies the number of ISIDs to create. Possible values range
                 from 1 to 2147483647. The default value is 1.

 customer_mac_addr
                 Specifies the starting MAC address on the customer side. The
                 default value is 0.0.1.0.0.1.

 customer_mac_addr_prefix
                 Specifies the prefix for the host MAC address on the customer
                 side. Possible values range from 0 to 48. The default value is
                 48.

 customer_mac_addr_step
                 Specifies the increment value with which to create subsequent MAC
                 addresses on the customer side. Possible values range from 0 to
                 255. The default value is 1.

 cust_cmac_count
                 Specifies the number of customer MACs (CMAC) to create on the
                 provider side. Possible values range from 1 to 2147483647. The
                 default value is 1.

 provider_mac_addr
                 Specifies the starting MAC address on the provider side. The
                 default value is 0.0.1.0.0.1.

 provider_mac_addr_prefix
                 Specifies the prefix for the host MAC address on the provider
                 side. Possible values range from 0 to 48. The default value is
                 48.

 provider_mac_addr_step
                 Specifies the increment value with which to create subsequent MAC
                 addresses on the provider side. The default value is 1.

 prov_cmac_count
                 Specifies the number of CMACs to create on the
                 provider side. Possible values range from 1 to 2147483647. The
                 default value is 1.

 host_mac_start
                 Specifies the starting host MAC address. The default value is
                 0.0.1.0.0.1.

 host_mac_prefix
                 Specifies the prefix for the host MAC. Possible values range from
                 0 to 48. The default value is 48.

 host_mac_step
                 Specifies the increment value with which to create subsequent
                 host MAC addresses. Possible values range from 0 to 255 The
                 default value is 1.

 route_mpls_label_start
                 Specifies the starting MPLS label for the route. Possible values
                 range from 0 to 1048575. The default value is 16.

EVPN Parameters (with traffic_encapsulation set to IPV4 or IPV6)

 ethernet_segment_route
                 When enabled, Spirent HLTAPI will generate Ethernet segment
                 routes for the EVPN. Possible values are true (enable) and false
                 (disable). The default value is false.

 ethernet_segment_type
                 Specifies the Ethernet segment type to be generated. It
                 determines the format of the Ethernet segment ID.
                 Possible values are::


                  TYPE0                    Operator
                  TYPE1                    IEEE 802.1AX LACP
                  TYPE2                    Bridged LAN
                  TYPE3                    MAC Based
                  TYPE4                    Router ID
                  TYPE5                    Autonomous System

                 The default value is TYPE0.

 ethernet_segment_id
                 Specifies the Ethernet segment ID. An Ethernet segment ID
                 identifies the link between the CE and a PE. The value must be a
                 10byte hexadecimal. The default value is
                 00:00:00:00:00:00:00:00:00.

 ethernet_segment_id_step
                 Specifies the increment value with which to create subsequent
                 Ethernet Segment IDs. The value must be a 10byte hexadecimal.
                 The default value is 00:00:00:00:00:00:00:00:00.

 provider_ethernet_tags_per_evi
                 Specifies the number of Ethernet tags to create per EVI on the
                 provider side. Possible values range from 1 to 2147483647. The
                 default value is 1.

 provider_ethernet_start_tag
                 Specifies the value of the first Ethernet tag on the provider
                 side. Possible values range from 1 to 2147483647. The default
                 value is 1.

 provider_ethernet_tag_step
                 Specifies the increment value with which to create subsequent
                 Ethernet tags on the provider side. Possible values range from 1
                 to 2147483647. The default value is 1.

MAC Block Configurations

 route_mpls_label_type
                 Specifies whether MPLS labels are assigned per site or per
                 route. Possible values are::


                  SITE                Label per site
                  ROUTE               Label per route

                 The default value is SITE.

 vpn_route_mpls_label_start
                 Specifies the value of the first MPLS label. Possible values
                 range from 0 to 1048575. The default value is 16.

 vlan_enable
                 Enables or disables host VLANs. Possible values are true
                 (enable) and false (disable). The default value is false.

 host_overlap
                 Determines whether to allow hosts to overlap. Possible values
                 are::


                  true       Restart the numbering of the emulated CE host block MAC
                             address at the first Host MAC value when starting a
                             new CE host block

                  false      Continue incrementing the MAC address when starting a
                             new emulated CE host block

                 The default value is false.

 host_vlan_id
                 Specifies the starting host VLAN ID. You must set vlan_enable to
                 true. Possible values range from 0 to 4095. The default value is
                 100.

 host_vlan_id_step_per_host
                 Specifies the increment value with which to create subsequent
                 VLAN IDs per host. Possible values range from 0 to 4095. The
                 default value is 0.

 host_vlan_id_step_per_vpn
                 Specifies the increment value with which to create subsequent
                 VLAN IDs per EVI. Possible values range from 0 to 4095. The
                 default value is 0.

 host_num_core_vlans
                 Specifies the number of host VLANs to be configured for provider
                 side hosts. Possible values range from 0 to 9. The default value
                 is 1.

 host_num_cust_vlans
                 Specifies the number of host VLANs to be configured for customer
                 side hosts. Possible values range from 0 to 9. The default value
                 is 1.

 vpn_host_assignment
                 Specifies how EVI hosts are assigned.
                 Possible values are::

                  HOSTS_PER_CE                Hosts per CE
                  HOSTS_PER_VPN               Hosts per VPN
                  TOTAL_HOSTS                 Total hosts

                 The default value is HOSTS_PER_CE.

 cust_hosts_per_ce
                 Specifies the number of hosts per CE on the customer side. Possible
                 values range from 1 to 2147483647. The default value is 1.

 core_hosts_per_ce
                 Specifies the number of hosts per CE on the provider side.
                 Possible values range from 1 to 2147483647. The default value is
                 1.

 total_hosts
                 Specifies the total number of hosts to be created. Possible
                 values range from 1 to 2147483647. The default value is 100.

 hosts_per_vpn
                 Specifies the number of hosts per EVI on the provider side.
                 Possible values range from 1 to 2147483647. The default value is
                 100.

 cust_host_percent
                 Specifies the customer host percent. Possible values range from 0
                 to 100. The default value is 50.

 core_host_percent
                 Specifies the provider host percent. Possible values range from 0
                 to 100. The default value is 50.

 ipv4_route_start
                 Specifies the starting IP address for the route. The default
                 value is 110.1.1.0.

 ipv4_route_prefix_length
                 Specifies the prefix length of the route IP address. Possible
                 values range from 1 to 128. The default value is 64.

 ipv4_route_step
                 Specifies the increment value with which to create subsequent IP
                 addresses. Possible values range from 1 to 4294967295. The default
                 value is 1.

Traffic Configurations

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

 traffic_flow
                 Specifies the traffic flow to be configured.
                 Possible values are::


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

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

                  BIDIRECTIONAL      Bidirectional, traffic flow in both directions
                                     between the emulated CE and the simulated CE
                                     devices behind the PEs fully_meshed traffic
                                     flows are created between all CE sites
                                     within the same VPLS that are on different ports.

                  NONE               No traffic flow

 traffic_pattern
                 Specifies the traffic pattern. Possible values are::


                  ONE_TO_ONE           Oneto-one
                  ONE_TO_MANY          Oneto-many

                 The default value is ONE_TO_MANY.

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

 stream_block_group_method
                 Specifies the stream block grouping method.
                 Possible values are::


                  AGGREGATE  Aggregates all streams into a single stream block

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

                 The default value is AGGREGATE.

 stream_block_use_single_stream_number_per_endpoint_pair
                 Specifies whether to use a single stream number per endpoint pair.
                 Possible values are::


                  true     Each endpoint is assigned a single stream ID
                  false    Each flow between endpoint pairs is assigned a single
                           stream ID

                 The default value is false.
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):

rtgtestgenipv4portparams_hnd        General test configuration handle
vpnigpisissessionparams_hnd         EVPN IGP/ISIS session handle
vpnevpngencustportparams_hnd        EVPN customer port handle
vpnlsppinggenipv4coreparams_hnd     EVPN LSP core handle
vpnevpngencoreportparams_hnd        EVPN provider port handle
vpnevpngenparams_hnd                EVPN general parameters handle
rtgtestgenipv6portparams_hnd        EVPN IPv6 provider port handle
vpnlsppinggenipv4vpnparams_hnd      EVPN LSP provider handle
ldpauthenticationparams_hnd         LDP authentication handle
isisauthenticationparams_hnd        ISIS authentication handle
ospfv2authenticationparams_hnd      OSPFv2 authentication handle

LdpRouterConfig         The LDP router configuration handle returned by the function
BfdRouterConfig         The BFD router configuration handle returned by the function
Ospfv2RouterConfig      The OSPFv2 router configuration handle returned by the function
BgpRouterConfig         The BGP router configuration handle returned by the function
BgpRouter               The device handle which contains BgpRouterConfig
LdpRouter               The device handle which contains LdpRouterConfig
OspfRouter              The device handle which contains Ospfv2RouterConfig
BfdRouter               The device handle which contains BfdRouterConfig

CERouter                The device handle for the CE Router
PERouter                The device handle for the PE Router

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

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

The emulation evpn config function configures Ethernet VPN topology, creates emulated and simulated CE, P, and PE routers, specifies routing and labeling protocols, configures customer and provider side VPNs, and creates the traffic that is sent between VPNs, mapping the operations of the EVPN wizard in the Spirent TestCenter GUI.

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

Examples:

Sample Input:

set device_ret1 [emulation evpn config
    core_port_handle=                               $port1
    cust_port_handle=                                $port2
    enable_pbb=                                      false
    enable_unicast=                                  true
    traffic_encapsulation=                           IPv4
    use_core_ports_enable=                           true
    dut_ipv4_addr=                                   13.1.1.1
    dut_ipv4_addr_step=                              0.0.0.1
    core_sub_if_count=                               1
    core_vlan_id_step=                               1
    core_sub_if_enable=                             false
    core_vlan_id=                                    4
    dut_loopback_ip_addr=                           4.4.4.4
    enable_4byte_dut_as=                            true
    dut_as_4byte=                                    1:1
    dut_as=                                          2
    core_p_enable=                                  true
    core_p_per_sub_if=                              1
    core_p_if_ip_addr=                              13.1.1.2
    core_p_if_prefix_length=                        24
    core_p_loopback_ip_addr=                         172.1.0.1
    core_p_topology_type=                            GRID
    core_p_loopback_ip_addr_step=                   0.0.0.1
    core_pe_per_sub_if=                             1
    core_pe_loopback_ip_addr=                       20.1.1.1
    core_pe_loopback_ip_addr_step=                  0.0.0.1
    core_route_reflector_enable=                    true
    core_route_reflector_mode=                      DUT_AS_RR
    core_route_reflector_ids=                        1.1.1.0
    core_igp_protocol=                              ISIS
    core_mpls_protocol=                             RSVP
    ospfv2_network_type=                            NATIVE
    ospfv2_enable_graceful_restart=                 false
    area_id=                                        0.0.0.100
    ospfv2_enable_bfd=                              false
    ospfv2_router_priority=                         1
    options=                                        EBIT
    graceful_restart_type=                          NONE
    sr_algorithm_tlv_algorithms=                    0
    sid_label_range_tlv_sid_range=                  100
    sid_label_range_tlv_sid_base=                   100
    prefix_sid_sub_tlv_index_step=                  1
    prefix_sid_sub_tlv_index=                       0
    if_cost=                                        1
    isis_enable_graceful_restart=                   false
    isis_enable_bfd=                                false
    isis_authentication=                             none
    l2_wide_metric=                                 1
    hello_padding=                                  true
    level=                                          LEVEL2
    metric_mode=                                    NARROW_AND_WIDE
    area1=                                          000001
    area3=                                          000001
    area2=                                          000001
    l1_wide_metric=                                  1
    isis_network_type=                               BROADCAST
    l1_metric=                                       1
    isis_router_priority=                            0
    circuit_id=                                      1
    l2_metric=                                       1
    sr_algorithms=                                   0
    sr_node_sid_index_step=                          1
    sr_node_sid_index=                              0
    sr_cap_sid_base=                                100
    sr_cap_sid_range=                               100
    ldp_label_min=                                  16
    ldp_hello_interval=                             5
    core_ldp_hello_type=                            DIRECTED
    hello_type=                                     LDP_DIRECTED_HELLO
    label_advertisement_mode=                       DOWNSTREAM_UNSOLICITED
    ldp_enable_bfd=                                 false
    reconnect_time=                                 60
    ldp_enable_graceful_restart=                    false
    transport_tlv_mode=                         TRANSPORT_TLV_MODE_TESTER_IP
    keep_alive_interval=                        60
    ldp_egress_label=                           LDP_EGRESS_NEXTAVAILABLE
    ldp_recovery_time=                          140
    core_p_rsvp_bandwidth_per_link=             100000
    core_p_rsvp_bandwidth_per_tunnel=            0
    rsvp_egress_label=                       RSVP_EGRESS_NEXTAVAILABLE
    transit=                                 RSVP_TRANSIT_ACCEPT_CONFIGURED
    label_max=                                          65535
    rsvp_enable_graceful_restart=                       false
    restart_time=                                       3000
    rsvp_recovery_time=                                  0
    rsvp_label_min=                                     16
    rsvp_enable_bfd=                                    true
    inter_pkt_delay=                                    30
    rsvp_hello_interval=                                1000
    enable_resv_request_confirmation=                   true
    enable_hello=                                       true
    enable_reliable_delivery=                           true
    refresh_reduction_summary_refresh_interval=         null
    retransmit_delta=                                   1
    refresh_interval=                                   30000
    retransmit_limit=                                   3
    refresh_reduction_bundle_interval=                  3000
    retransmit_interval=                                500
    use_cust_ports_enable=                              true
    cust_sub_if_enable=                                 true
    customer_bmac_addr_step=                            1
    customer_bmac_addr=                                 40:00:01:00:00:01
    cust_vlan_id=                                       7
    cust_vlan_id_step=                                  2
    cust_sub_if_count=                                  1
    vpn_count=                                          1
    vpn_route_target=                                   1:1
    vpn_route_target_step=                              1:1
    core_ce_bgp_as_enable=                              true
    core_ce_bgp_as_step_per_vpn_enable=                 true
    core_ce_bgp_4byte_as_enable=                        true
    core_ce_bgp_4byte_as=                               1:1
    core_ce_bgp_4byte_as_step_per_vpn=                  1
    core_ce_bgp_4byte_as_step_per_ce=                   1
    core_ce_bgp_4byte_as_step_per_ce_enable=            true
    core_ce_bgp_4byte_as_step_per_vpn_enable=           true
    core_ce_bgp_as_step_per_ce=                         1
    core_ce_bgp_as_step_per_vpn=                        1
    core_ce_bgp_as=                                     1
    core_ce_bgp_as_step_per_ce_enable=                  true
    cust_ce_vpn_assignment=                             ROUND_ROBIN
    cust_route_distinguisher_step_per_ce=               0:0
    cust_route_distinguisher_step_per_vpn=              1:0
    cust_route_distinguisher_step_per_vpn_enable=       false
    cust_route_distinguisher_step_per_ce_enable=        true
    core_pe_evi_assignment=                             EVI_PER_PE
    core_pe_vpn_all=                                    false
    cust_route_distinguisher=                           1:0
    core_route_distinguisher_step_per_vpn=              1:1
    core_route_distinguisher_step_per_ce_enable=         true
    core_route_distinguisher_step_per_ce=               0:0
    core_route_distinguisher_step_per_vpn_enable=       false
    core_route_distinguisher=                           1:0
    ethernet_segment_route=                             false
    ethernet_segment_type=                              TYPE3
    ethernet_segment_id_step=                           00:00:00:00:00:00:00:00:00
    ethernet_segment_id=                                00:00:00:00:00:00:00:00:00
    provider_ethernet_tags_per_evi=                     1
    provider_ethernet_start_tag=                        1
    provider_ethernet_tag_step=                         1
    route_mpls_label_type=                              ROUTE
    vpn_route_mpls_label_start=                         16
    vlan_enable=                                        true
    host_overlap=                                       false
    host_vlan_id=                                       100
    host_vlan_id_step_per_host=                          0
    host_vlan_id_step_per_vpn=                          1
    host_num_core_vlans=                                1
    host_num_cust_vlans=                                1
    vpn_host_assignment=                                HOSTS_PER_VPN
    cust_hosts_per_ce=                                  1
    core_hosts_per_ce=                                  1
    total_hosts=                                        100
    hosts_per_vpn=                                      100
    cust_host_percent=                                  50
    core_host_percent=                                  50
    ipv4_route_start=                                   210.1.1.0
    ipv4_route_prefix_length=                           24
    ipv4_route_step=                                    1
    traffic_load_percent_from_customer_ports=           10.0
    traffic_flow=                                       CORE_TO_CUSTOMER
    traffic_pattern=                                    ONE_TO_MANY
    traffic_load_percent_from_core_ports=               20.0
    stream_block_group_method=                          AGGREGATE
    stream_block_use_single_stream_number_per_endpoint_pair=    false
    ]

Sample Output:

{status 1} {rtgtestgenipv4portparams_hnd {rtgtestgenipv4portparams2
rtgtestgenipv4portparams1}} {isisauthenticationparams_hnd
{isisauthenticationparams1 isisauthenticationparams2 isisauthenticationparams3
isisauthenticationparams4 isisauthenticationparams5 isisauthenticationparams6
isisauthenticationparams7}} {rtgtestgenipv6portparams_hnd
{rtgtestgenipv6portparams1 rtgtestgenipv 6portparams2}} {vpnevpngenparams_hnd
vpnevpngenparams1} {ldpauthenticationparams_hnd {ldpauthenticationparams1
ldpauthenticationparams2 ldpauthenticationparams3 ldpauthenticationparams4
ldpauthenticationparams5 ldpauthenticationparams6 ldpauthenticationparams7}}
{vpnigpisissessionparams_hnd {vpnigpisissessionparams1 vpnigpisissessionparams2
vpnigpisissessionparams3 vpnigpisissessionparams4 vpnigpisissessionparams5
vpnigpisissessionparams6 vpnigpisissessionparams7}} {ospfv2aut
henticationparams_hnd {ospfv2authenticationparams1 ospfv2authenticationparams2
ospfv2authenticationparams3 ospfv2authenticationparams4
ospfv2authenticationparam s5 ospfv2authenticationparams6
ospfv2authenticationparams7}} { vpnevpngencoreportparams_hnd
vpnevpngencoreportparams1} {vpnevpngencustportparams_hnd
vpnevpngencustportparams1} {LdpRouterConfig {ldprouterconfig1 }} {BfdRouterConfig
{bfdrouterconfig1 }} {Ospfv2RouterConfig {ospfv2routerconfig1 }} {BgpRouterConfig
{bgprouterconfig1 }} {BgpRouter {emulateddevice2 }} {LdpRouter {emulateddevice1
}} {OspfRouter {emulateddevice1 }} {BfdRouter {emulateddevice1 }} {CERouter
{emulateddevice3 emulateddevice4}} {PERouter emulateddevice2} {Streamblock
{streamblock1 streamblock2}}