BGP Functions

sth::emulation_bgp_config

Purpose

Creates, enables, modifies, or deletes an emulated Border Gateway Protocol (BGP) router on a Spirent HLTAPI chassis. BGP is a protocol for exchanging routing information between border gateway routers in a network of autonomous systems.

Synopsis

Note

  1. M indicates that the argument is Mandatory .
  2. S indicates the argument is for scaling scenarios.
sth::emulation_bgp_config
    [-mode {enable|modify|active|inactive|readvertise|activate|
             disable|reset}  M]
    [-handle <router_handle>|<device_handle>]
    [-port_handle <port_handle>]
    [-active_connect_enable {1|0}]
    [-affiliated_router_target <router_session_handle>]
    [-bfd_registration {1|0}]
    [-bgp_mode {ebgp | ibgp}]
    [-bgp_session_ip_addr {interface_ip | router_id}]
    [-count <integer>]
    [-custom_pdus <00-ff>]
    [-custom_capability <numeric>]
    [-custom_capability_active {1|0}]
    [-custom_capability_type <numeric>]
    [-expand {true|false} S]
    [-graceful_restart_enable {1|0}]
    [-restart_time <0-10000000> ]
    [-keepalive_interval <1-65535>]
    [-min_label <0-1048575>]
    [-restart_delay <0-4095>]
    [-asnum_4byte_enable {1|0}]
    [-dut_asnum_4byte_enable {1|0}]
    [-gateway_asdut_enable {1|0}]
    [-pack_routes_enable {1|0}]
    [-synchronization  {1|0}]
    [-route_targetfilter_enable {1|0}]
    [-sr_enable {1|0}]
    [-add_path_enable {1|0}]
    [-add_path_mode {none| receive_add_path| send_add_path| send_and_receive_add_path}]
    [-route_refresh_mode {none|route_refresh|enhanced_route_refresh}]
    [-hold_time <3-65535>]
    [-ip_version {4|6|4_6}]
    [-ip_stack_version 4 | 6 | 4_6}]
    [-ipv4_mpls_nlri {1|0}]
    [-ipv4_mpls_vpn_nlri {1|0}]
    [-ipv4_multicast_nlri {1|0}]
    [-ipv4_unicast_nlri {1|0}]
    [-ipv4_unicast_multicast_nlri  {0|1}]
    [-ipv4_multicast_vpn_nlri  {0|1}]
    [-ipv4_vpls_nlri  {0|1}]
    [-ipv4_mdt_nlri  {0|1}]
    [-ipv4_e_vpn_nlri  {0|1}]
    [-ipv4_ls_non_vpn_nlri  {0|1}]
    [-ipv4_rt_constraint_nlri  {0|1}]
    [-ipv4_flow_spec_nlri  {0|1}]
    [-ipv4_flow_spec_vpn_nlri  {0|1}]
    [-ipv4_srtepolicy_nlri  {0|1}]
    [-ipv6_mpls_nlri {1|0}]
    [-ipv6_mpls_vpn_nlri {1|0}]
    [-ipv6_multicast_nlri {1|0}]
    [-ipv6_unicast_nlri {1|0}]
    [-ipv6_multicast_nlri  {0|1}]
    [-ipv6_unicast_multicast_nlri  {0|1}]
    [-ipv6_multicast_vpn_nlri  {0|1}]
    [-ipv6_vpls_nlri  {0|1}]
    [-ipv6_mdt_nlri  {0|1}]
    [-ipv6_e_vpn_nlri  {0|1}]
    [-ipv6_ls_non_vpn_nlri  {0|1}]
    [-ipv6_rt_constraint_nlri  {0|1}]
    [-ipv6_flow_spec_nlri  {0|1}]
    [-ipv6_flow_spec_vpn_nlri  {0|1}]
    [-ipv6_srtepolicy_nlri  {0|1}]
    [-vpls_unicast_nlri  {0|1}]
    [-vpls_multicast_nlri  {0|1}]
    [-vpls_unicast_multicast_nlri  {0|1}]
    [-vpls_mpls_nlri  {0|1}]
    [-vpls_multicast_vpn_nlri  {0|1}]
    [-vpls_nlri  {0|1}]
    [-vpls_mdt_nlri  {0|1}]
    [-vpls_e_vpn_nlri  {0|1}]
    [-vpls_ls_non_vpn_nlri  {0|1}]
    [-vpls_mpls_vpn_nlri  {0|1}]
    [-vpls_rt_constraint_nlri  {0|1}]
    [-vpls_flow_spec_nlri  {0|1}]
    [-vpls_flow_spec_vpn_nlri  {0|1}]
    [-kompella_vpls_unicast_nlri  {0|1}]
    [-kompella_vpls_multicast_nlri  {0|1}]
    [-kompella_vpls_unicast_multicast_nlri  {0|1}]
    [-kompella_vpls_mpls_nlri  {0|1}]
    [-kompella_vpls_multicast_vpn_nlri  {0|1}]
    [-kompella_vpls_vpls_nlri  {0|1}]
    [-kompella_vpls_mdt_nlri  {0|1}]
    [-kompella_vpls_e_vpn_nlri  {0|1}]
    [-kompella_vpls_ls_non_vpn_nlri  {0|1}]
    [-kompella_vpls_mpls_vpn_nlri  {0|1}]
    [-kompella_vpls_rt_constraint_nlri  {0|1}]
    [-kompella_vpls_flow_spec_nlri  {0|1}]
    [-kompella_vpls_flow_spec_vpn_nlri  {0|1}]
    [-link_unicast_nlri  {0|1}]
    [-link_multicast_nlri {0|1}]
    [-link_unicast_multicast_nlri {0|1}]
    [-link_mpls_nlri  {0|1}]
    [-link_multicast_vpn_nlri  {0|1}]
    [-link_vpls_nlri  {0|1}]
    [-link_mdt_nlri  {0|1}]
    [-link_e_vpn_nlri  {0|1}]
    [-link_ls_non_vpn_nlri  {0|1}]
    [-link_mpls_vpn_nlri  {0|1}]
    [-link_rt_constraint_nlri  {0|1}]
    [-link_flow_spec_nlri  {0|1}]
    [-link_flow_spec_vpn_nlri  {0|1}]
    [-local_as <1-65535> ]
    [-local_as_mode {fixed|increment}]
    [-local_as_step <integer>]
    [-local_as_repeat_count <integer>]
    [-local_as4_enable  {true|false}]
    [-local_as4_mode <fixed|increment>]
    [-local_as4 {<0-65535:0-65535>|<0-65535.0-65535>|<0-65535>}]
    [-local_as4_step {<0-65535:0-65535>|<0-65535.0-65535>|<0-65535>}]
    [-local_as4_repeat_count <integer>]
    [-local_addr_step {<a.b.c.d>|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>}]
    [-local_ip_addr <a.b.c.d>]
    [-local_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-local_ipv6_addr_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-local_router_id <a.b.c.d.>]
    [-mac_address_start <aa:bb:cc:dd:ee:ff>]
    [-md5_enable {1|0}]
    [-md5_key <alphanumeric>]
    [-md5_key_id <integer>]
    [-netmask  <1-128> ]
    [-netmask_ipv6  <1-128>]
    [-next_hop_ip {<a.b.c.d>|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>}]
    [-next_hop_ip_step {<a.b.c.d>|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>}]
    [-next_hop_ipv6 <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-next_hop_ipv6_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-remote_addr_step {<a.b.c.d>|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>}]
    [-remote_as <0-65535>]
    [-remote_as_mode <fixed | increment>]
    [-remote_as_step <integer>]
    [-remote_as_repeat_count <integer>]
    [-remote_as4_enable  {true|false} ]
    [-remote_as4_mode <fixed | increment>]
    [-remote_as4_step {<0-65535:0-65535>|<0-65535.0-65535>|<0-65535>}]
    [-remote_as4_repeat_count <integer>]
    [-remote_as4 {<0-65535:0-65535>|<0-65535.0-65535>|<0-65535>}]
    [-remote_ip_addr_step <a.b.c.d>]
    [-remote_ip_addr <a.b.c.d>]
    [-remote_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-remote_ipv6_addr_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-retries <0-65535>]
    [-retry_time <10-300>]
    [-routes_per_msg <0-10000>]
    [-staggered_start_enable {0|1}]
    [-staggered_start_time <0-10000>]
    [-update_interval <0-10000>]
    [-use_gateway_remote_ip_addr {true|false}]
    [-staggered_close_time <0-10000>]
    [-mvpn_auto_advertise_delay <integer>]
    [-rx_tcp_buffer_size {8kb|32kb|256kb|8mb}]
    [-tx_tcp_buffer_size {8kb|32kb|256kb|8mb}]
    [-scalability_mode {normal|no_traffic_binding|discard_updates}]
    [-seq_startup {disable|enable}]
    [-next_hop_filter_mode {disabled|port|system}]
    [-disable_path_mtu_discovery {true|false}]
    [-enable_discard_updates {true|false}]
    [-enable_fec_update_for_bgp_vxlan {true|false}]
    [-enable_pack_updates {true|false}]
    [-enable_straight_forward_update {true|false}]
    [-enable_tcp_no_delay {true|false}]
    [-evpn_irb_mode {asymmetric|symmetric}]
    [-ignore_attribute_errors {true|false}]
    [-evpn_irb {true|false}]
    [-block_base <integer>]
    [-block_range <integer>]
    [-prefix_sid_attr_type <integer>]
    [-sr_draft_version {ver00|other}]
    [-srv6_draft_version {ver3|ver4|ver5}]
    [-srv6_l2_service_tlv_type <1-255>]
    [-srv6_tlv_type <1-255>]
    [-sr_vpn_traffic_binding_key {rd|rt}]
    [-srte_policy_draft_ver {ver3|ver14}]
    [-vci <0-65535>]
    [-vci_step <0-65535>]
    [-vlan_cfi {1|0}]
    [-vlan_id <0-4095>]
    [-vlan_id_mode {fixed|increment}]
    [-vlan_id_step <1-4094>]
    [-vlan_outer_id <0-4095>]
    [-vlan_outer_id_mode {fixed|increment}]
    [-vlan_outer_id_step <1-4094>]
    [-vlan_outer_user_priority <0-7>]
    [-vlan_user_priority <0-7>]
    [-vpi <0-255>]
    [-vpi_step <0-255>]
    [-tunnel_handle <GRE_tunnel_handle>]
    [-local_router_id_step <a.b.c.d>]
    [-route_refresh {0|1}]
    [-stale_time <0-10000000>]
    [-view_routes {1|0]
    [-vpls_nlri {0|1}]
    [-vpls_version {VERSION_00 | VERSION_02 | VERSION_VPLS_4761}]

Arguments

-active_connect_enable

Indicates whether or not the emulated router will initiate the session. Possible values are 0 and 1. The default is 0 (disabled). If enabled, the emulated router will send an OPEN message without waiting for the device under test to send its OPEN message.

-affiliated_router_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the router to which the indirectly connected router will be connected. The value for the router session handle is alphanumeric. This option is used to support BGP testing where the remote IP address (-remote_ip_addr) is in a different subnet from the local IP address (-local_ip_addr). In the following example, you create an OSPF router to advertise IP routes. From this router, you could then create an indirectly connected router to run BGP:

set retKeyList [::sth::emulation_bgp_config -mode enable \
             -port_handle $p0 \
             -affiliated_router_target $ospf_router_handle\
             -count 1 \

The value of “mac_address_start <mac_addr>” will be ignored when you pass in a value for the -affiliated_router_target argument. Spirent HLTAPI fills in the MAC address of the indirectly connected router using the MAC address obtained from the router pointed to by the affiliated router target handle. Note that there is no support for the retrieval of the MAC address for a router in the HLTAPI framework.

-bfd_registration

Enables or disables Bidirectional Forwarding Detection (BFD) registration. Possible values are 1 (enable) and 0 (disable). The default is 0.

-bgp_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the BGP mode. Possible values are:

ebgp  External BGP
ibgp  Internal BGP

The default value is ebgp.

-bgp_session_ip_addr

Specifies which IP address will be used to establish the BGP session. Possible values are described below:

interface_ip  -     Use the interface IP address
router_id     -     Use the router ID

The default is interface_ip.

-count

Defines the number of BGP routers to create. Possible values are 0 to <max_int>. The default is 1.

-custom_pdus

Spirent Extension (for Spirent HLTAPI only).

Defines custom PDUs for the BGP configuration. Each PDU is specified by brace-enclosed hexadecimal numbers, ranging from 00 to ff. See the examples below:

# one PDU with one number
 -custom_pdus     {07}
# one PDU with more than one number
 -custom_pdus     {07 00}
# three PDUs
 -custom_pdus     {07 00} {ff} {10 15}
-custom_capability_active

Specifies whether to use the capability in test or not.

-custom_capability

Specifies hex value of the capability.

-custom_capability_type

Specifies the capability type value.

-expand

Spirent Extension (for Spirent HLTAPI only).

Determines whether to expand the specified BGP device parameters into emulated BGP device objects. It is used in Scaling test scenarios.

When set to true, a list of emulated device handles (handle_list) with enabled BGP device configurations are created.

When set to false, only BGP parameters are configured with no handle returned.

-graceful_restart_enable

Enables a graceful restart operation on an emulated router within a specified amount of time or “grace period.” Graceful restart allows a router undergoing a restart to inform its adjacent neighbors and peers of its condition and to preserve its forwarding table during a BGP restart operation. Possible values are 0 and 1. The default is 0. If you enable this option, you must also use the -restart_time argument to specify the time allowed for the restart operation.

There are two modes of graceful restart for BGP: restart speaker and receiving speaker. When the receiving speaker (which may be the emulated router or the DUT) receives a graceful restart capability in the BGP OPEN message, it will keep the routers advertised by the restart router before the restart time expires for forwarding traffic. When the restart speaker does not come up within the restart_time, the receiving speaker will delete the routes and stop using them to forward traffic. In general, restart time (see -restart_time) should not be greater than hold time (see -hold_time).

-handle

This argument is Mandatory for modify, active and inactive modes. When -mode is set to create, Spirent HLTAPI creates BGP over the provided device. (Please refer to the description of the -mode argument for more information)

-hold_time

Defines the session expiration interval in seconds. The expiration interval determines how long to wait for a KEEPALIVE message before ending a BGP session for an emulated router. Spirent HLTAPI also uses the -hold_time value to determine the interval between transmitted KEEPALIVE messages. The transmission interval is one-third of the session expiration interval. Possible -hold_time values range from 3 to 65535. The default is 90. (Therefore, using the default value, Spirent HLTAPI will transmit KEEPALIVE messages every 30 seconds.)

-ip_version

Specifies the IP version of the BGP emulated session. Possible values are 4 (for IPv4 address format), 6 (for IPv6 address format) or 4_6 (for dual stack).

-ip_stack_version

Specifies the IP version of the BGP emulated router. Possible values are 4, 6, and 4_6(dual stack). When the IP version of the stack is 4, the BGP session version can only be 4. When the IP version of the stack version is 6, the BGP session version can only be 6. When the IP version of the stack is dual stack, the BGP session is determined by ip_version. By default, the IPv4 BGP session will be created.

-keepalive_interval

Spirent Extension (for Spirent HLTAPI only).

Number of seconds between transmissions of KEEPALIVE messages by the emulated router to the DUT (in the absence of sending any other BGP packets). Possible values range from 1 to 65535. The default value is 30.

-min_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the minimum label value used to establish the starting point for the range of labels advertised by the session. Possible values range from 0 to 1048575. The default value is 16.

-restart_delay

Spirent Extension (for Spirent HLTAPI only).

Specifies the amount of time the Restart Router command waits before the BGP session is restarted. Possible values range from 0 to 4095. The default value is 1.

-asnum_4byte_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables a 4-byte AS number for the emulated BGP router. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-dut_asnum_4byte_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables the ability of the emulated BGP router to handle a DUT with a 4-byte AS number. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-gateway_asdut_enable

Spirent Extension (for Spirent HLTAPI only).

Enables the use of the emulated device gateway address as the DUT IPv4/IPv6 address. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-pack_routes_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables the use of the minimum number of UPDATE messages to send the configured route blocks. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-synchronization

Spirent Extension (for Spirent HLTAPI only).

Enables or disables sending End of Rib (EoR) updates for the router after sending all BGP routes. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-route_targetfilter_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables the route target filter for VXLAN. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-sr_enable

Spirent Extension (for Spirent HLTAPI only).

Enables the configuration of BGP SR parameters. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-add_path_enable

Spirent Extension (for Spirent HLTAPI only).

Enables the configuration of additional paths for this address prefix or NRLI. Possible values are 0 (disable) or 1 (enable). The default value is 0.

-add_path_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of path to add. You must set -add_path_enable to 1. Possible values are:

NONE                        None
RECEIVE_ADD_PATH            Enables additional BGP paths to be received
SEND_ADD_PATH               Enables additional BGP paths to be sent
SEND_AND_RECEIVE_ADD_PATH   Enables additional BGP paths to be sent
                            and received for the peers in the
                            address family

The default value is SEND_AND_RECEIVE_ADD_PATH.

-route_refresh_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the route refresh mode. Possible values are:

none                       No refresh mode
route_refresh              Enables route refresh
enhanced_route_refresh     Enables enhanced route refresh

The default value is none.

The following arguments determine supports for address family identifier (AFI) + subsequent AFI (Sub-AFI). AFI is used in conjunction with the sub-AFI attribute to identify the network layer protocol associated with the network address that follows.

-ipv4_mpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Multiprotocol Label switching (MPLS) in the Capabilities Optional Parameter and Multiprotocol Extensions parameter of the OPEN message. Possible values are 0 and 1. If you set this value to 1, support for IPv4 MPLS is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_mpls_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + MPLS VPN. Possible values are 0 and 1. If you set this value to 1, support for IPv4 MPLS VPN is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Multicast. Possible values are 0 and 1. If you set this value to 1, support for IPv4 multicast is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_multicast_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Multicast + VPN. Possible values are 0 and 1.

-ipv4_unicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enable or disable support for IPv4 + Unicast. Possible values are 0 and 1. If you set this value to 1, support for IPv4 unicast is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_unicast_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enable or disable support for IPv4 + Unicast and Multicast. Possible values are 0 and 1. If you set this value to 1, support for IPv4 unicast is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_vpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Virtual Private LAN Service (VPLS). Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_mdt_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Multicast Distribution Tree (MDT). Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_e_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Ethernet VPN (EVPN) . Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_ls_non_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + LS Non-VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_rt_constraint_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Route Target (RT) Constraint. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_flow_spec_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Flow Specification (FlowSpec). Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_flow_spec_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + FlowSpec VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv4_srtepolicy_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + SR-TE Policy. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_mpls_nlri

Enable or disable support for IPv6 + Multiprotocol Label Switching (MPLS) in the Capabilities Optional Parameter and Multiprotocol Extensions parameter of the OPEN message. Possible values are 0 and 1. If you set this value to 1, support for IPv6 MPLS is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_mpls_vpn_nlri

Enable or disable support for IPv6 + MPLS VPN. Possible values are 0 and 1. If you set this value to 1, support for IPv6 MPLS VPN is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_multicast_nlri

Enable or disable support for IPv6 + Multicast. Possible values are 0 and 1. If you set this value to 1, support for IPv6 multicast is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_multicast_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + Multicast + VPN. Possible values are 0 and 1.

-ipv6_unicast_nlri

Enable or disable support for IPv6 + Unicast. Possible values are 0 and 1. If you set this value to 1, support for IPv6 unicast is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_unicast_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + Unicast and Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_vpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + VPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_mdt_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + MDT. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_e_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + EVPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_ls_non_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + LS Non-VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_rt_constraint_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + RT Constraint. Possible advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_flow_spec_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + FlowSpec. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_flow_spec_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + FlowSpec VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-ipv6_srtepolicy_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv6 + SR-TE Policy. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_unicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + Unicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for IPv4 + Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_unicast_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + Unicast and Multicast. Possible values are 0 and 1. If set to 1,this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_mpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + MPLS. Possible values are 0 and 1. If set to 1,this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_multicast_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + Multicast VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_version

Spirent Extension (for Spirent HLTAPI only).

Determines which VPLS version to use. Possible values are described below:

VERSION_00  -     draft-ietf-l2vpn-vpls-bgp-00
VERSION_02  -     draft-ietf-l2vpn-vpls-bgp-02
VERSION_VPLS_4761 -  VPLS RFC 4761
-vpls_mdt_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + MDT. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_e_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + EVPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_ls_non_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + LS Non-VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_mpls_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + MPLS VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_rt_constraint_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + RT Constraint. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_flow_spec_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + FlowSpec. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-vpls_flow_spec_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for VPLS + FlowSpec VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_unicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + Unicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_unicast_multicast_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + Unicast and Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_mpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + MPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_multicast_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + Multicast VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_vpls_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + VPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_mdt_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + MDT. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_e_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + EVPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_ls_non_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + LS Non-VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_mpls_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + MPLS VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_rt_constraint_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + RT Constraint. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_flow_spec_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + FlowSpec. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-kompella_vpls_flow_spec_vpn_nlri

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Kompella VPLS + FlowSpec VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + Unicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + Unicast and Multicast. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + MPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + Multicast VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + VPLS. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + MDT. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + EVPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + LS Non-VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + MPLS VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + RT Constraint. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + FlowSpec. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

Spirent Extension (for Spirent HLTAPI only).

Enables or disables support for Link + FlowSpec VPN. Possible values are 0 and 1. If set to 1, this support is advertised in the Capabilities Optional Parameter/Multiprotocol Extensions parameter of the OPEN message.

-local_addr_step

Defines the increment used to generate IP addresses for emulated routers. Spirent HLTAPI increments the -local_ip_addr value. You must specify the local address step when the -count argument is greater than 1. The value must be in IPv4 format.

-local_as

The Autonomous System (AS) number of the emulated BGP router. Possible values range from 1 to 65535. The default is 1.

-local_as_mode

When configuring multiple BGP neighbors, sets the -local_as for multiple neighbors. Possible values are fixed and increment. The default is fixed.

-local_as_step

When configuring multiple BGP neighbors, defines the step of the increment for -local_as. You must specify -local_as_mode increment.

-local_as_repeat_count

Specifies the number of times to repeat the same AS number before incrementing it. The default value is 0.

-local_as4_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables local 4-byte AS numbers for the emulated BGP router. Possible values are true and false. The default value is false.

-local_as4_mode

Indicates the method to assign local 4-byte AS number(s) to multiple neighbors, when multiple BGP neighbors are configured. Possible values are fixed and increment. The default value is fixed.

-local_as4

The 4-byte Autonomous System (AS) number of the emulated BGP router. When the -local_as4 argument is specified, BGP will carry an AS number encoded as a 4-byte entity. The format must be n:n or n.n or n. Possible values range from 0-65535:0-65535 or 0-65535.0-65535 or 0-65535.

-local_as4_step

When configuring multiple BGP neighbors, defines the increment step for the AS number of the BGP router. The format must be n:n or n.n or n. Possible values range from 0-65535:0-65535 or 0-65535.0-65535 or 0-65535. There is no default value for this argument. If you set -local_as4_mode to increment, you must specify this step. Otherwise, HLTAPI will return an error.

-local_as4_repeat_count

Specifies the number of times to repeat the same 4-Byte AS number before incrementing it. The default value is 0.

-remote_as4

The 4-byte AS number of the DUT. The format must be n:n or n.n or n. Possible values range from 0-65535:0-65535 or 0-65535.0-65535 or 0-65535.

-local_ip_addr

Specifies the IPv4 address of the emulated router. The default is 192.85.1.3.

-local_ipv6_addr

Specifies the IPv6 address of the emulated router. The default is 2000::2.

-local_ipv6_addr_step

Defines the increment to generate IPv6 addresses for multiple emulated routers. Spirent HLTAPI increments the -local_ipv6_addr. You must specify -ip_stack_version 6.

-local_router_id

Identifies the router from which a packet originated. The router identifier is the IP address of the emulated router. The default is 192.0.0.1.

-mac_address_start

Initial MAC address of the interfaces created for the BGP neighbor configuration.

-md5_enable

Enables or disables MD5 authentication for the emulated BGP node. Possible values are 0 (disable) and 1 (enable). The default is 0.

-md5_key

Spirent Extension (for Spirent HLTAPI only).

Specifies the MD5 authentication password in MD5 authentication mode. You can specify this argument when -md5_enable is enabled. This argument must be in alphanumeric format.

-md5_key_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the MD5 authentication key in MD5 authentication mode. Possible values range from 0 to 255. You can specify this argument when -md5_enable is enabled.

-mode

Specifies the action to perform on the specified test port. Possible values are enable, modify, disable, reset, active or inactive. The modes are described below: :

enable
Creates one or more emulated routers. When -port_handle is provided, Spirent HLTAPI creates one or more emulated routers that are associated with the specified port. When -handle is provided, BGP will be created over the specified device.
modify
Changes the configuration for the emulated router identified by the -handle argument.

disable reset

Deletes all BGP routers associated with the specified port.
active
Enables the BGP router specified by the -handle argument. You must specify a valid BGP session handle.
activate

Used for Scaling scenarios. 1. Enables BGP devices and configures

BGP parameters for the devices returned from interface_config() or emulation_device_config(wizard). Requires param_handle value as the input to the -handle option.
  1. Creates devices and enables BGP protocol. Requires -port_handle and -block_mode options.
inactive
Disables the BGP router specified by the -handle argument. You must specify a valid BGP session handle. The configuration for the router is retained when it is inactive and is available as configured if the router is active.
readvertise
Re-sends the BGP route from the list of routers at router level.

Note

  1. When -handle is provided for the create mode, the following options will be obsoleted:

    -count
    -mac_address_start
    -local_ip_addr
    -local_addr_step
    -netmask
    -local_ipv6_addr
    -next_hop_ip
    -next_hop_ip_step
    -local_router_id_enable
    -local_router_id
    -local_router_id_step
    -affiliated_router_target
    -vci
    -vci_step
    -vlan_cfi
    -vlan_id
    -vlan_id_mode
    -vlan_id_step
    -vlan_user_priority
    -vpi
    -vpi_step
    -tunnel_handle
    -vlan_outer_id
    -vlan_outer_id_mode
    -vlan_outer_id_step
    -vlan_outer_user_priority
    
  2. For -mode activate, the following set of options are valid:

     When -handle option is provided::
    
    -local_as
    -local_as4
    -local_as4_step
    -local_as_step
    -remote_as4
    -remote_as4_step
    -remote_ip_addr
    -remote_ipv6_addr
    -bfd_registration
    -graceful_restart_enable
    -ip_version
    -bgp_mode
    -remote_ip_addr_step
    -remote_ipv6_addr_step
    -local_as4_enable
    -remote_as4_enable
    -use_gateway_remote_ip_addr
    -remote_as
    -remote_as_step
    -md5_enable md5_key
    -md5_key_id
    
     When -port_handle and -block_mode options are provided,
     requires following options along with above
     specified options.
    
       -block_mode
       -block_mode_index
       -mac_addr
       -mac_addr_step
       -mac_addr_step_per_port
       -mac_addr_step_per_vlan
       -ip_step_per_port
       -ip_step_per_vlan
       -intf_ipv6_prefix_len
       -ipv6_step_per_port
       -ipv6_step_per_vlan
       -link_local_ipv6_step_per_port
       -link_local_ipv6_step_per_vlan
       -name
       -vlan_user_pri
       -vlan_id_count
       -vlan_outer_id_count
       -vlan_outer_user_pri
       -intf_prefix_len
       -router_id
       -router_id_step
       -link_local_ipv6_prefix_len
       -router_id_ipv6
       -router_id_ipv6_step
       -link_local_ipv6_addr
       -link_local_ipv6_addr_step
       -gateway_ipv6_addr
       -gateway_ipv6_addr_step
       -intf_ipv6_addr
       -intf_ipv6_addr_step
    
     .. note:: Please refer to the emulation_device_config documentation.
    
-netmask

The prefix length of the BGP router’s IPv4 address, in number of bits. Possible values range from 1 to 32. The default value is 24.

-netmask_ipv6

The prefix length of the BGP router’s IPv6 address, in number of bits. Possible values range from 1 to 128. The default value is 64.

-next_hop_ip

Configures the IPv4 address of the next hop in IP traffic. The hop address is the IP address which Spirent TestCenter uses to reach the advertising router. The “next hop” is the next router to forward a packet to its final destination.

-next_hop_ip_step

Configures the step value to increment the IPv4 address of the next hop. The default value is 0.0.0.1.

-next_hop_ipv6

Configures the IPv6 address of the next hop in IPv6 traffic. The hop address is the IPv6 address that Spirent TestCenter uses to reach the advertising router. The “next hop” is the next router to forward a packet to its final destination.

-next_hop_ipv6_step

Configures the increment used to generate the IPv6 address for the next hop. Spirent HLTAPI increments the next_hop_ipv6.

-port_handle

The port on which to create the emulated router. This handle is returned by the sth::connect function. (Please refer to the description of the -mode argument for more information)

-remote_addr_step

Defines the increment used to generate remote IP addresses for emulated routers. Spirent HLTAPI increments either the -remote_ip_addr value or the -remote_ipv6_addr, depending on the IP version you are using. You must specify the remote address step when the -count argument is greater than 1. The value can be in either IPv4 or IPv6 format, depending on the IP version specified in -ip_version.

-remote_as

The Autonomous System number of the DUT. Possible values range from 0 to 65535. The default is 1001.

-remote_as4_enable

Spirent Extension (for Spirent HLTAPI only).

Enables or disables 4-byte AS numbers for the DUT. Possible values are true and false. The default value is false.

-remote_as_mode

Determines the method to assign AS number of the remote DUT, when configuring multiple BGP neighbors. Possible values are fixed and increment. The default is fixed.

-remote_as_step

When configuring multiple BGP neighbors, defines the step of the increment for -remote_as. You must specify -remote_as_mode increment.

-remote_as_repeat_count

Specifies the number of times to repeat the same DUT AS number before incrementing it. The default value is 0.

-remote_as4_mode

Determines the method to assign 4-byte AS number of the remote DUT when multiple BGP neighbors are configured. Possible values are fixed and increment. The default value is fixed.

-remote_as4_step

When configuring multiple BGP neighbors, defines the increment step for the AS number of the BGP router. The format must be n:n or n.n or n. Possible values range from 0-65535:0-65535 or 0-65535.0-65535 or 0-65535. There is no default value for this argument. If you set -remote_as4_mode to increment, you must specify this step. Otherwise, HLTAPI will return an error.

-remote_as4_repeat_count

Specifies the number of times to repeat the same 4-Byte DUT AS number before incrementing it. The default value is 0.

-remote_ip_addr

IPv4 address of the DUT interface that is connected to the Spirent HLTAPI port for the emulated router. The default is 192.85.1.1.

-remote_ip_addr_step

Spirent Extension (for Spirent HLTAPI only).

Step value to generate additional IPv4 addresses for the DUTs. Only used in Scaling mode (-mode activate). The default value is 0.0.0.0.

-remote_ipv6_addr_step

Spirent Extension (for Spirent HLTAPI only).

Step value to generate additional IPv6 addresses for the DUTs. Only used in Scaling mode (-mode activate). The default value is ::0.

-remote_ipv6_addr

IPv6 address of the DUT interface that is connected to the Spirent HLTAPI port for the emulated router. The default is 2000::1.

-restart_time

Specifies the maximum number of seconds allowed to re- establish a BGP session between the emulated router and the DUT (peer router) following a restart operation. When the router restarts its BGP process, the DUT marks all routes as “stale,” but continues to use them to forward packets based on the expectation that the restarting router will re- establish the BGP session shortly. If the time expires before the router restarts, then the DUT will start sending the routing information, which will cause problems for the restart router. Therefore, be sure to allow enough time. Possible values range from 1 to 255. The default is 90 seconds. Specify the restart time only if -enable_graceful_restart is enabled.

-retries

Specifies the number of times that Spirent HLTAPI will attempt to establish a connection with the DUT router(s). Possible values range from 0 to 65535. The default is 100.

-retry_time

Specifies the time in seconds between attempts to establish a connection for the session. Possible values range from 10 to 300. The default is 30.

-routes_per_msg

The maximum number of prefixes to encode in an UPDATE message. Possible values range from 0 to 10000. The default is 2000.

-staggered_start_enable

Determines whether emulated routers advertise their routes sequentially across ports. If enabled, Spirent HLTAPI sends BGP OPEN messages for each session in a staggered fashion. The interval between each OPEN message is defined in the -staggered_start_time argument. Possible values are 0 and 1. The default is 0.

-staggered_start_time

Specifies the staggered start interval between OPEN messages, in milliseconds. Possible values range from 0 to 10000. The default is 100.

-tunnel_handle

Specifies the GRE tunnel handle, an array value, initialized by the emulation_gre_config command. The router sends traffic through this tunnel.

-vlan_cfi

Sets the canonical format indicator field in VLAN for the emulated router node. Possible values are 0 (Ethernet) and 1 (Token Ring). The default is 1. If set to 0, it indicates the network is Ethernet. If set to 1, it indicates that Token Ring and packets are dropped by Ethernet ports.

-update_interval

The time, in milliseconds, to wait before sending the next UPDATE message to the DUT. Possible values range from 0 to 10000. The default is 30.

-use_gateway_remote_ip_addr

Spirent Extension (for Spirent HLTAPI only).

Determines whether to use gateway address as the DUT IP address. Possible values are true and false. When set to true, the gateway address will be used as the DUT IP address. The default value is true.

-staggered_close_time

Specifies the delay time in milliseconds before closing a BGP session. Possible values range from 0 to 10000. The default is 100.

-mvpn_auto_advertise_delay

MVPN routes will be sent out after finishing Non-MVPN routes transmission, delay refers to the time interval. The default is 100.

-rx_tcp_buffer_size

Specifies Rx TCP buffer size. Possible values are 8kb, 32kb, 256kb and 8mb. The default is 32kb.

-tx_tcp_buffer_size

Specifies Tx TCP buffer size. Possible values are 8kb, 32kb, 256kb and 8mb. The default is 32kb.

-scalability_mode

Allows user to turn off certain functionality to reduce memory consumption and CPU usage. Possible values are:: normal Normal mode of operation no_traffic_binding Turn off Traffic support by disabling

label processing
discard_updates Prevents processing of received BGP UPDATE
messages, which increases route reflector convergence times, however BGP received results will be invalid

The default is normal.

-seq_startup

Specifies whether to start BGP sessions sequentially. Possible values are:: disable Disable sequential startup. Spirent TestCenter

will not start BGP sessions sequentially

enable Enable sequential startup The default is disable.

-next_hop_filter_mode

Specifies next hop filter mode. Possible values are:: disabled Disabled port Filter per port system Filter per system The default is disabled.

-disable_path_mtu_discovery

Disable path Mtu Discovery. Possible values are:: true Enable Path MTU Discovery false Disable Path MTU Discovery The default is false.

-enable_discard_updates

Discard updates on reaching configured memory threshold. Possible values are:: true Enable discard updates on reaching configured

memory threshold
false Disable discard updates on reaching configured
memory threshold

The default is false.

-enable_fec_update_for_bgp_vxlan

Enable FEC update for BGP VXLAN. Possible values are true (enable) or false (disable). The default is true.

-enable_pack_updates

Pack updates up to MTU. Possible values are true (enable) or false (disable). The default is true.

-enable_straight_forward_update

Send update without withdraw on attribute change. Possible values are true (enable) or false (disable). The default is false.

-enable_tcp_no_delay

Enable TCP no delay. Possible values are true (TCP with delay) or false (TCP without delay). The default is false.

-evpn_irb_mode

Evpn Overlay IRB operational Models to route traffic. asymmetric In Asymmetric model Ingress VTEP performs both

bridging and routing, whereas egress VTEP performs only bridging
symmetric In Symmetric model both ingress and egress VTEP
provide bridging and routing functions

The default is asymmetric.

-ignore_attribute_errors

Ignore errors in received attributes. Possible values are true (Ignore attribute errors is true) or false (Ignore attribute errors is false). The default is false.

-evpn_irb

Enable or Disable EVPN Integrated routing and bridging. Possible values are true (enable) or false (disable). The default is false.

-block_base

Specifies the first label in the SRGB Block. The default is 16000.

-block_range

Specifies the label count. The default is 1000.

-prefix_sid_attr_type

Specifies the Attribute Type for the SR Prefix Sid TLV. The default is 40.

-sr_draft_version

Specifies the draft version of BGP SR. Possible values are:: ver00 Use attribute type value(40) defined in draft 00 other Use user defined attribute type value The default is ver00.

-srv6_draft_version

Specifies the SRv6 RFC version. Possible values are ver3, ver4 and ver5. The default is ver5.

-srv6_l2_service_tlv_type

Specifies SRv6 L2 service TLV type. Possible value range is 1 to 255. The default is 6.

-srv6_tlv_type

Specifies SRv6 TLV type. Possible value range is 1 to 255. The default is 5.

-sr_vpn_traffic_binding_key

Specifies SRv6 VPN traffic binding key. Possible values are:: rd Use RD as part of the key for traffic binding rt Use RT as part of the key for traffic binding The default is rd.

-srte_policy_draft_ver

Specifies the SR-TE Policy RFC version. Possible values are ver3 and ver14. The default is ver3.

-vci

Specifies the VCI of the first ATM PVC pool. Possible values range from 0 to 65535.

-vci_step

Specifies the step size in which the VCI value is incremented. Possible values range from 0 to 65535.

-vlan_id

The VLAN ID of the first VLAN sub-interface. Possible values range from 0 to 4095. The default is 1.

-vlan_id_mode

Specifies VLAN ID assignment for multiple router configurations when -count is greater than 1. Valid values are “fixed” or “increment”. If you specify “fixed”, all of the routers will be assigned the same VLAN ID (the value of the -vlan_id argument). If you specify “increment”, then Spirent HLTAPI assigns unique VLAN IDs. When you use increment mode, you must also specify the -vlan_id_step argument to define the increment value.

-vlan_id_step

The value that Spirent HLTAPI uses to increment the VLAN ID. You must specify this step when you specify “increment” for the -vlan_id_mode argument and the router count (-count) is greater than 1. Possible step values range from 1 to 4094.

-vlan_outer_id

Spirent Extension (for Spirent HLTAPI only).

The outer VLAN ID of VLAN sub-interface. Possible values range from 0 to 4095. The default is 1. When you use -vlan_outer_id, you must specify -vlan_id.

-vlan_outer_id_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies how Spirent TestCenter assigns VLAN tags to packets in the specified outer header when router count is greater than 1. Possible values are:

fixed - The outer VLAN ID is the same for all packets.
        The fixed outer VLAN ID is the value of the
        -vlan_outer_id argument.

increment - For all packets, the outer VLAN tag ID
         increments by the step specified in the
         -vlan_outer_id_step argument.
-vlan_outer_id_step

Spirent Extension (for Spirent HLTAPI only).

The amount by which to increment the specified outer VLAN ID (-vlan_outer_id) for subsequent packets. Possible values range from 1 to 4094. You must specify this step when you specify “increment” for the -vlan_outer_id_mode argument.

-vlan_outer_user_priority

Spirent Extension (for Spirent HLTAPI only).

Specifies the VLAN priority to assign to the outer header. Possible values range from 0 to 7. The default is 7.

-vlan_user_priority

VLAN priority for the VLANs on this port. Possible values range from 0 to 7. The default is 7.

-vpi

Specifies the VPI of the first ATM PVC pool (for an ATM connection). Possible values are 0 to 255.

-vpi_step

Specifies the step size in which the VPI value is incremented. Possible values are 0 to 255.

-local_router_id_step

Defines the step size in which the BGP4 router ID of the emulated node is incremented. The value must be in IPv4 format. The default value is 0.0.0.1.

-route_refresh

Disables/enables the Route Refresh Capability of the emulated BGP router(s). The Route Refresh Capability allows the dynamic exchange of route refresh request between BGP speakers and subsequent re-advertisement of the respective Adj-RIB-Out. Possible values are 0 and 1. If it is set to 0, it disables the Route Refresh Capability. If it is set to 1, it enables the Route Refresh Capability. The default value is 0.

-stale_time

Indicates the amount of time, in seconds, after which an End-Of-RIB marker is sent in an Update message to the peer to allow time for routing convergence via IGP and BGP route selection. The receiving peer then deletes the stale routing information for that address family. This argument is used when -enable_graceful_restart is 1. Possible values range from 0 to 10000000.

-view_routes

Spirent Extension (for Spirent HLTAPI only).

Enables or disables route viewing. If it is enabled, the emulated BGP router will start to collect routes/LSAs it receives from the peer. Possible values are 1 (enable) and 0 (disable). The default value is 0.

Arguments Unsupported by Save as HLTAPI

The following Spirent HLTAPI arguments are currently not supported by the Save as HLTAPI function:

-route_ip_addr_step

Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper

None

Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper

-bfd_registration_mode
-local_loopback_ip_addr
-local_loopback_ip_addr_step
-local_router_id_enable
-remote_loopback_ip_addr
-remote_loopback_ip_addr_step
-neighbor_type tcp_window_size
-updates_per_iteration
-ttl_value enable_4_byte_as
-next_hop_enable
-timeout
-advertise_host_route

Note

For more information about Spirent HLTAPI Wrapper, refer to Chapter 4 Spirent HLTAPI Wrapper in Spirent HLTAPI Programmer’s Reference.

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-advertise_host_route
-local_router_id_enable
-modify_outgoing_as_path
-neighbor_type
-next_hop_enable
-next_hop_mode
-next_hop_ip_version
-remote_confederation_member
-reset
-suppress_notify
-tcp_window_size
-timeout
-update_msg_size

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):

handles   A list of handles that identify the routers created by the
          ``sth::emulation_bgp_config`` function.

handle_list   A list of emulated devices enabled with BGP routers created by the
          ``sth::emulation_bgp_config`` function when expand is set true.

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

log       An error message (if the operation failed).

Description

The sth::emulation_bgp_config function creates, enables, modifies, or deletes an emulated BGP router. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

When you create an emulated router, use the -port_handle argument to specify the Spirent HLTAPI port that the emulated router will use for BGP communication. (The port handle value is contained in the keyed list returned by the connect function.)

In addition to specifying the port, you must also provide one or more of the following pieces of information when you create a router:

  • The IP address for the emulated router (the -local_router_id or -local_ipv6_addr argument)
  • The IP address for the BGP router (DUT) to communicate with (the -remote_ip_addr or -remote_ipv6_addr argument)
  • The autonomous systems for the emulated router and its BGP router for the session (the -local_as or -remote_as argument)
  • The hold time value the emulated router will use (the -hold_time argument)
  • The amount of time between UPDATE messages (the -update_interval argument)
  • VLAN membership information (the -vland_id, vlan_id_mode, and/or vlan_id_step arguments)

After you create a router, use the “emulation_bgp_control -mode start” command for Spirent HLTAPI to start the router communication. A BGP session is a periodic stream of BGP messages sent between BGP peers - an OPEN message followed by a series of UPDATE and KEEPALIVE messages. OPEN messages establish the session. BGP routers use KEEPALIVE messages to maintain sessions, and UPDATE messages to exchange routing table data.Session termination is indicated by a NOTIFICATION message.

Once you start sessions, Spirent HLTAPI handles all of the message traffic for the emulated routers. During the test, use the sth::emulation_bgp_control function to stop and re-start individual routers. To stop and start all of the routers associated with a particular port, use the restart mode with the sth::emulation_bgp_control function. After you have created the routers for your test, use the sth::emulation_bgp_route_config function to set up routes.

Examples

#### HLTAPI for Tcl ####

The following example creates a BGP router:

sth::emulation_bgp_config
          -active_connect_enable 0 \
          -mode enable \
          -count 1 \
          -graceful_restart_enable 0 \
          -hold_time 50 \
          -ip_version 4 \
          -ipv4_mpls_nlri 0 \
          -ipv4_mpls_vpn_nlri 0 \
          -ipv4_multicast_nlri 0 \
          -ipv4_unicast_nlri 0 \
          -local_addr_step 0.0.2.0 \
          -local_as 5 \
          -local_as_step 1 \
          -local_ip_addr 192.168.1.6 \
          -local_router_id 192.168.1.6 \
          -netmask 24 \
          -next_hop_ip 192.168.1.1 \
          -port_handle $port_handle1 \
          -remote_addr_step 0.0.1.0 \
          -remote_as 6 \
          -remote_ip_addr 192.168.2.1 \
          -restart_time 50 \
          -retries 5 \
          -retry_time 50 \
          -routes_per_msg 5 \
          -staggered_start_enable 1
          -staggered_start_time 30 \
          -update_interval 50 \
          -vlan_cfi 0 \
          -vlan_id 5 \
          -vlan_id_mode increment \
          -vlan_id_step 1 \
          -vlan_user_priority 1

Sample output for example shown above:

{handles router1} {handle router1} {status 1}

The following example deletes all bgp routers on the specified “port1”:

sth::emulation_bgp_config -mode disable -port_handle port1

Sample output for example shown above:

{status 1}

The following example modifies handle router1:

sth::emulation_bgp_config \
     -mode modify \
     -handle router1 \
     -active_connect_enable 1 \
     -remote_as 123

Sample output for example shown above:

{status 1}

The following example creates five BGP routers:

sth::emulation_bgp_config -mode enable \
     -port_handle port1 \
     -count 5 \
     -active_connect_enable 1 \
     -ip_version 4 \
     -local_ip_addr 61.25.0.11 \
     -remote_ip_addr 61.25.0.1 \
     -next_hop_ip 61.25.0.1 \
     -next_hop_ip_step 0.0.1.0 \
     -local_as 123 \
     -local_router_id 61.25.0.11 \
     -remote_as 123 -vlan_id 101 \
     -vlan_id_mode increment \
     -vlan_id_step 1  \
     -local_addr_step 0.0.1.0 \
     -remote_addr_step 0.0.0.1 \
     -retry_time 30 \
     -retries 10 \
     -routes_per_msg 20 \
     -hold_time 180 \
     -update_interval 45 \
     -ipv4_unicast_nlri 1

Sample output for example shown above:

BGP: {handles {router1 router2 router3 router4 router5}} {handle {router1
router2 router3 router4 router5}} {status 1}

The following example enables BGP over a provided device:

puts "Config LDP--------------------"
set routerStatus [sth::emulation_ldp_config -mode     create \
                   -port_handle        $port1Handle \
                   -intf_ip_addr       13.25.0.2\
                   -loopback_ip_addr   13.25.0.1 \
                   -gateway_ip_addr    13.25.0.1\
                   -remote_ip_addr     13.25.0.2 \
                   -graceful_recovery_timer 55 \
                   -keepalive_interval      56 \
                   -reconnect_time          57 \
                   -recovery_time           58 \
                   -egress_label_mode       exnull \
                   -label_adv               on_demand \
                   -bfd_registration         1 \
                                   ]
puts "LDP:  $routerStatus"
keylget routerStatus handle router

puts "Config BGP--------------------"
set routerStatus [sth::emulation_bgp_config
                 -mode                       enable \
                 -handle                      $router \
                 -active_connect_enable       1 \
                 -ip_version                  4 \
                 -local_as                    123 \
                 -local_router_id             4.4.4.4 \
                 -remote_as                   112\
                 -retry_time                  30 \
                 -retries                     10 \
                 -routes_per_msg              2000 \
                 -hold_time                   90 \
                 -graceful_restart_enable     1 \
                 -restart_time                90 \
                 -update_interval             30 \
                         ]
puts "BGP:  $routerStatus"

Sample output for example shown above:

Config LDP--------------------
LDP:  {handle router1} {handles router1} {status 1}
Config BGP--------------------
BGP: {handles router1} {handle router1} {status 1}

The following example deletes all BGP routers on the specified port:

sth::emulation_bgp_config -mode reset \
   -port_handle port1

Sample output for example shown above:

{status 1}

The following example executes stc::apply once when you call emulation_bgp_route_config to add routes in a large scale case. This command enables optimization (that is, it disables the implicit “apply” inside of each HLTAPI command):

::sth::test_control -action enable

for {set routerIndex 0} {$routerIndex < $routerNum} {incr routerIndex 1} {
set routeStatus [sth::emulation_bgp_route_config
               -mode            add \
               -handle     [lindex $hBgpRouter2 $routerIndex] \
               -prefix       [lindex $bgpPrefixList2 $routerIndex] \
               -num_routes   $prefixNum \
               -prefix_step  1 \
               -netmask      $prefixMask \
               -ip_version   4 \
               -as_path      as_seq:1001 \
               -next_hop_ip_version     4 \
               -next_hop     [lindex $bgpAddrList2 $routerIndex] \
               -local_pref   10 ]
  }

#implicit do the stc "apply"
::sth::test_control -action sync

The following example uses the function in Scaling mode (-mode activate) with -expand:

set hnd [keylget int_ret0 param_handle]
# param_handle returned from sth::interface_config
puts "Param List: $int_ret0"


set rtn [sth::emulation_bgp_config \
           -mode                    activate\
           -handle                  "$hnd"\
           -ip_version              4 \
           -local_as                5\
           -local_as4               2:2\
           -remote_as4              1:1\
           -remote_ip_addr          61.25.0.1\
           -graceful_restart_enable 0\
           -bfd_registration        1\
           -bgp_mode                ibgp\
           -remote_ip_addr_step     0.0.0.1\
           -local_as4_enable        true\
           -remote_as4_enable       true\
           -remote_as               4\
           -remote_as_step          1\
           -use_gateway_remote_ip_addr false\
           -md5_enable              1\
           -md5_key                 spirent\
           -expand                  true\
 ]

Sample Output:

{handle_list {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4}}
{bgp_handle_list {bgprouterconfig1 bgprouterconfig2 bgprouterconfig3
bgprouterconfig4}} {handle {}} {handles {emulateddevice1 emulateddevice2
emulateddevice3 emulateddevice4}} {status 1}

The following example uses the function in Scaling mode (-mode activate) with -expand, -port_handle and -block_mode:

set rtn [sth::emulation_bgp_config \
           -mode                    activate\
           -port_handle             $port1\
           -count                   5\
           -block_mode              ONE_DEVICE_PER_BLOCK\
           -block_name_index        1\
           -intf_ip_addr            192.85.1.2 \
           -ip_version              4 \
           -local_as                5\
           -local_as4               2:2\
           -remote_as4              1:1\
           -remote_ip_addr          61.25.0.1\
           -graceful_restart_enable 0\
           -bfd_registration        1\
           -bgp_mode                ibgp\
           -remote_ip_addr_step     0.0.0.1\
           -local_as4_enable        true\
           -remote_as4_enable       true\
           -remote_as               4\
           -remote_as_step          1\
           -use_gateway_remote_ip_addr false\
           -md5_enable              1\
           -md5_key                 spirent\
           -expand                  true\
 ]

Sample Output:

{param_handle emulateddevicegenparams1} {status 1} {handle_list {emulateddevice1
emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5}} {bgp_handle_list
{bgprouterconfig1 bgprouterconfig2 bgprouterconfig3 bgprouterconfig4 bgprouterconfig5}}
{handle {}} {handles {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4
emulateddevice5}}

#### HLTAPI for Python ####

The following example creates a BFD router:

device_ret0 = sth.emulation_bgp_config (
        mode                = 'enable',
        retries             = '100',
        vpls_version        = 'VERSION_00',
        routes_per_msg      = '2000',
        staggered_start_time= '100',
        update_interval     = '30',
        retry_time          = '30',
        staggered_start_enable= '1',
        md5_key_id          = '1',
        md5_key             = 'Spirent',
        md5_enable          = '0',
        ipv4_unicast_nlri   = '1',
        ip_stack_version    = '4',
        port_handle         = port_handle[0],
        local_as4           = '1:1',
        remote_ip_addr      = '192.85.1.1',
        ip_version          = '4',
        remote_as           = '1001',
        hold_time           = '90',
        restart_time        = '90',
        route_refresh       = '0',
        local_as            = '23456',
        active_connect_enable= '1',
        stale_time          = '90',
        graceful_restart_enable= '0',
        local_router_id     = '192.0.0.1',
        mac_address_start   = '00:10:94:00:00:01',
        local_ip_addr       = '192.85.1.3',
        next_hop_ip         = '192.85.1.1',
        netmask             = '24');

Sample Output:

{'status': '1', 'handles': 'emulateddevice1',
'handle': 'emulateddevice1'}

#### HLTAPI for Perl ####

The following example creates a BFD router:

my %device_ret0 = sth::emulation_bgp_config (
        mode                => 'enable',
        retries             => '100',
        vpls_version        => 'VERSION_00',
        routes_per_msg      => '2000',
        staggered_start_time=> '100',
        update_interval     => '30',
        retry_time          => '30',
        staggered_start_enable=> '1',
        md5_key_id          => '1',
        md5_key             => 'Spirent',
        md5_enable          => '0',
        ipv4_unicast_nlri   => '1',
        ip_stack_version    => '4',
        port_handle         => "$hport[1]",
        local_as4           => '1:1',
        remote_ip_addr      => '192.85.1.1',
        ip_version          => '4',
        remote_as           => '1001',
        hold_time           => '90',
        restart_time        => '90',
        route_refresh       => '0',
        local_as            => '23456',
        active_connect_enable=> '1',
        stale_time          => '90',
        graceful_restart_enable=> '0',
        local_router_id     => '192.0.0.1',
        mac_address_start   => '00:10:94:00:00:01',
        local_ip_addr       => '192.85.1.3',
        next_hop_ip         => '192.85.1.1',
        netmask             => '24');

Sample Output:

$VAR1 = 'handles';
$VAR2 = 'emulateddevice1';
$VAR3 = 'handle';
$VAR4 = 'emulateddevice1';
$VAR5 = 'status';
$VAR6 = '1';

End of Procedure Header

sth::emulation_bgp_control

Purpose

Starts or stops a BGP router from routing traffic for the specified port.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_control
    [-mode {send_custom_pdu|start|stop|restart|link_flap|full_route_flap}  M]
    [-handle <router_handle_list|port_handle_list|all>]
    [-port_handle <port_handle>|all]
    [-route_handle <route_handle>]
    [-route_type <ip|link_state|evpn_type1|evpn_type2|evpn_type3|evpn_type4|evpn_type5>]
    [-flap_count <integer>]
    [-link_flap_down_time <0.005 - 2147483647>]
    [-link_flap_up_time <0.005 - 2147483647>]
    [-route_flap_down_time <0.005 - 2147483647>]
    [-route_flap_up_time <0.005 - 2147483647>]

Arguments

-handle

Identifies a list of router handles, session handles or port handles on which to stop or start the router. If link flapping is enabled, specifies on which BGP neighbor the action will be taken. If route flapping is enabled, specifies on which BGP route range the action will be taken. Use “all” to pass all device handles. If nothing is specified, all devices under all ports will be passed. It is Mandatory that you specify either -handle or -port_handle, but not both.

-port_handle

Specifies the port on which BGP emulation will start, stop, restart, or send BGP custom PDUs (-mode start/stop/send_custom_pdu). Use “all” to pass all port handles. If nothing is specified, all devices under all ports will be passed.

-route_handle

Specifies the handles of the BGP routes on which the action will be taken. This argument is mandaotory when the mode is set to full_route_flap, advertise, or withdraw.

-route_type

Specifies the advertise or withdraw route command to take. Possible values described below:

ip           BgpAdvertiseRouteCommand or BgpWithdrawRouteCommand
link_state   BgpAdvertiseLinkStateCommand or BgpWithdrawLinkStateCommand,
             with BGP all link states to advertise or withdraw
evpn_type1   BgpAdvertiseEvpnRouteCommand or BgpWithdrawEvpnRouteCommand,
             the BGP EVPN route types to advertise or withdraw is Ethernet A-D route
evpn_type2   BgpAdvertiseEvpnRouteCommand or BgpWithdrawEvpnRouteCommand,
             the BGP EVPN route types to advertise or withdraw is MAC advertisement route
evpn_type3   BgpAdvertiseEvpnRouteCommand or BgpWithdrawEvpnRouteCommand,
             the BGP EVPN route types to advertise or withdraw is Inclusive multicast route
evpn_type4   BgpAdvertiseEvpnRouteCommand or BgpWithdrawEvpnRouteCommand,
             the BGP EVPN route types to advertise or withdraw is Ethernet segment route
evpn_type5   BgpAdvertiseEvpnRouteCommand or BgpWithdrawEvpnRouteCommand,
             the BGP EVPN route types to advertise or withdraw is IP Prefix route
-flap_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of flaps. This argument can be used when you specify -mode link_flap or -mode full_route_flap. When you specify -mode link_flap, each flap includes one disconnection and one reconnection of the TCP link between the DUT and the emulated router(s) defined by -handle. When you specify -mode full_route_flap, each flap includes one advertise and one withdraw.

Specifies the amount of time, in seconds, that the link is disconnected. Possible values range from 0.005 to 2147483647. This argument is valid only when -mode is set to “link_flap”.

Specifies the amount of time, in seconds, that the link is connected. Possible values range from 0.005 to 2147483647. This argument is valid only when -mode is set to “link_flap”.

-mode

Specifies the action to be taken. This argument is Mandatory . Possible values are:

send_custom_pdu
Sends custom PDUs
stop
Stops the router for the specified port
start
Starts the router for the specified port
restart
Stops and then starts the router for the specified port
link_flap

Disconnects the TCP link(s) between the DUT and the emulated router(s) for the time specified by -link_flap_down_time; then it reconnects the TCP link(s) for the time specified by the -link_flap_up_time argument.

For example, you can call the following command to control link flapping:

set startStatus [sth::emulation_bgp_control
     -mode                    link_flap \
     -handle                 $bgprouterList \
     -link_flap_down_time     10 \
     -link_flap_up_time       10 \
     -flap_count              2]

In this example, Spirent TestCenter disconnects and then reconnects the TCP links between the DUT and the routers defined by -handle. The value of the -handle argument can either be a router handle or a list of router handles.

full_route_flap

Withdraws the routes (-route_handle) for the time defined by -route_flap_down_time and then readvertises the routes for the time defined by -route_flap_up_time

For example, you can call the following command to control route flapping:

 set startStatus [sth::emulation_bgp_control
     -mode                   full_route_flap \
     -handle                 $bgprouterList  \
     -route_handle           $bgprouteList \
     -route_flap_down_time   10 \
     -route_flap_up_time     10 \
     -flap_count              5]

In this example, the routes defined by -route_handle
will be withdrawn and then readvertised five times. The
value of the -handle argument can either be a router
handle or  a list of router handles.
advertise

Advertises the BGP routes specified by -route_handle. For example:

set startStatus [sth::emulation_bgp_control\
      -mode               advertise \
      -route_type         evpn_type1\
      -route_handle       $bgprouteList ]
withdraw

Withdraws the BGP routes specified by -route_handle. For example:

set startStatus [sth::emulation_bgp_control\
      -mode                 withdraw \
      -route_type           evpn_type1\
      -route_handle         $bgprouteList ]
send_custom_pdu
Sends BGP custom PDUs when the sessions are in the Established state for the configured routers

Note

  1. The “partial_route_flap” option is not supported.
  2. When you specify -mode link_flap or -mode full_route_flap, the next command will wait until all the flaps in this command are done.
  3. If you specify “link_flap” or “full_route_flap” for the -mode argument without defining -flap_count, Spirent TestCenter will perform the flapping operation only once. If you define -flap_count while you specify -mode link_flap or -mode full_route_flap, Spirent TestCenter will perform the flapping operation the number of times defined by the -flap_count argument.
-route_flap_down_time

During a flapping operation, specifies the period of time, in seconds, during which the route will be withdrawn from its neighbors. Possible values range from 0.005 to 2147483647. This argument is valid only when -mode is set to full_route_flap.

-route_flap_up_time

During a flapping operation, specifies the time, in seconds, between flap cycles. Possible values range from 0.005 to 2147483647. This argument is valid only when -mode is set to full_route_flap.

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-route_index_from
-route_index_to

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):

stopped   Stopped (1) or Running (0)
status    Success (1) or failure (0) of the operation.
log       An error message (if the operation failed).

Description

The sth::emulation_bgp_control function controls the routing of traffic through the specified ports. You can use the function to perform several actions: starting routers, stopping routers, restarting routers, and controlling route flapping.

In normal network operation, routers advertise changes to routes. In response to these changes, routers recalculate the routes and update routing tables. A network may become unstable; for example, routers may go down, there may problems with connections, or there may be some other type of problem with the network. When the network topology changes rapidly, the repeated advertising and withdrawal of routing information is called “route flapping”. When route flapping occurs, the network performance degrades due to the increased routing communication and to the time it takes for routers to reconfigure the routing table.

Spirent HLTAPI enables you to use flapping in your network environment. You can use flapping to control various kind of events in your test environment, including routing. When you use the sth::emulation_bgp_control function to define flapping for your test, you must:

  • Define the flapping mode with “-mode full_route_flap”.
  • Set -route_flap_down_time and -route_flap_up_time to define the flapping cycle.
  • Specify the route to flap using -route_handle.

When you call the sth::emulation_bgp_control function, you specify a port handle. Spirent HLTAPI applies the specified action to all of the emulated BGP routers associated with the specified port.

When you stop a router, Spirent HLTAPI sends a NOTIFICATION message to terminate the session and shut down the connection.

When you start a router, Spirent HLTAPI sends an OPEN message to start the BGP message exchange and re-establish the session.

When you restart a router, Spirent HLTAPI sends a NOTIFICATION message, followed by an OPEN message.

Note

The sth::emulation_bgp_control function does not include a flapping count argument because it only does one flap (for example, -flap_count is always equal to 1).

Examples

#### HLTAPI for Tcl ####

To start the BGP router on the specified port:

sth::emulation_bgp_control -mode start -handle router1

To stop the BGP router on the specified port:

sth::emulation_bgp_control -mode stop -handle router1

To restart the BGP router on the specified port:

sth::emulation_bgp_control -mode restart -handle router1

Sample Output:

{handle router1} {status 1}
To advertise the Advertise Route Type 1::
set link_state_hnd [sth::emulation_bgp_control
-mode advertise
-route_type evpn_type1
-route_handle $evpn_type1_hnd]
To withdraw the Withdraw Route Type 5::
set link_state_hnd [sth::emulation_bgp_control
-mode withdraw
-route_type evpn_type5
-route_handle $evpn_type5_hnd]

Sample Output:

{status 1}

#### HLTAPI for Python ####

Sample Input:

ctrl_ret1 = sth.emulation_bgp_control (
        handle              = device_list,
        mode                = 'start'

Sample Output:

{'status': '1'}

#### HLTAPI for Perl ####

Sample Input:

my %ctrl_ret1 = sth::emulation_bgp_control (
        handle              => "$device_list",
        mode                => 'start');

Sample Output:

$VAR1 = 'status';
$VAR2 = '1';

End of Procedure Header

sth::emulation_bgp_route_config

Purpose

Creates routes for or deletes routes from a BGP router. It also defines the characteristics of the routes that will be advertised at the beginning of the session.

When you add a route (see description for -mode), Spirent HLTAPI returns the route handle in a keyed list with “handles” as the key.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_route_config
   [-mode add|modify|{remove|withdraw}  M]
   [-handle <router_handle>]
   [-route_handle <route_handle>]
   [-link_handle <link_handle>]
   [-aggregator { asn:ipv4}]
   [-as_path { <as path type>:<comma separated segment list>}]
   [-as_path_increment <numeric>]
   [-as_path_increment_per_router <0-4294967295>]
   [-as_path_per_block_count <numeric>]
   [-atomic_aggregate {0|1}]
   [-blk_offset  <1-65535>]
   [-blk_offset_step <0-65534>]
   [-blk_size  <1-65535>]
   [-cluster_list {0|1}]
   [-cluster_list_enable {0|1}]
   [-communities {AS:VAL|NO_EXPORT|NO_ADVERTISE|LOCAL_AS}]
   [-communities_per_block <numeric>]
   [-communities_increment {AS:VAL}]
   [-large_communities {X:N:N}]
   [-large_communities_per_block <numeric>]
   [-large_communities_increment {X:N:N}]
   [-communities_enable {0|1}]
   [-extended_communities <string>]
   [-extended_communities_increment <string>]
   [-extended_communities_per_block <numeric>]

   EVPN

   [-evpn_type1_active_standby_mode {ALL_ACTIVE|SINGLE_ACTIVE}]
   [-evpn_type1_agg_as <string>]
   [-evpn_type1_agg_ip <a.b.c.d>]
   [-evpn_type1_as_path <string>]
   [-evpn_type1_as_path_incr <string>]
   [-evpn_type1_as_path_per_blk_cnt <numeric>]
   [-evpn_type1_as_path_seg_type {SEQUENCE} ]
   [-evpn_type1_atomic_agg_present {true|false}]
   [-evpn_type1_cluster_id_list <a.b.c.d>]
   [-evpn_type1_community <AS:Number|IPv4:Number>]
   [-evpn_type1_data_plane_encap {MPLS|NONE|VXLAN}]
   [-evpn_type1_encap_label <0-16777215>]
   [-evpn_type1_encap_label_step <0-16777215>]
   [-evpn_type1_ethernet_seg_id <string>]
   [-evpn_type1_ethernet_seg_type {TYPE0|TYPE1|TYPE2|TYPE3|TYPE4|TYPE5}]
   [-evpn_type1_ethernet_tag_id <numeric>]
   [-evpn_type1_evi_count <numeric>]
   [-evpn_type1_evpn_ad_route_type {PER_ESI|PER_EVI}]
   [-evpn_type1_ext_com <string>]
   [-evpn_type1_ext_com_incr <string>]
   [-evpn_type1_ext_com_per_blk_cnt <numeric>]
   [-evpn_type1_local_pref <0-4294967295>]
   [-evpn_type1_local_pref_incr <0-4294967295>]
   [-evpn_type1_med <0-4294967295>]
   [-evpn_type1_med_incr <0-4294967295>]
   [-evpn_type1_next_hop <IPv4 address>]
   [-evpn_type1_origin {EGP|IGP|INCOMPLETE}]
   [-evpn_type1_originator_id <a.b.c.d>]
   [-evpn_type1_route_category {ANY|PRIMARY|SECONDARY|UNDEFINED|UNIQUE}]
   [-evpn_type1_route_dist <a.b.c.d>]
   [-evpn_type1_route_dist_step <AS:Number|IPv4:Number>]
   [-evpn_type1_route_target <AS:Number|IPv4:Number>]
   [-evpn_type1_route_target_step <AS:Number|IPv4:Number>]
   [-evpn_type2_agg_as <string>]
   [-evpn_type2_agg_ip <a.b.c.d>]
   [-evpn_type2_as_path <string>]
   [-evpn_type2_as_path_incr <string>]
   [-evpn_type2_as_path_per_blk_cnt <numeric>]
   [-evpn_type2_as_path_seg_type {SEQUENCE}]
   [-evpn_type2_atomic_agg_present {true|false}]
   [-evpn_type2_cluster_id_list <a.b.c.d>]
   [-evpn_type2_community <AS:Number|IPv4:Number>]
   [-evpn_type2_data_plane_encap {MPLS|NONE|VXLAN} ]
   [-evpn_type2_default_gw_ext {true|false}]
   [-evpn_type2_encap_label <0-16777215>]
   [-evpn_type2_encap_label_step <0-16777215>]
   [-evpn_type2_ethernet_seg_id <string>]
   [-evpn_type2_ethernet_seg_type {TYPE0|TYPE1|TYPE2|TYPE3|TYPE4|TYPE5}]
   [-evpn_type2_ethernet_tag_id <numeric>]
   [-evpn_type2_evi_count <numeric>]
   [-evpn_type2_evpn_ad_route_type {PER_ESI|PER_EVI}]
   [-evpn_type2_ext_com <string>]
   [-evpn_type2_ext_com_incr <string>]
   [-evpn_type2_ext_com_per_blk_cnt <numeric>]
   [-evpn_type2_mac_mobility {true|false}]
   [-evpn_type2_mac_addr_start  <aa:bb:cc:dd:ee:ff>]
   [-evpn_type2_mac_addr_network_count <integer> ]
   [-evpn_type2_mac_addr_prefix_length <0-48>]
   [-evpn_type2_mac_addr_incr <integer>]
   [-evpn_type2_mac_addr_offset <0-5>]
   [-evpn_type2_is_mpls_label_2 {true|false}]
   [-evpn_type2_is_static {true|false}]
   [-evpn_type2_local_pref <0-4294967295>]
   [-evpn_type2_local_pref_incr <0-4294967295>]
   [-evpn_type2_med <0-4294967295>]
   [-evpn_type2_med_incr <0-4294967295>]
   [-evpn_type2_next_hop  <a.b.c.d>]
   [-evpn_type2_origin {EGP|IGP|INCOMPLETE}]
   [-evpn_type2_originator_id <a.b.c.d>]
   [-evpn_type2_route_category {ANY|PRIMARY|SECONDARY|UNDEFINED|UNIQUE}]
   [-evpn_type2_route_dist <a.b.c.d>]
   [-evpn_type2_route_dist_step <AS:Number|IPv4:Number>]
   [-evpn_type2_route_target <AS:Number|IPv4:Number>]
   [-evpn_type2_route_target_step <AS:Number|IPv4:Number>]
   [-evpn_type2_route_label_assgn_mode { FIXED|INCREMENTAL}]
   [-evpn_type2_router_mac_ext {true|false}]
   [-evpn_type2_seq_num  <0-4294967295 >]
   [-evpn_type2_src_mac <aa:bb:cc:dd:ee:ff>]
   [-evpn_type3_agg_as <string>]
   [-evpn_type3_agg_ip <a.b.c.d>]
   [-evpn_type3_as_path <string>]
   [-evpn_type3_as_path_incr <string>]
   [-evpn_type3_as_path_per_blk_cnt <numeric>]
   [-evpn_type3_as_path_seg_type {SEQUENCE} ]
   [-evpn_type3_atomic_agg_present {true|false}]
   [-evpn_type3_cluster_id_list <a.b.c.d>]
   [-evpn_type3_community  <AS:Number|IPv4:Number>]
   [-evpn_type3_data_plane_encap {MPLS|NONE|VXLAN} ]
   [-evpn_type3_encap_label <0-16777215>]
   [-evpn_type3_encap_label_step <0-16777215>]
   [-evpn_type3_ethernet_seg_id <string>]
   [-evpn_type3_ethernet_seg_type {TYPE0|TYPE1|TYPE2|TYPE3|TYPE4|TYPE5}]
   [-evpn_type3_ethernet_tag_id <numeric>]
   [-evpn_type3_evi_count <numeric>]
   [-evpn_type3_ext_com <string>]
   [-evpn_type3_ext_com_incr <string>]
   [-evpn_type3_ext_com_per_blk_cnt <numeric>]
   [-evpn_type3_local_pref <0-4294967295>]
   [-evpn_type3_local_pref_incr <0-4294967295>]
   [-evpn_type3_med <0-4294967295>]
   [-evpn_type3_med_incr <0-4294967295>]
   [-evpn_type3_next_hop <a.b.c.d>]
   [-evpn_type3_origin {EGP|IGP|INCOMPLETE}]
   [-evpn_type3_originator_id <a.b.c.d>]
   [-evpn_type3_route_category {ANY|PRIMARY|SECONDARY|UNDEFINED|UNIQUE}]
   [-evpn_type3_route_dist <a.b.c.d>]
   [-evpn_type3_route_dist_step <AS:Number|IPv4:Number>]
   [-evpn_type3_route_target <AS:Number|IPv4:Number>]
   [-evpn_type3_route_target_step <AS:Number|IPv4:Number>]
   [-evpn_type4_agg_as <string>]
   [-evpn_type4_agg_ip <a.b.c.d>]
   [-evpn_type4_as_path <string>]
   [-evpn_type4_as_path_incr <string>]
   [-evpn_type4_as_path_per_blk_cnt <numeric>]
   [-evpn_type4_as_path_seg_type {SEQUENCE}]
   [-evpn_type4_atomic_agg_present {true|false}]
   [-evpn_type4_cluster_id_list <a.b.c.d>]
   [-evpn_type4_community <string>]
   [-evpn_type4_data_plane_encap {MPLS|NONE|VXLAN}]
   [-evpn_type4_es_import_route_target <aa:bb:cc:dd:ee:ff>]
   [-evpn_type4_ethernet_seg_id <string>]
   [-evpn_type4_ethernet_seg_type {TYPE0|TYPE1|TYPE2|TYPE3|TYPE4|TYPE5}]
   [-evpn_type4_ethernet_tag_id <numeric>]
   [-evpn_type4_evi_count <numeric>]
   [-evpn_type4_ext_com <string>]
   [-evpn_type4_ext_com_incr <string>]
   [-evpn_type4_ext_com_per_blk_cnt <numeric>]
   [-evpn_type4_local_pref <0-4294967295>]
   [-evpn_type4_local_pref_incr <0-4294967295>]
   [-evpn_type4_med <0-4294967295>]
   [-evpn_type4_med_incr <0-4294967295>]
   [-evpn_type4_next_hop  <a.b.c.d>]
   [-evpn_type4_origin {EGP|IGP|INCOMPLETE}]
   [-evpn_type4_originator_id <a.b.c.d>]
   [-evpn_type4_route_category {ANY|PRIMARY|SECONDARY|UNDEFINED|UNIQUE}]
   [-evpn_type4_route_dist <a.b.c.d>]
   [-evpn_type4_route_dist_step <AS:Number|IPv4:Number>]
   [-evpn_type4_route_target <AS:Number|IPv4:Number>]
   [-evpn_type4_route_target_step <AS:Number|IPv4:Number>]
   [-evpn_type5_agg_as <string>]
   [-evpn_type5_agg_ip <a.b.c.d>]
   [-evpn_type5_as_path <string>]
   [-evpn_type5_as_path_incr <string>]
   [-evpn_type5_as_path_per_blk_cnt <numeric>]
   [-evpn_type5_as_path_seg_type {SEQUENCE}]
   [-evpn_type5_atomic_agg_present {true|false}]
   [-evpn_type5_associated_ip_type {ipv4|ipv6}]
   [-evpn_type5_cluster_id_list <a.b.c.d>]
   [-evpn_type5_community <AS:Number|IPv4:Number>]
   [-evpn_type5_data_plane_encap {MPLS|NONE|VXLAN}]
   [-evpn_type5_encap_label <0-16777215>]
   [-evpn_type5_encap_label_step <0-16777215>]
   [-evpn_type5_ethernet_seg_id <string>]
   [-evpn_type5_ethernet_seg_type {TYPE0|TYPE1|TYPE2|TYPE3|TYPE4|TYPE5}]
   [-evpn_type5_ethernet_tag_id <numeric>]
   [-evpn_type5_evi_count <numeric>]
   [-evpn_type5_ext_com <string>]
   [-evpn_type5_ext_com_incr <string>]
   [-evpn_type5_ext_com_per_blk_cnt <numeric>]
   [-evpn_type5_gw_ipv4_addr <a.b.c.d>]
   [-evpn_type5_gw_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-evpn_type5_include_router_mac  <aa:bb:cc:dd:ee:ff>]
   [-evpn_type5_local_pref <0-4294967295>]
   [-evpn_type5_local_pref_incr <0-4294967295>]
   [-evpn_type5_med <0-4294967295>]
   [-evpn_type5_med_incr <0-4294967295>]
   [-evpn_type5_next_hop <IPv4 address>]
   [-evpn_type5_origin {EGP|IGP|INCOMPLETE}]
   [-evpn_type5_originator_id <a.b.c.d>]
   [-evpn_type5_route_category {ANY|PRIMARY|SECONDARY|UNDEFINED|UNIQUE}]
   [-evpn_type5_route_dist <a.b.c.d>]
   [-evpn_type5_route_dist_step <AS:Number|IPv4:Number>]
   [-evpn_type5_route_target <AS:Number|IPv4:Number>]
   [-evpn_type5_route_target_step <AS:Number|IPv4:Number>]
   [-evpn_type5_src_mac  <aa:bb:cc:dd:ee:ff>]
   [-flooding_enable  {0|1}]
   [-ip_version {4|6}]
   [-route_sub_afi {unicast|multicast|unicast_and_multicast|labeled_ip|mdt|vpn}]
   [-custom_mpls_label {true|false}]
   [-mpls_label {0-1048575}]
   [-mpls_label_step {0-1048575}]
   [-ipv4_mpls_nlri {0|1}]
   [-ipv4_mpls_vpn_nlri {0|1}]
   [-ipv4_multicast_nlri {0|1}]
   [-ipv4_unicast_nlri {0|1}]
   [-ipv6_mpls_nlri {0|1}]
   [-ipv6_mpls_vpn_nlri {0|1}]
   [-ipv6_multicast_nlri {0|1}]
   [-ipv6_prefix_length <0-128>]
   [-ipv6_unicast_nlri {0|1}]
   [-label_incr_mode {fixed|prefix}]
   [-local_pref <0-4294927695>]

   BGP LINK STATE (LS) NODE

   [-ls_as_path    <string> ]
   [-ls_as_path_segment_type {sequence} ]
   [-ls_community  <string> ]
   [-ls_enable_node {true|false} ]
   [-ls_extended_community   <string> ]
   [-ls_identifier <integer> ]
   [-ls_identifiertype  {customized|l1_optical|l3_packet}]
   [-ls_local_preference  <integer>]
   [-ls_next_hop  <a.b.c.d>]
   [-ls_next_hop_global  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh> ]
   [-ls_next_hop_link_local  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh> ]
   [-ls_next_hop_type    {ipv4|ipv6} ]
   [-ls_origin   {egp|igp|incomplete}]
   [-ls_protocol_id  {direct|isis_level1|isis_level2|ospf_v2|static} ]
   [-ls_node_desc_flag {as_number|bgp_ls_id|igp_router_id|ospf_area_id}]
   [-ls_node_desc_as_num <integer>]
   [-ls_node_desc_bgp_ls_id  <integer>]
   [-ls_node_desc_ospf_area_id  <integer>]
   [-ls_node_desc_igp_router_id_type  {isis_non_pseudo_node|isis_pseudo_node|
                                      ospf_non_pseudo_node|ospf_pseudo_node}]
   [-ls_node_desc_igp_router_id <string>]
   [-ls_node_attr_flag  {isis_area_id|local_ipv4_router_id|node_name|
                        sr_algorithms|sr_caps} ]
   [-ls_node_attr_isis_area_id <integer>]
   [-ls_node_attr_local_ipv4_router_id_list <a.b.c.d> ]
   [-ls_node_attr_local_ipv6_router_id_list <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_node_attr_node_name <string>]
   [-ls_node_attr_sr_algorithms <string>]
   [-ls_node_attr_sr_value_type {label|sid}]
   [-ls_node_attr_sr_capability_flags {ipv4|ipv6}]
   [-ls_node_attr_sr_capability_base_list <integer>]
   [-ls_node_attr_sr_capability_range_list <1 - 16777215>]

   LS LINK

   [-ls_link_attr_flag {igp_metric|link_protection_type|local_ipv4_router_id|
                       remote_ipv4_router_id|sr_adj_sid}]
   [-ls_link_attr_igp_metric   <integer>]
   [-ls_link_attr_igp_metric_tlv_type  {isis_small|isis_wide|ospf}]
   [-ls_link_attr_link_protection_type {dedicate_1_plus_1|dedicated_1_to_1|enhanced|
                            extra_traffic|reserved1|reserved2|shared|unprotected}]
   [-ls_link_attr_local_ipv4_router_id_list  <a.b.c.d>]
   [-ls_link_attr_local_ipv6_router_id_list <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_link_attr_remote_ipv4_router_id_list <a.b.c.d>]
   [-ls_link_attr_remote_ipv6_router_id_list <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_link_attr_sr_adj_sid_flags  {bbit|fbit}]
   [-ls_link_attr_value  <1-4294967295>]
   [-ls_link_attr_value_type {label|sid}]
   [-ls_link_attr_weight  <1-255>]
   [-ls_link_desc_flags {ipv4_intf_addr|ipv4_nbr_addr}]
   [-ls_link_desc_ipv4_intf_addr  <a.b.c.d>]
   [-ls_link_desc_ipv4_neighbor_addr <a.b.c.d>]
   [-ls_link_desc_ipv6_intf_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_link_desc_ipv6_neighbor_addr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_link_desc_flag {as_number|bgp_ls_id|igp_router_id|ospf_area_id}]
   [-ls_link_desc_as_num    <integer>]
   [-ls_link_desc_bgp_ls_id  <integer>]
   [-ls_link_desc_ospf_area_id  <integer>]
   [-ls_link_desc_igp_router_id_type {isis_non_pseudo_node|isis_pseudo_node|
                                     ospf_non_pseudo_node|ospf_pseudo_node}]
   [-ls_link_desc_igp_router_id   <string>]
   [-ls_link_attr_te_sub_tlv_type {none|group|max_bw|max_rsv_bw|unreserved|
                                   local_ip|remote_ip|default_metric}]
   [-ls_link_attr_te_bw_unit  {bits_per_sec|bytes_per_sec|mbytes_per_sec}]
   [-ls_link_attr_te_default_metric  <integer>]
   [-ls_link_attr_te_local_ip    <a.b.c.d>]
   [-ls_link_attr_te_remote_ip    <a.b.c.d>]
   [-ls_link_attr_te_admin_group <1-4294967295>]
   [-ls_link_attr_te_max_bw <1-4294967295>]
   [-ls_link_attr_te_max_resv_bw <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority0 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority1 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority2 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority3 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority4 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority5 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority6 <1-4294967295>]
   [-ls_link_attr_te_unresv_bw_priority7 <1-4294967295>]
   [-ls_prefix_attr_flags {igp_flags|ospf_forward_addr|prefix_metric|sr_prefix_sid}]
   [-ls_prefix_attr_algorithm <0-255>]
   [-ls_prefix_attr_igp_flags {dbit|lbit|nbit|pbit}]
   [-ls_prefix_attr_ospf_forward_addr_type {ospfv2|ospfv3}]
   [-ls_prefix_attr_ospfv2_forward_addr <a.b.c.d>]
   [-ls_prefix_attr_ospfv3_forward_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_prefix_attr_prefix_metric <integer>]
   [-ls_prefix_attr_sr_prefix_sid_flags {nbit|pbit|rbit}]
   [-ls_prefix_attr_value <integer>]
   [-ls_prefix_desc_flags {ip_reach_info|ospf_rt_type}]
   [-ls_prefix_desc_ip_prefix_count <integer>]
   [-ls_prefix_desc_ip_prefix_type {ipv4_prefix|ipv6_prefix}]
   [-ls_prefix_desc_ipv4_prefix <a.b.c.d>]
   [-ls_prefix_desc_ipv4_prefix_length <1-32>]
   [-ls_prefix_desc_ipv4_prefix_step <integer>]
   [-ls_prefix_desc_ipv6_prefix <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-ls_prefix_desc_ipv6_prefix_length <1-128>]
   [-ls_prefix_desc_ipv6_prefix_step <integer>]
   [-ls_prefix_desc_ospf_route_type {external_1|external_2|inter_area|
                                    intra_area|nssa_1|nssa_2}]

   FLOW SPEC

   [-fs_as_num <0-65535>]
   [-fs_as_path <string>]
   [-fs_as_path_incr <string>]
   [-fs_as_path_per_block_count <numeric>]
   [-fs_as_path_segment_type {set|sequence|confed_seq|confed_set}]
   [-fs_cluster_id_list <a.b.c.d>]
   [-fs_component_types {type1_destination_prefix|type2_source_prefix|
                       type4_port|type5_destination_port|type6_source_port|
                       type10_packet_length|type11_dscp_value}]
   [-fs_copy_bit {true|false}]
   [-fs_dscp <0x00-0x3f>
   [-fs_redirect_enable {true|false}]
   [-fs_redirect_to_ipnexthop_enable {true|false}]
   [-fs_enable_traffic_action {true|false}]
   [-fs_enable_traffic_marking {true|false}]
   [-fs_enable_traffic_rate {true|false}]
   [-fs_extended_community <string>]
   [-fs_local_pref <0-4294967295>]
   [-fs_local_pref_incr <0-4294967295>]
   [-fs_local_pref_incr_per_router <0-4294967295>]
   [-fs_med <0-4294967295>]
   [-fs_med_incr <0-4294967295>]
   [-fs_med_incr_per_router <0-4294967295>]
   [-fs_nexthop <a.b.c.d>]
   [-fs_origin {igp|egp|incomplete}]
   [-fs_sample_bit {true|false}]
   [-fs_sub_afi {flow_spec|flow_spec_vpn}]
   [-fs_terminate_bit {true|false}]
   [-fs_traffic_rate <0-4294967295>]
   [-fs_route_distinguisher <AS:Number|IPv4:Number>]
   [-fs_route_distinguisher_step <AS:Number|IPv4:Number>]
   [-fs_route_origin <AS:Number|IPv4:Number>]
   [-fs_route_target <AS:Number|IPv4:Number>]
   [-fs_route_target_vpn <AS:Number|IPv4:Number>]
   [-fs_route_target_step <string>]
   [-fs_vrf_count <string>]
   [-fs_type1_addr_incr <numeric>]
   [-fs_type1_collection_type {increment|list}]
   [-fs_type1_ip_list <a.b.c.d>]
   [-fs_type1_prefix_count <1-4294967295>]
   [-fs_type1_prefix_length <0-32>]
   [-fs_type1_start_ip <a.b.c.d>]
   [-fs_type2_addr_incr <numeric>]
   [-fs_type2_collection_type {increment|list}]
   [-fs_type2_ip_list <a.b.c.d>]
   [-fs_type2_prefix_count <1-4294967295>]
   [-fs_type2_prefix_length <0-32>]
   [-fs_type2_start_ip <a.b.c.d>]
   [-fs_type4_and_bit {true|false}]
   [-fs_type4_count <1-10>]
   [-fs_type4_equality_bit {true|false}]
   [-fs_type4_greater_than_bit {true|false}]
   [-fs_type4_less_than_bit {true|false}]
   [-fs_type4_value <1-65535>]
   [-fs_type4_value_incr <1-65535>]
   [-fs_type4_value_list <1-65535>]
   [-fs_type4_value_type  {increment|list}]
   [-fs_type5_and_bit {true|false}]
   [-fs_type5_count <1-10>]
   [-fs_type5_equality_bit {true|false}]
   [-fs_type5_greater_than_bit {true|false}]
   [-fs_type5_less_than_bit {true|false}]
   [-fs_type5_value <1-65535>]
   [-fs_type5_value_incr <1-65535>]
   [-fs_type5_value_list <1-65535>]
   [-fs_type5_value_type {increment|list}]
   [-fs_type6_and_bit {true|false}]
   [-fs_type6_count  <1-10>]
   [-fs_type6_equality_bit {true|false}]
   [-fs_type6_greater_than_bit {true|false}]
   [-fs_type6_less_than_bit {true|false}]
   [-fs_type6_value <1-65535>]
   [-fs_type6_value_incr <1-65535>]
   [-fs_type6_value_list <1-65535>]
   [-fs_type6_value_type {increment|list}]
   [-fs_type10_and_bit {true|false}]
   [-fs_type10_count <1-10>]
   [-fs_type10_equality_bit {true|false}]
   [-fs_type10_greater_than_bit {true|false}]
   [-fs_type10_less_than_bit {true|false}]
   [-fs_type10_value <1-65535>]
   [-fs_type10_value_incr <1-65535>]
   [-fs_type10_value_list <1-65535>]
   [-fs_type10_value_type {increment|list}]
   [-fs_type11_and_bit {true|false}]
   [-fs_type11_equality_bit {true|false}]
   [-fs_type11_greater_than_bit {true|false}]
   [-fs_type11_less_than_bit {true|false}]
   [-fs_type11_value <0-63>]
   [-fs_type3_equality_bit {true|false}]
   [-fs_type3_greater_than_bit {true|false}]
   [-fs_type3_less_than_bit {true|false}]
   [-fs_type3_and_bit <1-65535>]
   [-fs_type3_value <0-255>]
   [-fs_type3_count <1-10>]
   [-fs_type3_value_incr <0-255>]
   [-fs_type3_value_list <list of values>]
   [-fs_type3_value_type {increment|list}]

   [-max_route_ranges <integer>]
   [-multi_exit_disc <<0-4294927695>]
   [-netmask {255.255.255.255}]
   [-addr_modifier_type_per_device {continuous|repeat}]
   [-next_hop_set_mode  {same|manual}]
   [-next_hop <ip address>]
   [-next_hop_increment_per_router <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-next_hop_ip_version {4|6}]
   [-local_next_hop <ip address>]
   [-num_routes <integer>]
   [-prefix {<ip address | ip address list>}]
   [-prefix_step {<integer>}]
   [-start_ip_addr_step_per_device <ip>]
   [-origin  {igp|egp|incomplete} ]
   [-originator_id  <ipv4 address>]
   [-originator_id_enable  {0|1}]
   [-packing_to <0-65535>]
   [-pe_addr <a.b.c.d>]
   [-rd_type {0|1}]
   [-rd_admin_step {<integer>|<ipv4 address>}]
   [-rd_admin_value {<AS number>|<ipv4 address>}]
   [-rd_assign_step <integer>]
   [-rd_assign_value {<AS number>}]
   [-route_category {UNDEFINED|PRIMARY|SECONDARY|UNIQUE}]
   [-route_ip_addr_step <ip address>]
   [-route_type {ip|vpn|vpls|vplsad|link_state|flow_spec|srte|evpn_type1|
               evpn_type2|evpn_type3|evpn_type4|evpn_type5|import_route_table}]
   [-strip_vlan {0|1}
   [-target_type {as|ip}]
        [-target {<AS number>|<ipv4 address>}]
        [-target_assign <integer>]
        [-target_step {<integer>|<ipv4 address>}]
        [-target_assign_step <integer>]
        [-target_step_per_route_block {<integer>|<ipv4 address>}]
        [-target_assign_step_per_route_block <integer>]
   [-ve_id  <1-65535>]
   [-ve_id_step <integer>]
   [-vpls_id <vpls_id>]
   [-vpls_id_step <n:n>]
   [-vrf_count <NUMERIC>]
   [-mtu_size <64-65535>]
   [-encap_type {vlan|vpls}]
   [-control_flag <integer>]
   [-vpls_draft_ver {version_00|version_02|version_vpls_4761}]
   [-session_ip_ver {ipv4|ipv6|ipv4v6}]
   [-med <0-4294967295>]
   [-med_step <0-4294967295>]
   [-med_step_per_router <0-4294967295>]
   [-local_preference <0-4294967295>]
   [-local_preference_step <0-4294967295>]
   [-local_preference_step_per_router <0-4294967295>]
   [-seg_type <n:n>]
   [-vpls_next_hop <n:n>]
   [-vpls_link_local_next_hop <n:n>]

   SRTE Configurations

   [-srte_ip_version   {ipv4|ipv6}]
   [-srte_aspath <string>]
   [-srte_aspath_segment_type  {sequence}]
   [-srte_community <AS:VAL|NO_EXPORT|NO_ADVERTISE|LOCAL_AS>]
   [-srte_distinguisher <NUMERIC>]
   [-srte_enable_route_target {true|false}]
   [-srte_endpoint  <a.b.c.d>]
   [-srte_extended_community  <Type:SubType:Value>]
   [-srte_local_pref <NUMERIC>]
   [-srte_nexthop   <a.b.c.d>]
   [-srte_ipv6_nexthop <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_origin  {igp|egp|incomplete}]
   [-srte_policy_color  <NUMERIC>]
   [-srte_route_category  {undefined|primary|secondary|unique|any}]
   [-srte_route_target  <AS:Number|IPv4:Number>]
   [-srte_route_target_step <string>]
   [-srte_route_count <string>]
   [-srte_as_path_incr <string>]
   [-srte_as_path_per_blk_count <string>]
   [-srte_local_pref_incr <0-4294967295>]
   [-srte_community_incr <string>]
   [-srte_community_per_blk_count <string>]
   [-srte_distinguisher_step <string>]
   [-srte_policy_color_step <string>]
   [-srte_extended_community_incr <string>]
   [-srte_extended_community_per_blk_count <string>]
   [-srte_endpoint_incr <a.b.c.d>]
   [-srte_ipv6_endpoint <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_ipv6_endpoint_incr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_binding_sid_step <NUMERIC>]
   [-srte_binding_sid  <NUMERIC>]
   [-srte_binding_sid_len {length_0|length_4|length_16}]
   [-srte_ipv6_binding_sid <string>]
   [-srte_ipv6_binding_sid_step <string>]
   [-srte_color <NUMERIC>]
   [-srte_color_step <NUMERIC>]
   [-srte_flags {color|preference|binding_sid|remote_endpoint|explicit_null|policy_priority|policy_name}]
   [-srte_preference <NUMERIC>]
   [-srte_preference_step <NUMERIC>]
   [-srte_remote_endpoint_addr <a.b.c.d>]
   [-srte_remote_endpoint_as <NUMERIC>]
   [-srte_remote_endpoint_addr_incr <a.b.c.d>]
   [-srte_remote_endpoint_as_step <NUMERIC>]
   [-srtc_enlp {value_1|value_2|value_3|value_4}]
   [-srte_policy_priority <NUMERIC>]
   [-srte_policy_name <string>]
   [-srte_sid_type  {label|sid}]
   [-srte_segment_list_subtlv {weight|0}]
   [-srte_weight  <NUMERIC>]
   [-srte_binding_sid_type  <1-255>]
   [-srte_color_type <1-255>]
   [-srte_preference_type  <1-255>]
   [-srte_remote_endpoint_type <0-255>]
   [-srte_safi  <0-255>]
   [-srte_segmentlist_type <0-255>]
   [-srte_segment_type1 <0-255>]
   [-srte_segment_type2 <0-255>]
   [-srte_segment_type3 <0-255>]
   [-srte_segment_type4 <0-255>]
   [-srte_segment_type5 <0-255>]
   [-srte_segment_type6 <0-255>]
   [-srte_segment_type7 <0-255>]
   [-srte_segment_type8 <0-255>]
   [-srte_segment_type9  <0-255>]
   [-srte_segment_type10  <0-255>]
   [-srte_segment_type11  <0-255>]
   [-srte_tunnel_encap_attr <0-255>]
   [-srte_tunnel_type  <0-255>]
   [-srte_weight_type  <0-255>]
   [-srte_type1_label  <0-1048575>]
   [-srte_type1_label_step  <0-1048575>]
   [-srte_type1_sbit {0|1}]
   [-srte_type1_segment_type {type1}]
   [-srte_type1_traffic_class <0-7>]
   [-srte_type1_ttl <0-255>]
   [-srte_type2_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type2_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type2_segment_type {type2}]
   [-srte_type3_ipv4_node_addr  <a.b.c.d>]
   [-srte_type3_ipv4_node_addr_incr <a.b.c.d>]
   [-srte_type3_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type3_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type3_label <0-1048575>]
   [-srte_type3_label_step <0-1048575>
   [-srte_type3_length  {length_6|length_10|length_22}]
   [-srte_type3_sbit {0|1}]
   [-srte_type3_segment_type {type3}]
   [-srte_type3_traffic_class  <0-7>]
   [-srte_type3_ttl  <0-255>]
   [-srte_type4_ipv6_node_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type4_ipv6_node_addr_incr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type4_ipv6_sid  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type4_ipv6_sid_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type4_label <0-1048575>]
   [-srte_type4_label_step <0-1048575>]
   [-srte_type4_length  {length_18|length_22|length_34}]
   [-srte_type4_sbit {0|1}]
   [-srte_type4_segment_type {type4}]
   [-srte_type4_traffic_class <0-7>]
   [-srte_type4_ttl  <0-255>]
   [-srte_type5_ifindex <NUMERIC>]
   [-srte_type5_ipv4_node_addr <a.b.c.d>]
   [-srte_type5_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type5_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type5_label  <0-1048575>]
   [-srte_type5_label_step <0-1048575>]
   [-srte_type5_length  {length_10|length_14|length_26}]
   [-srte_type5_sbit {0|1}]
   [-srte_type5_segment_type {type5}]
   [-srte_type5_traffic_class <0-7>]
   [-srte_type5_ttl <0-255>]
   [-srte_type6_ipv4_local_addr <a.b.c.d>]
   [-srte_type6_ipv4_local_addr_step <a.b.c.d>]
   [-srte_type6_ipv4_remote_addr <a.b.c.d>]
   [-srte_type6_ipv4_remote_addr_step <a.b.c.d>]
   [-srte_type6_label <0-1048575>]
   [-srte_type6_label_step <0-1048575>]
   [-srte_type6_length {length_10|length_14|length_26}]
   [-srte_type6_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type6_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type6_sbit {0|1}]
   [-srte_type6_segment_type {type6}]
   [-srte_type6_traffic_class <0-7>]
   [-srte_type6_ttl <0-255>]
   [-srte_type7_ifindex <NUMERIC>]
   [-srte_type7_ipv6_node_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type7_ipv6_node_addr_incr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type7_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type7_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type7_label <0-1048575>]
   [-srte_type7_label_step <0-1048575>]
   [-srte_type7_length {length_22|length_26|length_38}]
   [-srte_type7_sbit {0|1}]
   [-srte_type7_segment_type {type7}]
   [-srte_type7_traffic_class <0-7>]
   [-srte_type7_ttl <0-255>]
   [-srte_type8_ipv6_local_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_ipv6_local_addr_incr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_ipv6_remote_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_ipv6_remote_addr_incr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_ipv6_sid <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_ipv6_sid_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type8_label <0-1048575>]
   [-srte_type8_label_step <0-1048575>]
   [-srte_type8_length {length_34|length_38|length_50}]
   [-srte_type8_sbit {0|1}]
   [-srte_type8_segment_type {type8}]
   [-srte_type8_traffic_class  <0-7>]
   [-srte_type8_ttl <0-255>]
   [-srte_type9_algorithm  <NUMERIC>]
   [-srte_type9_flags  {v_flag|a_flag}]
   [-srte_type9_ipv6_node_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type9_ipv6_node_addr_incr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type9_ipv6_sid  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type9_ipv6_sid_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type9_length  {length_18|length_34}]
   [-srte_type9_segment_type  {type9}]
   [-srte_type10_flags {v_flag}]
   [-srte_type10_ipv6_local_node_addr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_ipv6_local_node_addr_incr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_ipv6_sid  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_ipv6_sid_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_ipv6_remote_node_addr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_ipv6_remote_node_addr_incr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type10_local_if_index  <NUMERIC>]
   [-srte_type10_remote_if_index  <NUMERIC>]
   [-srte_type10_length  {length_22|length_38|length_42|length_58}]
   [-srte_type10_segment_type  {type10}]
   [-srte_type11_flags  {v_flag}]
   [-srte_type11_ipv6_sid  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_ipv6_sid_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_ipv6_remote_addr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_ipv6_remote_addr_incr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_ipv6_local_addr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_ipv6_local_addr_incr  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-srte_type11_length  {length_34|length_50}]
   [-srte_type11_segment_type {type11}]
   [-use_device_addr_as_next_hop {true|false}]

   Import Route Table Configuration

   [-import_route_router_type {cisco_1|juniper_1|alcatel_1|alcatel_2|alcatel_3|alcatel_4}]
   [-import_route_filename  <filepath>]
   [-import_route_add_tester_asn {true|false}]
   [-import_route_use_tester_ip_as_nexthop {true|false}]
   [-import_route_max_route_blks <0-5000000>]
   [-import_route_max_routes_per_block <0-5000000>]
   [-import_route_max_routes <0-5000000>]
   [-import_route_disable_traffic {true|false}]
   [-import_route_enable_traffic_with_db {true|false}]
   [-import_route_enable_traffic_with_rb {true|false}]
   [-import_route_ignore_as_path {true|false}]
   [-import_route_ignore_route_distinguisher {true|false}]
   [-import_route_active {true|false}]

Arguments

-aggregator

Specifies the last AS number that formed the aggregate route, followed by the IP address of the BGP speaker that formed the aggregate route format. AS number can be 2-byte or 4-byte. In the following two examples, 173 is a 2-byte aggregator AS number and 20:20 is a 4-byte one. 192.1.1.1 and 50.1.1.1 are IP addresses of the BGP speaker:

173:192.1.1.1.    20:20:50.1.1.1

You must specify the -mode argument.

-as_path

Specifies a list of the Autonomous Systems (AS) numbers that a route passes through to reach the destination. As the update passes through an AS, the AS number is inserted at the beginning of the list. This argument is composed of a sequence of AS path segments in the following format:

{<as path type>:<comma separated segment list>}.

For example, as_set:1,2,3,4. You must specify one of the following path types:

as_set -    Specifies an unordered set of Autonomous Systems
            through which a route in the UPDATE message
            has traversed.

as_seq -     Specifies an ordered set of Autonomous Systems
             through which a route in the UDPATE message has
             traversed.

as_confed_set - Specifies an unordered set of autonomous
             systems in the local confederation that the UPDATE
             message has traversed.

as_confed_seq - Specifies an ordered set of autonomous
             systems in the local confederation that the UPDATE
             message has traversed.

You must specify the add mode argument (-mode add).

-as_path_increment

Modifies the AS PATH of each route within a route block. This argument is NOT valid when -route_type is set to: link_state. The default value is 1.

-as_path_increment_per_router

Increment applied on AS Paths to determine the AS Path value for subsequent routers within router block. This argument is NOT valid when -route_type is set to:

link_state
srte
evpn_type1
evpn_type2
evpn_type3
evpn_type4
evpn_type5

Possible values range from 0 to 4294967295. The default value is 0.

-as_path_per_block_count

Number of AS Paths per route block. The default value is 1.

-atomic_aggregate

Enables or disables atomic aggregation. Possible values are 0 and 1. When set to 1, a BGP speaker uses this attribute to inform other BGP speakers that the local system selected a less specific route without selecting a more specific route included in it.

-blk_offset

Specifies the Virtual Private LAN Service (VPLS) Edge (VE) block offset. The VE block offset indicates the starting VE ID of the block of VEs to which this BGP label-block (NLRI) can be advertised. The receiver of the NLRI will process the NLRI and install the label if its VE ID is included in the VE ID range defined by -blk_offset and -blk_size. Possible values range from 1 to 65535. The default value is 1. You can use this argument when -route_type is set to vpls.

-blk_offset_step

Defines the increment used to generate VE IDs. Possible values range from 0 to 655354. The default value is 0. You can use this argument when -route_type is set to vpls.

-blk_size

Specifies the size of a VE block that is included in the BGP NLRI for VPLS. This size indicates the number of labels in the block, starting from the block offset defined by -blk_offset. The value of this argument can be larger than the number of VEs in a given VPLS. If the number of VEs grows to be greater than the block size, a new block can be allocated. Possible values range from 1 to 65535. The default value is 1. This argument is available when -route_type is set to vpls.

-cluster_list

Specifies a sequence of cluster ID values representing the reflection path through which the route has passed. This is a string value. The default is “” (empty string).

-cluster_list_enable

Enables or disables a cluster list in the BGP route range. Possible values are 0 (disable) and 1 (enable). The default is 0.

-communities

Specifies the community to which the routes belong. This argument provides a way to group destinations, called communities, to which routing decisions can be applied. Routing decisions include which routing information a BGP speaker accepts, prefers, or distributes to other neighbors. All routes with this argument belong to the communities listed in the argument. Possible values are as follows:

AS:VAL             Use the editor to build a list of communities.
                   AS: 1-65535 and VAL: 1-65535

NO_EXPORT          Distribute routes with this community tag
                   within the confederation or AS.

NO_ADVERTISE       Do not advertise these routes to other BGP peers.

LOCAL_AS           Do not distribute routes with this community
                   tag to external BGP peers. They are confined to the sub-AS.
-communities_per_block

Specifies the number of community values per route block. Possible values range from 0 to 65535. The default value is 1.

-communities_increment

Specifies a list of values used to increment the corresponding community value to create subsequent community values. Possible value is AS:VAL where AS: 1-65535 and VAL: 1-65535.

-large_communities

Specifies the value of one or more large community attributes, which consists of one 4-octet global administrator field and two 4-octet operator-defined fields.

-large_communities_per_block

Specifies the number of large community values to create for each block. Possible values range from 0 to 4294967295. The default value is 1.

-large_communities_increment

Specifies a step value with which to create subsequent large community attributes.

-communities_enable

Enables or disables the -community argument. Possible values are 0 (disable) and 1 (enable). The default is 0.

-extended_communities

Specifies the extended community to which the routes belong. The value includes a list of types, subtypes, and values. For example, 0x01:SAS:1.1.1.1:1, 0x00:RT:1:1, 0x02:LID:1.1:1. See RFC 4360 and RFC 5668 for the relationship between the Type field and the Value field.

Type SubType

AS 2-octet(X:N) RT[0x02] IPV4 (X.X.X.X:N) Site of Origin[0x03] AS_PLAIN 4octet(X:N) Source AS[0x09] AS_DOT 4-octet(X.Y:N) L2VPN ID[0X0a] Transitive Opaque (X:N) RT-Import[0x0b]

Color Ext[0x0b] Sub Type [0x01]
-extended_communities_increment

Specifies a step value with which to create subsequent extended community attributes.

-extended_communities_per_block

Specifies the number of extended community values to create for each block. Possible values range from 0 to 4294967295. The default value is 1.

-flooding_enable

Determines whether the Provider-Edge (PE) is capable of flooding. Possible values are 0 (disable) and 1 (enable). When this argument is set to 1, the PE is capable of flooding and the sender can send one frame to represent all of the u-PEs the PE represents. When this option is disabled, PE is not capable of flooding and the sender must send a separate copy of a given frame for each of the u-PEs that the PE represents. The default is 0. The argument is available when -route_type is set to vpls.

Use the following group of arguments to configure EVPN Ethernet A-D routes. You must set -route_type to evpn_type1.

-evpn_type1_active_standby_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the active standby mode of the Ethernet segment. Possible values are:

ALL_ACTIVE            All active Multi-homing

SINGLE_ACTIVE         Single active Multi-homing

The default value is SINGLE_ACTIVE.

-evpn_type1_agg_as

Spirent Extension (for Spirent HLTAPI only).

Specifies AS number to use for the AGGREGATOR attribute in string format. The default value is “” (empty string).

-evpn_type1_agg_ip

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address to use for the AGGREGATOR attribute

-evpn_type1_as_path

Spirent Extension (for Spirent HLTAPI only).

Identifies the list of AS numbers through which the UPDATE message has passed. The default value is 1.

-evpn_type1_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the AS path of each route within a route block. The default value is 1.

-evpn_type1_as_path_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of AS paths per route block. The default value is 1.

-evpn_type1_as_path_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path. The available option is SEQUENCE:

SEQUENCE    An ordered set of ASs that a route in the
            UPDATE message has traversed

The default value is SEQUENCE.

-evpn_type1_atomic_agg_present

Spirent Extension (for Spirent HLTAPI only).

Determines whether to include the ATOMIC_AGGREGATE attribute in BGP UPDATE messages. When set to true, the receiving BGP speaker cannot de-aggregate the prefix into more specific routes. Possible values are:The default value is false.

-evpn_type1_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

A list of route reflectors that a prefix has passed through. The value must be in IPv4 format. The default value is 0.0.0.0.

-evpn_type1_community

Spirent Extension (for Spirent HLTAPI only).

A list of BGP communities in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 1:1.

-evpn_type1_data_plane_encap

Spirent Extension (for Spirent HLTAPI only).

Specifies the data plane encapsulation type. Possible values are MPLS, NONE, and VXLAN. The default value is NONE.

-evpn_type1_encap_label

Spirent Extension (for Spirent HLTAPI only).

Encapsulation label that specifies the VNI/VSID value for VXLAN/Network Virtualization using Generic Routing Encapsulation (NVGRE). Possible values range from 0 to 16777215. The default value is 0.

-evpn_type1_encap_label_step

Spirent Extension (for Spirent HLTAPI only).

Increment value of encapsulation labels (VNI/VSID) for each successive VRF within a route block. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type1_ethernet_seg_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the value of the Ethernet segment identifier, in string format. The default value is 0.

-evpn_type1_ethernet_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet segment identifier type. 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.

-evpn_type1_ethernet_tag_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet Tag ID. The default value is 0.

-evpn_type1_evi_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of EVPN instances. The default value is 1.

-evpn_type1_evpn_ad_route_type

Spirent Extension (for Spirent HLTAPI only).

Determines whether AD routes are created per Ethernet segment or per EVPN instance. Possible values are PER_ESI (Ethernet segment) and PER_EVI (EVPN instance). The default value is PER_ESI.

-evpn_type1_ext_com

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community attribute, in string format. The default value is “” (empty string).

-evpn_type1_ext_com_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for extended communities. The default value is “” (empty string).

-evpn_type1_ext_com_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of extended communities per block count. The default value is 1.

-evpn_type1_local_pref

Spirent Extension (for Spirent HLTAPI only).

Identifies the preference for a route to other BGP speakers in the same AS. Possible values range from 0 to 4294967295. The default value is 10.

-evpn_type1_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which a route block varies the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type1_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the Multi-Exit Discriminator(MED) that identifies the preferred exit point to a neighboring AS. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type1_med_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type1_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that will be used as the next hop

-evpn_type1_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the origin of the path information. This attribute is generated by the AS that originated the route(s) in the update message. Possible values are:

IGP             Prefix learned from an IGP. The Network Layer
                Reachability Information is interior to the
                originating AS.

EGP             Prefix learned through the EGP protocol. The
                Network Layer Reachability Information was
                learned through EGP.

Incomplete      Static. Prefix was learned through a protocol
                other than EGP or IGP.

The default value is IGP.

-evpn_type1_originator_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the router ID of the originator for the route in the local AS. The value must be in IPv4 format.

-evpn_type1_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category. Possible values are:

Undefined       The default category assigned to a
                 manually created block

Primary         A preferred route that has duplicates
                (secondary routes) advertised by other ports

Secondary      A less preferred backup route

Unique          Indicates that a single port in the test
                configuration advertises this route

The default value is UNDEFINED.

-evpn_type1_route_dist

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Distinguisher (RD) in string format. A route distinguisher is an 8-byte value that is concatenated with an IPv4 prefix to create a unique VPN IPv4 prefix. The value must be in the format of AS:Number or IPv4:Number. The default value is 192.0.0.1:1.

-evpn_type1_route_dist_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RD attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type1_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Target (RT) attribute for the extended community path. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-evpn_type1_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

Use the following group of arguments to configure EVPN MAC/IP Advertisement A-D routes. You must set -route_type to evpn_type2.

-evpn_type2_agg_as

Spirent Extension (for Spirent HLTAPI only).

Specifies the AS number to use for the AGGREGATOR attribute in string format. The default value is “” (empty string).

-evpn_type2_agg_ip

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address to use for the AGGREGATOR attribute

-evpn_type2_as_path

Spirent Extension (for Spirent HLTAPI only).

Identifies the list of AS numbers through which the UPDATE message has passed. The default value is 1.

-evpn_type2_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the AS path of each route within a route block. The default value is 1.

-evpn_type2_as_path_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of AS paths per route block. The default value is 1.

-evpn_type2_as_path_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path. The available option is SEQUENCE:

SEQUENCE    An ordered set of ASs that a route in
            the UPDATE message has traversed

The default value is SEQUENCE.

-evpn_type2_atomic_agg_present

Spirent Extension (for Spirent HLTAPI only).

Determines whether to include the ATOMIC_AGGREGATE attribute in BGP UPDATE messages. Possible values are:When set to true, the receiving BGP speaker cannot de-aggregate the prefix into more specific routes. The default value is false.

-evpn_type2_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

A list of route reflectors that a prefix has passed through. The value must be in IPv4 format. The default value is 0.0.0.0.

-evpn_type2_community

Spirent Extension (for Spirent HLTAPI only).

A list of BGP communities in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 1:1.

-evpn_type2_data_plane_encap

Spirent Extension (for Spirent HLTAPI only).

Specifies the data plane encapsulation type. Possible values are MPLS, NONE, and VXLAN. The default value is NONE.

-evpn_type2_default_gw_ext

Specifies whether to advertise the Default Gateway extended community attribute in MAC/IP advertisement routes. Possible values are true and false. When set to true, the Default Gateway extended community attribute will be advertised in MAC/IP advertisement routes. The default value is false.

-evpn_type2_encap_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the encapsulation label. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type2_encap_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value of encapsulation labels (VNI/VSID) for each successive VRF within a route block. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type2_ethernet_seg_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the value of the Ethernet segment identifier, in string format. The default value is 0.

-evpn_type2_ethernet_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet segment identifier type. 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.

-evpn_type2_ethernet_tag_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet Tag ID. The default value is 0.

-evpn_type2_evi_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of EVPN instances. The default value is 1.

-evpn_type2_evpn_ad_route_type

Spirent Extension (for Spirent HLTAPI only).

Defines whether AD routes are created per Ethernet segment or per EVPN instance. Possible values are PER_ESI (Ethernet segment) and PER_EVI (EVPN instance). The default value is PER_ESI.

-evpn_type2_ext_com

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community attribute, in string format. The default value is “” (empty string).

-evpn_type2_ext_com_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for extended communities. The default value is “” (empty string).

-evpn_type2_ext_com_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of extended communities per block count. The default value is 1.

-evpn_type2_local_pref

Spirent Extension (for Spirent HLTAPI only).

Identifies the preference for a route to other BGP speakers in the same AS. Possible values range from 0 to 4294967295. The default value is 10.

-evpn_type2_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which a route block varies the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type2_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type2_med_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type2_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that will be used as the next hop

-evpn_type2_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the origin of the path information. This attribute is generated by the AS that originated the route(s) in the update message. Possible values are:

IGP             Prefix learned from an IGP. The Network Layer
                Reachability Information is interior to the
                originating AS.

EGP             Prefix learned through the EGP protocol. The
                Network Layer Reachability Information was
                learned through EGP.

Incomplete      Static. Prefix was learned through a protocol
                other than EGP or IGP.

The default value is IGP.

-evpn_type2_originator_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the router ID of the originator for the route in the local AS. The value must be in IPv4 format.

-evpn_type2_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category. Possible values are:

Undefined       The default category assigned to a
                 manually created block

Primary         A preferred route that has duplicates
                (secondary routes) advertised by other ports

Secondary      A less preferred backup route

Unique          Indicates that a single port in the test
                configuration advertises this route

The default value is UNDEFINED.

-evpn_type2_route_dist

Spirent Extension (for Spirent HLTAPI only).

Specifies the RD in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 192.0.0.1:1.

-evpn_type2_route_dist_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RD attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type2_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the RT value for the extended community path. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-evpn_type2_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type2_mac_mobility

Spirent Extension (for Spirent HLTAPI only).

Determines whether to advertise the MAC Mobility extended community attribute in MAC/IP advertisement routes. Possible values are true and false. When set to true, Spirent HLTAPI will advertise the MAC Mobility extended community attribute in MAC/IP advertisement routes. The default value is false.

-evpn_type2_mac_addr_start

Spirent Extension (for Spirent HLTAPI only).

Specifies the first MAC address in the route block. The default value is 00:00:00:00:00:01.

-evpn_type2_mac_addr_network_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of networks to create. The value must be an integer. The default value is 1.

-evpn_type2_mac_addr_prefix_length

Spirent Extension (for Spirent HLTAPI only).

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

-evpn_type2_mac_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the MAC addresses in the route block. The value must be an integer. The default value is 1.

-evpn_type2_mac_addr_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the MAC address offset. Possible values range from 0 to 5. The default value is 0.

-evpn_type2_is_mpls_label_2

Spirent Extension (for Spirent HLTAPI only).

Specifies whether the optional MPLS Label2 value is carried in the MAC/IP advertisement route NLRI. Possible values are true and false. When set to true, the MPLS Label2 value is carried in the MAC/IP advertisement route NLRI. The default value is false.

-evpn_type2_is_static

Spirent Extension (for Spirent HLTAPI only).

Determines whether to remove MAC addresses for the MAC/IP advertisement route. Possible values are:When set to true, MAC addresses will be removed. The default value is false.

-evpn_type2_route_label_assgn_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the route label assignment mode for routes in this route block. Possible values are:

FIXED           The route label remains unchanged for all routes
INCREMENTAL     The route label increments by the step
                specified by -evpn_type2_route_dist_step

The default value is FIXED.

-evpn_type2_router_mac_ext

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to advertise Router’s MAC extended community attribute in MAC/IP advertisement routes. Possible values are true and false. When set to true, Spirent HLTAPI will advertise the Router’s MAC extended community attribute in MAC/IP advertisement routes. The default value is false.

-evpn_type2_seq_num

Spirent Extension (for Spirent HLTAPI only).

Specifies the sequence number carried in the MAC Mobility Extended Community attribute. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type2_src_mac

Spirent Extension (for Spirent HLTAPI only).

Specifies the 6-octet Router’s MAC value carried in the Router’s MAC extended community. The default value is 00:00:00:00:00:00.

Use the following group of arguments to configure EVPN Inclusive Multicast Ethernet Tag route s. You must set -route_type to evpn_type3.

-evpn_type3_agg_as

Spirent Extension (for Spirent HLTAPI only).

Specifies the AS number to use for the AGGREGATOR attribute in string format. The default value is “” (empty string).

-evpn_type3_agg_ip

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address to use for the AGGREGATOR attribute

-evpn_type3_as_path

Spirent Extension (for Spirent HLTAPI only).

Identifies the list of AS numbers through which the UPDATE message has passed. The default value is 1.

-evpn_type3_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the AS path of each route within a route block. The default value is 1.

-evpn_type3_as_path_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of AS paths per route block. The default value is 1.

-evpn_type3_as_path_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path. The available option is SEQUENCE:

SEQUENCE    An ordered set of ASs that a route
            in the UPDATE message has traversed

The default value is SEQUENCE.

-evpn_type3_atomic_agg_present

Spirent Extension (for Spirent HLTAPI only).

Indicates whether to include the ATOMIC_AGGREGATE attribute in BGP UPDATE messages. When set to true, the receiving BGP speaker cannot de-aggregate the prefix into more specific routes. Possible values are:The default value is false.

-evpn_type3_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

A list of route reflectors that a prefix has passed through. The value must be in IPv4 format. The default value is 0.0.0.0.

-evpn_type3_community

Spirent Extension (for Spirent HLTAPI only).

A list of BGP communities in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 1:1.

-evpn_type3_data_plane_encap

Spirent Extension (for Spirent HLTAPI only).

Specifies the data plane encapsulation type. Possible values are MPLS, NONE, and VXLAN. The default value is NONE.

-evpn_type3_encap_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the encapsulation label. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type3_encap_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value of encapsulation labels (VNI/VSID) for each successive VRF within a route block. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type3_ethernet_seg_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the value of the Ethernet segment identifier, in string format. The default value is 0.

-evpn_type3_ethernet_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet segment identifier type. 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.

-evpn_type3_ethernet_tag_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet Tag ID. The default value is 0.

-evpn_type3_evi_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of EVPN instances. The default value is 1.

-evpn_type3_ext_com

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community attribute, in string format. The default value is “” (empty string).

-evpn_type3_ext_com_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for extended communities. The default value is “” (empty string).

-evpn_type3_ext_com_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of extended communities per block count. The default value is 1.

-evpn_type3_local_pref

Spirent Extension (for Spirent HLTAPI only).

Identifies the preference for a route to other BGP speakers in the same AS. Possible values range from 0 to 4294967295. The default value is 10.

-evpn_type3_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which a route block varies the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type3_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type3_med_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type3_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that will be used as the next hop

-evpn_type3_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the origin of the path information. This attribute is generated by the AS that originated the route(s) in the update message. Possible values are:

IGP             Prefix learned from an IGP. The Network Layer
                Reachability Information is interior to the
                originating AS.

EGP             Prefix learned through the EGP protocol. The
                Network Layer Reachability Information was
                learned through EGP.

Incomplete      Static. Prefix was learned through a protocol
                other than EGP or IGP.

The default value is IGP.

-evpn_type3_originator_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the router ID of the originator for the route in the local AS. The value must be in IPv4 format.

-evpn_type3_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category. Possible values are:

Undefined       The default category assigned to a
                 manually created block

Primary         A preferred route that has duplicates
                (secondary routes) advertised by other ports

Secondary      A less preferred backup route

Unique          Indicates that a single port in the test
                configuration advertises this route

The default value is UNDEFINED

-evpn_type3_route_dist

Spirent Extension (for Spirent HLTAPI only).

Specifies the RD in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 192.0.0.1:1.

-evpn_type3_route_dist_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RD attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type3_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the RT value for the extended community path. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-evpn_type3_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

Use the following group of arguments to configure EVPN Ethernet Segment routes. You must set -route_type to evpn_type4.

-evpn_type4_agg_as

Spirent Extension (for Spirent HLTAPI only).

Specifies the AS number to use for the AGGREGATOR attribute in string format. The default value is “” (empty string).

-evpn_type4_agg_ip

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address to use for the AGGREGATOR attribute

-evpn_type4_as_path

Spirent Extension (for Spirent HLTAPI only).

Identifies the list of AS numbers through which the UPDATE message has passed. The default value is 1.

-evpn_type4_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the AS path of each route within a route block. The default value is 1.

-evpn_type4_as_path_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of AS paths per route block. The default value is 1.

-evpn_type4_as_path_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path. The available option is SEQUENCE:

SEQUENCE    An ordered set of ASs that a route in the
            UPDATE message has traversed

The default value is SEQUENCE.

-evpn_type4_atomic_agg_present

Spirent Extension (for Spirent HLTAPI only).

Indicates whether to include the ATOMIC_AGGREGATE attribute in BGP UPDATE messages. When set to true, the receiving BGP speaker cannot de-aggregate the prefix into more specific routes. Possible values are:The default value is false.

-evpn_type4_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

A list of route reflectors that a prefix has passed through. The value must be in IPv4 format. The default value is 0.0.0.0.

-evpn_type4_community

Spirent Extension (for Spirent HLTAPI only).

A list of BGP communities in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 1:1.

-evpn_type4_data_plane_encap

Spirent Extension (for Spirent HLTAPI only).

Specifies the data plane encapsulation type. Possible values are MPLS, NONE, and VXLAN. The default value is NONE.

-evpn_type4_es_import_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the ES-Import value in the ES-Import Route Target extended community carried with the Ethernet Segment route. The value must be in MAC format. The default value is 00:00:00:00:00:00.

-evpn_type4_ethernet_seg_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the value of the Ethernet segment identifier, in string format. The default value is 0.

-evpn_type4_ethernet_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet segment identifier type. 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.

-evpn_type4_ethernet_tag_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet Tag ID. The default value is 0.

-evpn_type4_evi_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of EVPN instances. The default value is 1.

-evpn_type4_ext_com

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community attribute, in string format. The default value is “” (empty string).

-evpn_type4_ext_com_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for extended communities. The default value is “” (empty string).

-evpn_type4_ext_com_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of extended communities per block count. The default value is 1.

-evpn_type4_local_pref

Spirent Extension (for Spirent HLTAPI only).

Identifies the preference for a route to other BGP speakers in same AS. Possible values range from 0 to 4294967295. The default value is 10.

-evpn_type4_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which a route block varies the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type4_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the MED value. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type4_med_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type4_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that will be used as the next hop

-evpn_type4_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the origin of the path information. This attribute is generated by the AS that originated the route(s) in the update message. Possible values are:

IGP             Prefix learned from an IGP. The Network Layer
                Reachability Information is interior to the
                originating AS.

EGP             Prefix learned through the EGP protocol. The
                Network Layer Reachability Information was
                learned through EGP.

Incomplete      Static. Prefix was learned through a protocol
                other than EGP or IGP.

The default value is IGP.

-evpn_type4_originator_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the router ID of the originator for the route in the local AS. The value must be in IPv4 format.

-evpn_type4_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category. Possible values are:

Undefined       The default category assigned to a
                 manually created block

Primary         A preferred route that has duplicates
                (secondary routes) advertised by other ports

Secondary       A less preferred backup route

Unique          Indicates that a single port in the test
                configuration advertises this route

The default value is UNDEFINED.

-evpn_type4_route_dist

Spirent Extension (for Spirent HLTAPI only).

Specifies the RD in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 192.0.0.1:1.

-evpn_type4_route_dist_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RD attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type4_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the RT value for the extended community path. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-evpn_type4_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

Use the following group of arguments to configure EVPN IP Prefix routes. You must set -route_type to evpn_type5.

-evpn_type5_agg_as

Spirent Extension (for Spirent HLTAPI only).

Specifies the AS number to use for the AGGREGATOR attribute in string format. The default value is “” (empty string).

-evpn_type5_agg_ip

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address to use for the AGGREGATOR attribute

-evpn_type5_as_path

Spirent Extension (for Spirent HLTAPI only).

Identifies the list of AS numbers through which the UPDATE message has passed. The default value is 1.

-evpn_type5_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to modify the AS path of each route within a route block. The default value is 1

-evpn_type5_as_path_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of AS paths per route block. The default value is 1.

-evpn_type5_as_path_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path. The available option is SEQUENCE:

SEQUENCE  An ordered set of ASs that a route in the UPDATE
           message has traversed

The default value is SEQUENCE.

-evpn_type5_atomic_agg_present

Spirent Extension (for Spirent HLTAPI only).

Indicates whether to include the ATOMIC_AGGREGATE attribute in BGP UPDATE messages. When set to true, the receiving BGP speaker cannot de-aggregate the prefix into more specific routes. Possible values are:The default value is false.

-evpn_type5_associated_ip_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP prefix type. Possible values are ipv4 and ipv6. The default value is ipv4.

-evpn_type5_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

A list of route reflectors that a prefix has passed through. The value must be in IPv4 format. The default value is 0.0.0.0.

-evpn_type5_community

Spirent Extension (for Spirent HLTAPI only).

A list of BGP communities in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 1:1.

-evpn_type5_data_plane_encap

Spirent Extension (for Spirent HLTAPI only).

Specifies the data plane encapsulation type. Possible values are MPLS, NONE, and VXLAN. The default value is NONE.

-evpn_type5_encap_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the encapsulation label. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type5_encap_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value of encapsulation labels (VNI/VSID) for each successive VRF within a route block. Possible values range from 0 to 16777215. The default value is 0.

-evpn_type5_ethernet_seg_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the value of the Ethernet segment identifier, in string format. The default value is 0.

-evpn_type5_ethernet_seg_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet segment identifier type. 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.

-evpn_type5_ethernet_tag_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the Ethernet Tag ID. The default value is 0.

-evpn_type5_evi_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of EVPN instances. The default value is 1.

-evpn_type5_ext_com

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community attribute, in string format. The default value is “” (empty string).

-evpn_type5_ext_com_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for extended communities. The default value is “” (empty string).

-evpn_type5_ext_com_per_blk_cnt

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of extended communities per block count. The default value is 1.

-evpn_type5_gw_ipv4_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the gateway IPv4 address for IP Prefixes. The default value is 192.0.1.1.

-evpn_type5_gw_ipv6_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the gateway IPv6 address for IP Prefixes. The default value is 2000::1.

-evpn_type5_include_router_mac

Spirent Extension (for Spirent HLTAPI only).

Determines whether to advertise the Router’s MAC extended community attribute in MAC/IP advertisement routes. Possible values are true and false. When set to true, Spirent HLTAPI will advertise the Router’s MAC extended community attribute in MAC/IP advertisement routes. The default value is false.

-evpn_type5_local_pref

Spirent Extension (for Spirent HLTAPI only).

Identifies the preference for a route to other BGP speakers in same AS. Possible values range from 0 to 4294967295. The default value is 10.

-evpn_type5_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which a route block varies the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type5_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the MED value. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type5_med_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the MED. Possible values range from 0 to 4294967295. The default value is 0.

-evpn_type5_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that will be used as the next hop

-evpn_type5_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the origin of the path information. This attribute is generated by the AS that originated the route(s) in the update message. Possible values are:

IGP             Prefix learned from an IGP. The Network Layer
                Reachability Information is interior to the
                originating AS.

EGP             Prefix learned through the EGP protocol. The
                Network Layer Reachability Information was
                learned through EGP.

Incomplete      Static. Prefix was learned through a protocol
                other than EGP or IGP.

The default value is IGP.

-evpn_type5_originator_id

Spirent Extension (for Spirent HLTAPI only).

Router ID of the originator for the route in the local AS. The value must be in IPv4 format.

-evpn_type5_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category. Possible values are:

Undefined       The default category assigned to a
                 manually created block

Primary         A preferred route that has duplicates
                (secondary routes) advertised by other ports

Secondary      A less preferred backup route

Unique          Indicates that a single port in the test
                configuration advertises this route

The default value is UNDEFINED.

-evpn_type5_route_dist

Spirent Extension (for Spirent HLTAPI only).

Specifies the RD in string format. The value must be in the format of AS:Number or IPv4:Number. The default value is 192.0.0.1:1.

-evpn_type5_route_dist_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RD attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type5_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the RT value for the extended community path. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-evpn_type5_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-evpn_type5_src_mac

Spirent Extension (for Spirent HLTAPI only).

Specifies the 6-octet Router’s MAC value carried in the Router’s MAC extended community. The default value is 00:00:00:00:00:00.

The following group of arguments (prefixed with -fs_**) configure BGP Flow Specificication (FlowSpec) routes. You must set -route_type to flow_spec.

-fs_as_num

Spirent Extension (for Spirent HLTAPI only).

Specifies the Autonomous System (AS) number for the FlowSpec route. Possible values range from 0 to 65535. The default value is 1.

-fs_as_path

Spirent Extension (for Spirent HLTAPI only).

List of AS numbers, in string format, that will be used in the AS_PATH attribute (type code 2) in BGP UPDATE messages. This list identifies the autonomous systems through which the routing information carried in the UPDATE message has passed.

-fs_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment in string to modify the AS PATH of each route within a route block. The default value is 1.

-fs_as_path_per_block_count

Spirent Extension (for Spirent HLTAPI only).

Number of AS paths per route block. The default value is 1.

-fs_as_path_segment_type

Spirent Extension (for Spirent HLTAPI only).

Path segment type for the AS path. Possible values are:

set             An unordered set of ASs that a route in the UPDATE
                message has traversed

sequence        An ordered set of ASs that a route in the UPDATE
                message has traversed

confed_seq      An ordered set of member AS numbers in the local
                confederation that the UPDATE message has traversed

confed_set      An unordered set of member AS numbers in the
                local confederation that the UPDATE message has
                traversed

The default value is sequence.

-fs_cluster_id_list

Spirent Extension (for Spirent HLTAPI only).

Identifies the route reflectors a prefix has passed through. You can specify up to four comma separated cluster IDs in the form of IPv4 addresses. The default value is 0.0.0.0.

-fs_component_types

Spirent Extension (for Spirent HLTAPI only).

Specifies the set of component types to be enabled for the FlowSpec’s Network Layer Reachability Information (NLRI) type. Possible values are:

type1_destination_prefix           Destination Prefix
type2_source_prefix                Source Prefix
type4_port                         Port
type5_destination_port             Destination Port
type6_source_port                  Source Port
type10_packet_length               Packet Length
type11_dscp_value                  Description Value

The default value is type1_destination_prefix.

-fs_copy_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to redirect the original packets or the mirrored packets. Possible values are true (mirrored packets) and false (original packets). The default value is false.

-fs_dscp

Spirent Extension (for Spirent HLTAPI only).

The DiffServ Code Point (DSCP) value to mark the traffic. Possible values range from 0x00 to 0x3f. The default value is 0x00.

-fs_redirect_enable

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Redirect extended community for the traffic filtering action. Possible values are true (enable) and false (disable). The default value is false.

-fs_redirect_to_ipnexthop_enable

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Redirect IP Nexthop extended community for the traffic filtering action. Possible values are true (enable) and false (disable). The default value is false.

-fs_enable_traffic_action

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Traffic Action extended community for the traffic filtering action. Possible values are true (enable) and false (disable). The default value is false.

-fs_enable_traffic_marking

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Traffic Marking extended community for the traffic filtering action. Possible values are true (enable) and false (disable). The default value is false.

-fs_enable_traffic_rate

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Traffic Rate extended community for the traffic filtering action. Possible values are true (enable) and false (disable). The default value is false.

-fs_extended_community

Spirent Extension (for Spirent HLTAPI only).

Specifies BGP flowspec extended community attributes, in string format.

-fs_local_pref

Spirent Extension (for Spirent HLTAPI only).

Specifies the local BGP speaker’s degree of preference for a route. A higher number means more preference. Possible values range from 0 to 4294967295. The default value is 0.

-fs_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Modifier to allow a route block to vary the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-fs_local_pref_incr_per_router

Spirent Extension (for Spirent HLTAPI only).

Increment for subsequent local preference values of routers within the same router block. Possible values range from 0 to 4294967295. The default value is 0.

-fs_med

Spirent Extension (for Spirent HLTAPI only).

Specifies the Multi-Exit Discriminator (MED), which is used by a BGP speaker’s decision process to discriminate among multiple exit points to a neighboring AS. Possible values range from 0 to 4294967295. The default value is 0.

-fs_med_incr

Spirent Extension (for Spirent HLTAPI only).

Modifier to allow a route block to vary the MED. Possible values range from 0 to 4294967295. The default value is 0.

-fs_med_incr_per_router

Spirent Extension (for Spirent HLTAPI only).

Increment for subsequent MEDs of routers within the same router block. Possible values range from 0 to 4294967295. The default value is 0.

-fs_nexthop

Spirent Extension (for Spirent HLTAPI only).

Specifies the next hop’S IP address to redirect the traffic. The default value is 192.0.1.0.

-fs_origin

Spirent Extension (for Spirent HLTAPI only).

Determines how a prefix came to be routed by BGP. Possible values are described below:

igp         Prefix learned from an IGP. The Network
            Layer Reachability Information (NLRI) is
            interior to the originating AS.

egp         Prefix learned through the EGP protocol. The NLRI
            was learned through EGP

incomplete    Static. Prefix was learned through a protocol other
            than EGP or IGP

The default value is incomplete.

-fs_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Target (RT) extended community attribute for BGP FlowSpec. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-fs_sample_bit

Spirent Extension (for Spirent HLTAPI only).

Enables/disables traffic sampling and logging for this flow specification. Possible values are true (enable) and false (disable). The default value is true.

-fs_sub_afi

Spirent Extension (for Spirent HLTAPI only).

Specifies the Subsequent Address Family Identifier (SubAFI). Possible values are:

flow_spec              FlowSpec
flow_spec_vpn          FlowSpec VPN

The default value is flow_spec.

-fs_terminate_bit

Spirent Extension (for Spirent HLTAPI only).

Enables/disables the Terminal Action bit for the traffic-action extended community. Possible values are true (enable) and false (disable). The default value is true.

-fs_traffic_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the traffic rate in bytes per second. Possible values range from 0 to 4294967295. The default value is 0.

-fs_route_distinguisher

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Distinguisher (RD) in string format. A route distinguisher is an 8-byte value that is concatenated with an IPv4 prefix to create a unique VPN IPv4 prefix. The value must be in the format of AS:Number or IPv4:Number. The default value is 100:1.

-fs_route_distinguisher_step

Spirent Extension (for Spirent HLTAPI only).

Increment value for subsequent RDs. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-fs_route_origin

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Origin extended community attribute. The value must be in the format of AS:Number or IPv4:Number.

-fs_route_target_vpn

Spirent Extension (for Spirent HLTAPI only).

Specifies the RT extended community attribute for BGP FlowSpec VPN. The value must be in the format of AS: Number or IPv4:Number. The default value is 100:1.

-fs_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Increment value for subsequent RTs. The default value is 0:1.

-fs_vrf_count

Spirent Extension (for Spirent HLTAPI only).

Number of unique Virtual Routing and Forwarding instances (VRFs) to create within a route bock. The default value is 1.

-fs_type1_start_ip

Spirent Extension (for Spirent HLTAPI only).

Starting IPv4 address of the prefix for FlowSpec component type 1 (Destination Prefix). The default value is 192.0.1.0.

-fs_type1_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Increment value for subsequent IPv4 addresses of prefix addresses. Possible values range from 0 to 4294967295. The default value is 1.

-fs_type1_collection_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the prefix collection type for FlowSpec component type 1. Possible values are:

increment                Initial address
list                    Comma separated list

The default value is increment.

-fs_type1_ip_list

Spirent Extension (for Spirent HLTAPI only).

List of IPv4 prefixes for FlowSpec component type 1. The default value is 192.0.1.0.

-fs_type1_prefix_count

Spirent Extension (for Spirent HLTAPI only).

Number of prefixes to be configured for FlowSpec component type 1. Possible values range from 1 to 4294967295. The default value is 1.

-fs_type1_prefix_length

Spirent Extension (for Spirent HLTAPI only).

Length of the IPv4 prefix for FlowSpec component type 1. Possible values range from 0 to 32. The default value is 1.

-fs_type2_start_ip

Spirent Extension (for Spirent HLTAPI only).

Starting IPv4 address of the prefix for FlowSpec component type 2 (Source Prefix). The default value is 192.0.1.0.

-fs_type2_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Increment value for subsequent IPv4 addresses of prefix addresses. Possible values range from 0 to 4294967295. The default value is 1.

-fs_type2_collection_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the prefix collection type for FlowSpec component type 2. Possible values are:

increment              Initial address
list                  Comma separated list

The default value is increment.

-fs_type2_ip_list

Spirent Extension (for Spirent HLTAPI only).

List of IPv4 prefixes for FlowSpec component type 2. The default value is 192.0.1.0.

-fs_type2_prefix_count

Spirent Extension (for Spirent HLTAPI only).

Number of prefixes to be configured for FlowSpec component type 2. Possible values range from 1 to 4294967295. The default value is 1.

-fs_type2_prefix_length

Spirent Extension (for Spirent HLTAPI only).

Length of the IPv4 prefix for FlowSpec component type 2. Possible values range from 0 to 32. The default value is 1.

-fs_type4_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 4 (Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type4_count

Spirent Extension (for Spirent HLTAPI only).

Number of values that will be provided for the particular operator value pair of FlowSpec component type 4. Possible values range from 1 to 10. The default value is 1.

-fs_type4_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type4_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type4_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true      Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type4_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 4 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for subsequent type 4 values. You must set -fs_type4_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of type 4 values. You must set -fs_type4_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the value type for FlowSpec component type 4. Possible values are:

increment               Value is of increment type
list                    Value is a comma separated list of numbers

The default value is increment.

-fs_type5_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 5 (Destination Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type5_count

Spirent Extension (for Spirent HLTAPI only).

Number of values that will be provided for the particular operator value pair of FlowSpec component type 5. Possible values range from 1 to 10. The default value is 1.

-fs_type5_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type5_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type5_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type5_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 5 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for subsequent type 5 values. You must set -fs_type5_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of type 5 values. You must set -fs_type5_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the value type for FlowSpec component type 5. Possible values are:

increment              Value is of increment type
list                   Value is a comma separated list of numbers

The default value is increment.

-fs_type6_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 6 (Source Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type6_count

Spirent Extension (for Spirent HLTAPI only).

Number of values that will be provided for the particular operator value pair of FlowSpec component type 6. Possible values range from 1 to 10. The default value is 1.

-fs_type6_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type6_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type6_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type6_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 6 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for subsequent type 6 values. You must set -fs_type6_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of type 6 values. You must set -fs_type6_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the value type for FlowSpec component type 6. Possible values are:

increment              Value is of increment type
list                   Value is a comma separated list of numbers

The default value is increment.

-fs_type10_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 10 (Packet Length). Possible values are true (AND) and false (OR). The default value is false.

-fs_type10_count

Spirent Extension (for Spirent HLTAPI only).

Number of values that will be provided for the particular operator value pair of FlowSpec component type 10. Possible values range from 1 to 10. The default value is 1.

-fs_type10_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type10_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type10_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type10_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 10 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_inc

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for subsequent type 10 values. You must set -fs_type10_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of type 10 values. You must set

-fs_type10_value_type

Spirent Extension (for Spirent HLTAPI only).

Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the value type for FlowSpec component type 10. Possible values are:

increment             Value is of increment type
list                   Value is a comma separated list of numbers

The default value is increment.

-fs_type11_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 11 (Description Value). Possible values are true (AND) and false (OR). The default value is false.

-fs_type11_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type11_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type11_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type11_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 11 value for BGP FlowSpec. Possible values range from 0 to 63. The default value is 1.

-fs_type3_and_bit

Spirent Extension (for Spirent HLTAPI only).

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 3 (Destination Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type3_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of values that will be provided for the particular operator value pair of FlowSpec component type 3. Possible values range from 1 to 10. The default value is 1.

-fs_type3_equality_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 3. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type3_greater_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 3. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type3_less_than_bit

Spirent Extension (for Spirent HLTAPI only).

Specifies the relation between type and value for FlowSpec component type 3. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type3_value

Spirent Extension (for Spirent HLTAPI only).

Specifies type 3 value for BGP FlowSpec. Possible values range from 0 to 255. The default value is 1.

-fs_type3_value_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for subsequent type 3 values. You must set -fs_type3_value_type to increment. Possible values range from 0 to 255. The default value is 1.

-fs_type3_value_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of type 3 values. You must set -fs_type3_value_type to list. The default value is 1.

-fs_type3_value_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the value type for FlowSpec component type 3. Possible values are:

increment              Value is of increment type
list                   Value is a comma separated list of numbers

The default value is increment.

-handle

Identifies the router for which to add or remove routes. This argument is Mandatory when -mode is set to “add”.

-ip_version

Specify the IP version of the BGP route to be created. Valid Possible values are 4 (for IPv4 address format) and 6 (for IPv6 address format). The default is 4.

-route_sub_afi

Spirent Extension (for Spirent HLTAPI only).

Specifies the Sub AFI. It is suggested you use this argument or *_nlri arguments to configure Sub AFIs, but not both. Possible values are unicast, multicast, unicast_and_multicast, labeled_ip, mdt, and vpn. The default value is unicast.

-custom_mpls_label

Spirent Extension (for Spirent HLTAPI only).

Enables or disables customized MPLS labels. This argument is available when -route_sub_afi is set to labeled_ip. Possible values are true and false. The default value is false.

-mpls_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the starting customized MPLS label. This argument is available when -custom_mpls_label is set to true. Possible values range from 0 to 1048575. The default value is 1.

-mpls_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value by which to create subsequent customized MPLS labels. Possible values range from 0 to 1048575. The default value is 1.

-ipv4_mpls_nlri

Enables or disables the retrieval of routes for IPv4 MPLS. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv4_mpls_vpn_nlri

Enables or disables the retrieval of routes for IPv4 MPLS VPNs. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv4_multicast_nlri

Enables or disables the retrieval of routes for IPv4 multicast. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv4_unicast_nlri

Enables or disables the retrieval of routes for IPv4 unicast. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv6_mpls_nlri

Enables or disables the retrieval of routes for IPv6 MPLS. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv6_mpls_vpn_nlri

Enables or disables the retrieval of routes for IPv6 MPLS VPNs. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv6_multicast_nlri

Enables or disables the retrieval of routes for IPv6 multicast. Possible values are 1 (enable) and 0 (disable). The default is 0.

-ipv6_prefix_length

Specifies the IPv6 mask for the IPv6 routes advertised. Possible values range from 1 to 128. The default is 64.

-ipv6_unicast_nlri

Enables or disables the retrieval of routes for IPv6 unicast. Possible values are 1 (enable) and 0 (disable). The default is 0.

-label_incr_mode

Specifies the method in which the MPLS label of an IPv4 MPLS-VPN route is incremented. Currently, Spirent HLTAPI only supports fixed and prefix mode. The modes are described below:

fixed - Fixed MPLS label for all route distinguishers (RDs)
prefix - Increment label per prefix advertised.

The default is fixed.

-local_pref

Defines the preferred exit point from the local autonomous system (AS) for a specific route. A BGP speaker uses this argument to inform other BGP speakers in its own AS of the originating speaker’s degree of preference for an advertised route. Possible values range from 0 to 4294927695. The default is 10.

The following group of arguments (prefixed with -ls_**) configure BGP Link State (LS) routes. You must set -route_type to link_state.

-ls_as_path

Spirent Extension (for Spirent HLTAPI only).

The list of Autonomous Systems (AS) numbers, in string format. This list identifies the AS through which routing information, carried in the UPDATE message, has passed. The default value is 1.

-ls_as_path_segment_type

Spirent Extension (for Spirent HLTAPI only).

The segment type. It is a part of the Mandatory AS_PATH attribute used when a BGP speaker advertises a route to a BGP speaker located in a neighboring AS. The AS_SET attribute supports aggregation of routes with different AS paths. The available type is sequence. The default value is sequence.

-ls_community

Spirent Extension (for Spirent HLTAPI only).

Specifies the BGP Link State (LS) community. A community is a group of destinations that share a common set of attributes or characteristics. Possible values are described below:

Value                      Description

AS:VAL                      Build a list of communities, in the
                            format  of AS:VAL, where, AS: 1-65535;
                            VAL: 1-65535
NO_EXPORT (0xFFFFFF01)      Distribute routes with this community
                            tag within the confederation or AS,
                            but no farther
NO_ADVERTISE (0xFFFFFF02)    Do not advertise these routes to other
                            BGP peers
LOCAL_AS (0xFFFFFF03)       Do not distribute routes with this
                            community tag to external BGP peers

The default value is 1:1.

-ls_enable_node

Spirent Extension (for Spirent HLTAPI only).

Enables/disables BGP LS node. Possible values are true (enable) and false (disable). The default value is true.

-ls_extended_community

Spirent Extension (for Spirent HLTAPI only).

Specifies BGP extended community attributes, in string format

-ls_identifier

Spirent Extension (for Spirent HLTAPI only).

Specifies the 64-Bit identifier field used to identify the routing realm, where the Network Layer Reachability Information (NLRI) belongs. The value must be an integer. The default value is 0.

-ls_identifiertype

Spirent Extension (for Spirent HLTAPI only).

Type of the LS identifiers. Possible values are:

customized      Customized identifiers

l1_optical      Layer 1 optical identifiers

l3_packet       Layer 3 packet identifiers

The default value is customized.

-ls_local_preference

Spirent Extension (for Spirent HLTAPI only).

Specifies the local BGP speaker’s degree of preference for an external route. A higher number means more preference. This attribute facilitates selection of routes for the BGP routing table. The value must be an integer. The default value is 10.

-ls_next_hop

Spirent Extension (for Spirent HLTAPI only).

The next hop’s IPv4 address. The next hop is the node to which packets should be sent to get them closer to the destination. The default is the router’s IP address. You must set -ls_next_hop_type to ipv4.

-ls_next_hop_global

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 global address of the next hop. You must set -ls_next_hop_type to ipv6.

Spirent Extension (for Spirent HLTAPI only).

Specifies the link-local IPv6 address of the next hop (emulated router). You must set -ls_next_hop_type to ipv6.

-ls_next_hop_type

Spirent Extension (for Spirent HLTAPI only).

Address type of the next hop. Possible values are ipv4 and ipv6. The default value is ipv4.

-ls_origin

Spirent Extension (for Spirent HLTAPI only).

Describes how a prefix is routed by BGP. It defines the origin of the path information. This attribute is generated by the AS that originated the routes in the UPDATE message. Possible values are:

IGP                 Prefix learned from an IGP
EGP                 Prefix learned through the EGP protocol
Incomplete          Static. Prefix was learned through a
                    protocol other than EGP or IGP

The default value is IGP.

-ls_protocol_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the protocol ID field. Possible values are:

isis_level1   NLRI information sourced by IS-IS Level 1
isis_level2   NLRI information sourced by IS-IS Level 2
ospf_v2     NLRI information sourced by OSPF
direct      NLRI information sourced by the local interface state
static      NLRI information sourced by static configuration

The default value is direct.

-ls_node_desc_flag

Spirent Extension (for Spirent HLTAPI only).

Specifies the flags to be used to disambiguate router IDs. Possible values are described below:

as_number       Autonomous System (AS) number
bgp_ls_id       BGP LS identifier
igp_router_id   IGP router ID
ospf_area_id    OSPF area ID

The default value is igp_router_id.

-ls_node_desc_as_num

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit AS number. This argument is available when as_number is specified in -ls_node_desc_flag. The value must be an integer. The default value is 0.

-ls_node_desc_bgp_ls_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit BGP LS ID. This number, in conjunction with the AS number, uniquely identifies the BGP-LS domain. The combination of AS number and BGP LS ID must be globally unique. This argument is available when bgp_ls_id is specified in -ls_node_desc_flag. The value must be an integer. The default value is 0.

-ls_node_desc_ospf_area_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit ID of the area to which the NLRI belongs. Area ID allows different NLRIs of the same router to be discriminated. This argument is available when ospf_area_id is specified in -ls_node_desc_flag. The value must be an integer. The default value is 0.

-ls_node_desc_igp_router_id_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the IGP router ID type. Possible values are described below:

isis_non_pseudo_node    6-octet ISO node ID (ISO system ID)
isis_pseudo_node        6-octet ISO node ID of the Designated
                        Intermediate System (DIS)
ospf_non_pseudo_node    4-octet router ID
ospf_pseudo_node        4-octet router ID of the designated
                        router (DR), followed by the 4-octet IPv4
                        address of the DR's interface to the LAN
                        (8 octets in total)

This argument is available when igp_router_id is specified in -ls_node_desc_flag. The default value is ospf_non_pseudo_node.

-ls_node_desc_igp_router_id

Spirent Extension (for Spirent HLTAPI only).

IGP router ID value, corresponding to the IGP router ID type specified by -ls_node_desc_igp_router_id_type. This argument is available when igp_router_id is specified in -ls_node_desc_flag.

-ls_node_attr_flag

Spirent Extension (for Spirent HLTAPI only).

Specifies BGP LS Node flags. Possible values are isis_area_id, local_ipv4_router_id, node_name, sr_algorithms, and sr_caps. Use “|” to specify multiple flags. For example, isis_area_id|local_ipv4_router_id.

-ls_node_attr_isis_area_id

Spirent Extension (for Spirent HLTAPI only).

ISIS area ID. This argument is available when isis_area_id is specified in -ls_node_attr_flag. The value must be an integer. The default value is 0.

-ls_node_attr_local_ipv4_router_id_list

Spirent Extension (for Spirent HLTAPI only).

List of local IPv4 router IDs. This argument is available when local_ipv4_router_id is specified in -ls_node_attr_flag. The value must be in IPv4 format. The default value is 192.0.1.0.

-ls_node_attr_local_ipv6_router_id_list

Spirent Extension (for Spirent HLTAPI only).

List of local IPv6 router IDs. The value must be in IPv6 format. The default value is 3000::1.

-ls_node_attr_node_name

Spirent Extension (for Spirent HLTAPI only).

Node name in string format. This argument is available when node_name is specified in -ls_node_attr_flag.

-ls_node_attr_sr_algorithms

Spirent Extension (for Spirent HLTAPI only).

Segment Routing (SR) algorithms, in string format. This argument is available when sr_algorithms is specified in -ls_node_attr_flag. The default value is link_metric_based_spf.

-ls_node_attr_sr_value_type

Spirent Extension (for Spirent HLTAPI only).

Type of segment identifier. This argument is available when -ls_node_attr_flag is set to sr_caps. Possible values are:

label   20-bit label
sid     32-bit SID

The default value is label.

-ls_node_attr_sr_capability_flags

Spirent Extension (for Spirent HLTAPI only).

Segment Routing capabilities. Possible values are ipv4 and ipv6. You can specify both at the same time, using “ipv4|ipv6”. This argument is available when sr_caps is specified in -ls_node_attr_flag. The default value is ipv4.

-ls_node_attr_sr_capability_base_list

Spirent Extension (for Spirent HLTAPI only).

List of base values for SR capabilities. This argument is available when sr_caps is specified in -ls_node_attr_flag. The value must be an integer. The default value is 16.

-ls_node_attr_sr_capability_range_list

Spirent Extension (for Spirent HLTAPI only).

List of range values in correspondence to base values. This argument is available when sr_caps is specified in -ls_node_attr_flag. Possible values range from 1 to 16777215. The default value is 100.

Spirent Extension (for Spirent HLTAPI only).

Specifies BGP LS Link attributes. Possible values are igp_metric, link_protection_type, local_ipv4_router_idn, remote_ipv4_router_id, and sr_adj_sid. Use “|” to specify multiple flags. For example, igp_metric|link_protection_type.

IGP Metric TLV type. This argument is available when igp_metric is specified in -ls_node_attr_flag. Possible values are:

isis_small      Metrics with a length of 1 octet (the two most
               significant bits are ignored).
isis_wide       Metrics with a length of 3 octets
ospf            Metrics with a length of 2 octets

The default value is ospf.

Spirent Extension (for Spirent HLTAPI only).

Specifies the metric value for the link. It corresponds to the value of -ls_link_attr_igp_metric_tlv_type. This argument is available when igp_metric is specified in -ls_link_attr_flag. The value must be an integer. The default value is 0.

Spirent Extension (for Spirent HLTAPI only).

Specifies the protection type for the Link Protection Type sub-TLV, which is an extended IS Reachability TLV defined in RFC5305. This argument is available when link_protection_type is specified in -ls_link_attr_flag. The Possible values are dedicate_1_plus_1, dedicated_1_to_1, enhanced, extra_traffic, reserved1, reserved2, shared, and unprotected. The default value is extra_traffic.

Spirent Extension (for Spirent HLTAPI only).

List of local IPv4 router IDs, which are used to describe auxiliary router IDs that the IGP might be using. This argument is available when local_ipv4_router_id is specified in -ls_link_attr_flag. The value must be in IPv4 format. The default value is 192.0.1.0.

Spirent Extension (for Spirent HLTAPI only).

List of local IPv6 router IDs, which are used to describe auxiliary router IDs that the IGP might be using. The value must be in IPv6 format. The default value is 3000::1.

Spirent Extension (for Spirent HLTAPI only).

List of remote IPv4 router IDs that are used to describe auxiliary router IDs the IGP might be using. This argument is available when remote_ipv4_router_id is specified in -ls_link_attr_flag. The value must be in IPv4 format. The default value is 192.0.1.0.

Spirent Extension (for Spirent HLTAPI only).

List of remote IPv6 router IDs that are used to describe auxiliary router IDs the IGP might be using. The value must be in IPv6 format. The default value is 3000::1.

Spirent Extension (for Spirent HLTAPI only).

Specifies the required octet fields for the SR Adj-SID sub-TLV. This argument is available when sr_adj_sid is specified in -ls_link_attr_flag. Possible values are bbit and fbit. Use “|” to specify both flags. The default value is vbit|lbit.

Spirent Extension (for Spirent HLTAPI only).

Segment identifier. This argument is available when sr_adj_sid is specified in -ls_link_attr_flag. Possible values range from 1 to 4294967295. The default value is 1.

Spirent Extension (for Spirent HLTAPI only).

Type of segment identifier. This argument is available when sr_adj_sid is specified in -ls_link_attr_flag. Possible values are:

label   20-bit label
sid     32-bit SID

The default value is label.

Spirent Extension (for Spirent HLTAPI only).

Specifies the weight to be used for load balancing. This argument is available when sr_adj_sid is specified in -ls_link_attr_flag. Possible values range from 1 to 255. The default value is 1.

Spirent Extension (for Spirent HLTAPI only).

Specifies the flags to be used to disambiguate router IDs. Possible values are described below:

as_number      AS number
bgp_ls_id       BGP link state identifier
igp_router_id   IGP router ID
ospf_area_id    OSPF area ID

The default value is igp_router_id.

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 interface address for the BGP LS Link sub TLV

Values: IPv4

Default: 192.0.1.0

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 neighbor address for the BGP LS Link sub TLV

Values: IPv4

Default: 192.0.1.0

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 interface address for the BGP LS Link sub TLV

Values: IPv6

Default: 2000::1

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 neighbor address for the BGP LS Link sub TLV

Values: IPv6

Default: 2000::1

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit AS number. This argument is available when as_number is specified in -ls_link_desc_flag. The value must be an integer. The default value is 0.

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit BGP LS ID. This number, in conjunction with the AS number, uniquely identifies the BGP-LS domain. The combination of AS number and BGP LS ID must be globally unique. This argument is available when bgp_ls_id is specified in -ls_link_desc_flag. The value must be an integer. The default value is 0.

Spirent Extension (for Spirent HLTAPI only).

Specifies the 32-bit ID of the area to which the NLRI belongs. Area ID allows different NLRIs of the same router to be discriminated. This argument is available when ospf_area_id is specified in -ls_link_desc_flag. The value must be an integer. The default value is 0.

Spirent Extension (for Spirent HLTAPI only).

Specifies the IGP router ID type. This argument is available when igp_router_id is specified in -ls_link_desc_flag. Possible values are described below:

isis_non_pseudo_node    6-octet ISO node ID (ISO system ID)
isis_pseudo_node        6-octet ISO node ID of the Designated
                        Intermediate System (DIS)
ospf_non_pseudo_node    4-octet router ID
ospf_pseudo_node        4-octet router ID of the designated router
                        (DR), followed by the 4-octet IPv4 address
                        of the DR's interface to the LAN (8 octets
                        in total)

The default value is ospf_non_pseudo_node.

Spirent Extension (for Spirent HLTAPI only).

Specifies the IGP router ID in string format

Spirent Extension (for Spirent HLTAPI only).

Specifies Traffic Engineering sub-TLVs that carry the information about resources of routed links. Possible values are:

Value                     Description

none                    No sub-TLV

group                   4-octet bit mask assigned by the network
                        administrator. Each bit corresponds to
                        one administrative group assigned to the
                        interface

max_bw                  Maximum bandwidth that can be used on the
                        link from the emulated router

max_rsv_bw              Maximum bandwidth that can be reserved
                        on the link

unreserved              Amount of bandwidth not yet reserved at
                        each of the eight priority levels

local_ip                IP address of the interface corresponding
                        to the current link

remote_ip               IP address of the neighbor's interface
                        corresponding to the current link

default_metric          Default metric

The default is none.

Spirent Extension (for Spirent HLTAPI only).

Specifies the bandwidth’s unit of measurement. Possible values are described below:

Value                    Description

BITS_PER_SEC            Bits per second
BYTES_PER_SEC           Bytes per second
MBYTES_PER_SEC          Megabytes per second

The default value is bytes_per_sec.

Spirent Extension (for Spirent HLTAPI only).

Specifies the default metric to be used in Traffic Engineering. You must set -ls_link_attr_te_sub_tlv_type to default_metric. The value must be an integer. The default value is 0.

Spirent Extension (for Spirent HLTAPI only).

IPv4 address of the interface corresponding to the current link. You must set -ls_link_attr_te_sub_tlv_type to local_ip. The default value is 0.0.0.0.

Spirent Extension (for Spirent HLTAPI only).

IP address of the neighbor’s interface corresponding to the current link. You must set -ls_link_attr_te_sub_tlv_type to remote_ip. The default value is 0.0.0.0.

Spirent Extension (for Spirent HLTAPI only).

4-octet bit mask assigned by the network administrator. Each bit corresponds to one administrative group assigned to the interface. You must set -ls_link_attr_te_sub_tlv_type to -group. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Maximum bandwidth that can be used on the link from the emulated router. You must set -ls_link_attr_te_sub_tlv_type to -max_bw. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Maximum bandwidth that can be reserved on the link from the emulated router. You must set -ls_link_attr_te_sub_tlv_type to -max_rsv_bw. Possible values range from 1 to 4294967295. The default value is 100000.

The following ls_* arguments are only valid when -ls_link_attr_te_sub_tlv_type is set to unreserved.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 0. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 1. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 2. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 3. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 4. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 5. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 6. Possible values range from 1 to 4294967295. The default value is 100000.

Spirent Extension (for Spirent HLTAPI only).

Amount of bandwidth not yet reserved at priority level 7. Possible values range from 1 to 4294967295. The default value is 100000.

-ls_prefix_attr_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies the IGP attributes that will be reflected in the Link State prefix. Possible values are igp_flags, ospf_forward_addr, prefix_metric, and sr_prefix_sid, and 0. Value 0 means no flag is specified. Use “|” to specify multiple flags. The default value is 0.

-ls_prefix_attr_algorithm

Spirent Extension (for Spirent HLTAPI only).

The algorithm to be used to calculate reachability. This argument is available when sr_prefix_sid is specified in -ls_prefix_attr_flags. Possible values range from 0 to 255. The default value is 0.

-ls_prefix_attr_igp_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies the IGP Flags to be included in the TLV . This argument is available when igp_flags is specified in -ls_prefix_attr_flags. Possible values are:

0       No flag specified
DBIT    IS-IS Up/Down bit
LBIT    OSPF Local Address bit
NBIT    OSPF No Unicast bit
PBIT    OSPF Propagate NSSA bit

Use “|” to specify multiple flags. For example, DBIT|LBIT. The default value is 0.

-ls_prefix_attr_ospf_forward_addr_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of OSPF forwarding addresses in the OSPF Forward Address TLV . This argument is available when ospf_forward_addr is specified in -ls_prefix_attr_flags. Possible values are ospfv2 and ospfv3. The default value is ospfv2.

-ls_prefix_attr_ospfv2_forward_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 OSPF forwarding address. This argument is available when ospf_forward_addr is specified in -ls_prefix_attr_flags. The default value is 192.0.1.0.

-ls_prefix_attr_ospfv3_forward_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 OSPF forwarding address. This argument is available when ospf_forward_addr is specified in -ls_prefix_attr_flags. The default value is 2000::1.

-ls_prefix_attr_prefix_metric

Spirent Extension (for Spirent HLTAPI only).

Specifies the metric of the prefix as known in the IGP topology. This argument is available when prefix_metric is specified in -ls_prefix_attr_flags.

-ls_prefix_attr_sr_prefix_sid_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies SR IGP-Prefix-SID flags. This argument is available when sr_prefix_sid is specified in -ls_prefix_attr_flags. Possible values are:

rbit    Re-advertisement flag
nbit    Node-SID flag
pbit    No-PHP flag
0       No flag specified

Use “|” to specify multiple TLVs. For example, rbit|nbit. The default value is 0.

-ls_prefix_attr_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the segment identifier or label. This argument is available when sr_prefix_sid is specified in -ls_prefix_attr_flags. The default value is 0.

-ls_prefix_desc_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies Prefix Descriptor TLVs that uniquely identify an IPv4 or IPv6 Prefix originated by a node. Possible values are:

ospf_rt_type        Enables OSPF route type in Prefix NLRIs.

ip_reach_info      Enables IP Reachability Information that contains
                    one IP address prefix (IPv4 or IPv6)
                    originally advertised in the IGP topology

0                   No TLV specified

Use “|” to specify multiple TLVs. For example, ospf_rt_type|ip_reach_info. The default value is 0.

-ls_prefix_desc_ip_prefix_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of BGP LS prefixes to be advertised. The value must be an integer. The default value is 1.

-ls_prefix_desc_ip_prefix_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the prefix type to be advertised. Possible values are ipv4_prefix and ipv6_prefix. The default value is ipv4_prefix.

-ls_prefix_desc_ipv4_prefix

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 address of the first route to be advertised. The default value is 192.0.1.0.

-ls_prefix_desc_ipv4_prefix_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 mask for the IPv4 routes to be advertised. Possible values range from 1 to 32. The default value is 24.

-ls_prefix_desc_ipv4_prefix_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for the next incremented prefix if -ls_prefix_desc_ip_prefix_count is greater than 1. The default value is 1.

-ls_prefix_desc_ipv6_prefix

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 address of the first route to be advertised. The default value is 2000::1.

-ls_prefix_desc_ipv6_prefix_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 prefix lenth for the IPv6 routes to be advertised. Possible values range from 1 to 128. The default value is 64.

-ls_prefix_desc_ipv6_prefix_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for the next incremented prefix if -ls_prefix_desc_ip_prefix_count is greater than 1. The default value is 1.

-ls_prefix_desc_ospf_route_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of OSPF routes to be configured. This argument is available when ospf_rt_type is specified in -ls_prefix_desc_flags. Possible values are external_1, external_2, inter_area, intra_area, nssa_1, and nssa_2. The default value is inter_area.

-max_route_ranges

Specifies the number of route ranges to create under the emulated router, which is specified in the -handle argument.

-mode

Specifies whether to add or remove routes from the emulated router’s BGP route table. Possible values are:

add - Adds all routes (defined in the function call) to the
      routing table for the specified router. The handles for
      these routes are returned in the handles key (see
      Return Values).

remove - Removes routes from the router specified in the
      -route_handle argument.

withdraw - Withdraws the BGP route from the list of routers at
       route-pool level.
-multi_exit_disc

Specifies the multi-exit discriminator (MED), which indicates the preferred path into an autonomous system (AS) to external neighbors when multiple paths exist. The value of this attribute may be used by a BGP speaker to discriminate among multiple exit points to a neighboring AS. Possible values range from 0 to 4294927695. The default is 0.

-netmask

Specifies the netmask of the advertised routes. Enter a valid IPv4 mask. Use -ipv6_prefix_length for IPv6 addresses. Possible values for IPv4 addresses range from 0.0.0.0 to 255.255.255.255. The default is 255.255.255.0.

-addr_modifier_type_per_device

Specifies how addresses will be allocated in a session router block. Possible values are:

continuous - Addresses are numbered continuously across
             blocks and networks

repeat - Address numbering starts over for each router

The default is continuous

-next_hop

Defines the IP address of the border router to use as the next hop to the destinations listed in the Network Layer Reachability field of the UPDATE message. The default is 192.85.1.3.

-next_hop_increment_per_router

Increment applied on next hop to determine the next hop value for subsequent routers within router block. The default is 0::1

-next_hop_ip_version

The type of IP address that was defined for -next_hop. Possible values are 4 and 6. The default is 4.

-next_hop_set_mode

Indicates how to set the next hop IP address. Possible values are:

same - Sets the value as the local IP address.
manual - Reads the value given in the -next_hop argument.
-local_next_hop

This is the link-local IPv6 address of the next hop (emulated router). 16-byte link-local address, as needed for a 32-byte next hop. Must specify -ip_version is 6, -route_type is ip or vpls

-num_routes

Specifies the number of routes to advertise, using the prefix as the starting prefix and incrementing based on either the -step and -netmask arguments or the -ipv6_prefix_length argument.

-origin

Indicates how BGP learned about a particular route. Possible values are:

igp - The route is internal to the AS
egp - The route is learned via the Exterior Border Gateway
       Protocol (EBGP)
incomplete - The origin of the route is unknown or learned
       by some other means

The default is igp. .. note:: Specifying a path attribute forces the advertised route to be a node route as opposed to a global route).

-originator_id

A four-byte BGP attribute created by the route reflector and carries the router ID of the originator of the route in the local Autonomous System. The default is 0.0.0.0.

-originator_id_enable

Enables or disables the originator ID in the BGP route range. Possible values are 0 and 1. The default is 0.

-packing_to

Defines the maximum number of routes per BGP UPDATE message. Possible values range from 1 to 65535. The default is 2000.

-pe_addr

Indicates the IP address of the PE router. The values must be in IPv4 format. The default value is 192.85.1.3. This argument is available when you specify -route_type vplsad.

-prefix

Specifies the IP address of the first route in the range to be advertised or removed by the emulated BGP router. Specify either the IP address or “all.” Specify “all” to generate all route blocks for all prefixes. You must specify the -mode argument. When you specify IP address list for this argument, step and network count arguments are not applicable.

sth::emulation_bgp_route_config -mode add
-handle $bgp_routerlist1
-ip_version 4
-prefix “192.0.1.0 192.0.2.0”
-prefix_step

Defines the step interval for the next incremented prefix if -num_routes is set to greater than 1. The default is 1.

-start_ip_addr_step_per_device

Specifies the route IP address increment per device if -prefix is set to IP address and -handle is a BGP device list. The example below configures incremented route IPs per device:

sth::emulation_bgp_route_config  -mode add
     -handle      $bgp_routerlist1\
     -ip_version  4\
     -prefix      192.0.1.0 \
     -start_ip_addr_step_per_device  0.0.0.32\
     -netmask   255.255.255.0 \
     -num_routes  1 \
-rd_admin_step

Defines the increment value to step the base route distinguisher administrator field. If -rd_type is set to 0, the value is an integer. If -rd_type is set to 1, the value is in dotted decimal format (for example, 0.0.1.0).

-rd_admin_value

Specifies the starting value of the administrator field of the route distinguisher. If -rd_type is set to 0, the value is an AS number. If -rd_type is set to 1, the value is a dotted decimal IPv4 address. The default is 100.

-rd_assign_step

Specifies the increment value to step the base route distinguisher assigned number field. The default is 1.

-rd_assign_value

Specifies the starting value of the assigned field of the route distinguisher. The value must be an AS number. The default is 1.

-rd_type

Specifies the route distinguisher type. Possible values are 0 and 1. If -rd_type is set to 0, the administrator field is an AS number. If it is set to 1, the administrator field is a global IPv4 address.

-route_category

Specifies the route category to use. Possible values are described below:

UNDEFINED   The default category assigned to a manually created block

PRIMARY     A preferred route that has duplicates (secondary routes)
           advertised by other ports

SECONDARY   A less preferred backup route

UNIQUE      Indicates that a single port in the test configuration
           advertises this route

The default value is UNDEFINED.

-route_handle

Specifies the handle(s) of the BGP route(s) to be removed. The value of this argument can be a route handle or a list of route handles. This argument is available and Mandatory when -mode is set to “remove”. The example below removes two routes at one time:

sth::emulation_bgp_route_config  -mode remove
   -route_handle { bgpipv4routeconfig1 bgpipv4routeconfig2}
-route_ip_addr_step

Defines the increment used to generate IP addresses for a range of routes created under the emulated router, based on the value specified for the -max_route_ranges argument.

-route_type

Specifies the route type to create. Possible values described below:

ip           IPv4 or IPv6 routes. This is the default.
vpn          VPN routes
vpls         IPv4 or IPv6 VPLS routes
vplsad       vplsad routes
link_state   BGP Link State routes
flow_spec    BGP Flow Specification (FlowSpec) routes
srte         BGP SR TE Policy routes.
evpn_type1   EVPN Ethernet Auto-Discovery (A-D) routes
evpn_type2   EVPN MAC/IP Advertisement routes
evpn_type3   EVPN Inclusive Multicast Ethernet Tag routes
evpn_type4   EVPN Ethernet Segment routes
evpn_type5   EVPN IP Prefix routes
-strip_vlan

When this option is enabled, the PE strips the outermost VLAN tag from the customer frame upon ingress, and pushes a VLAN tag upon egress. When this option is disabled, the customer frame is left unchanged. Possible values are 0 and 1. The default value is 0. This argument is available when -route_type is set to vpls.

-target

Specifies the AS number or IP address list. The default is 100:1.

-target_assign

Specifies the assigned number subfield of the value field of the target. It is a number from a numbering space which is maintained by the enterprise administers for a given IP address or ASN space. It is the local part of the target.

-target_type

Specifies the route target type. Possible values are 0 and 1. If this argument is set to 0, the target field is an AS number. If it is set to 1, the target field is a global IPv4 address.

-target_step

Specifies the increment value for the RT attribute. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-target_assign_step

Specifies step value to increment the base route target assigned number field. The default is 1.

-target_step_per_route_block

Specifies the increment value for the RT attribute between the routeblock. The value must be in the format of AS:Number or IPv4:Number. The default value is 0:1.

-target_assign_step_per_route_block

Specifies step value to increment the base route target assigned number field. The default is 1.

-ve_id

Indicates the identifier for the local PE or the represented block offset. In Spirent TestCenter, the VE identifier represents an emulated endpoint (can be either a PE or a u-PE) that is being advertised by the BGP speaker. Possible values range from 1 to 65535. The default value is 1. This argument is available when -route_type is set to vpls.

-ve_id_step

Indicates the step value for -ve_id. The value must be an integer. The default value is 0. This argument is available when -route_type is set to vpls.

-vpls_id

Specifies the starting VPLS ID value. The values must be in VPLS ID format. The default value is 100:1. This argument is available when -route_type is set to vplsad.

-vpls_id_step

Indicates the step value for -vpls_id. The values must be in VPLS ID format (n:n). The default value is 0:1. This argument is available when -route_type is set to vplsad.

-vrf_count

Indicates the number of unique VRFs to create within a routebock. The default value is 1. This argument is NOT available when -route_type is set to ip.

-mtu_size

Specifies the maximum allowable frame size allowed to traverse a given VPLS instance. Possible values range from 64-65535. The default value is 1500.

-encap_type

Specifies the encapsulation type. The default value is vpls. Possible values are described below:

Value                Description
VLAN                 Ethernet Vlan Encapsulation type
VPLS                 VPLS Encapsulation type
-control_flag

Specifies the control information regarding the pseudowires. The default value is 02.

-vpls_draft_ver

Specifies the VPLS version. The default value is version_vpls_4761. Possible values are described below:

Value                   Description
VERSION_00              Ver 00
VERSION_02              Ver 02
VERSION_VPLS_4761       Ver VPLS 4761
-session_ip_ver

Specifies the BGP route’s session IP version. The default value is ipv4v6. Possible values are described below:

Value                   Description
ipv4                    IP version is IPv4
ipv6                    IP version is IPv6
ipv4v6                  IP version is dual stack
-med

Specifies the value for the multi-exit discriminator (MED). This is the optional MULTI_EXIT_DISC path attribute(type code 4) in UPDATE messages. TThe MED provides a dynamic way to influence another AS in the way to reach a certain route when there are multiple entry points for that AS. An exit or entry point with a lower MED should be preferred. Possible values range from 0-4294967295. The default value is null.

-med_step

Specifies the modifier to allow a route block to vary the MED. The count will be tied to network count. Possible values range from 0-4294967295. The default value is 0.

-med_step_per_router

Specifies the increment applied on MED to determine the MED value for subsequent routers within the router block. Possible values range from 0-4294967295. The default value is 0.

-local_preference

Specifies the value for the LOCAL_PREF path attribute in UPDATE messages. This informs other BGP speakers in the same AS of the local BGP speaker’s degree of preference for a route. A higher number means more preference. Possible values range from 0-4294967295. The default value is 10.

-local_preference_step

Specifies the modifier to allow a route block to vary the Local Preference. The count will be tied to network count. Possible values range from 0-4294967295. The default value is 0.

-local_preference_step_per_router

Specifies the increment applied on Local Preference to determine the Local Preference value for subsequent routers within the router block. Possible values range from 0-4294967295. The default value is 0.

-seg_type

Indicates the step value for -vpls_id. The values must be in VPLS ID format (n:n). The default value is 0:1. This argument is available when -route_type is set to vplsad.

-vpls_next_hop

Indicates the step value for -vpls_id. The values must be in VPLS ID format (n:n). The default value is 0:1. This argument is available when -route_type is set to vplsad.

Indicates the step value for -vpls_id. The values must be in VPLS ID format (n:n). The default value is 0:1. This argument is available when -route_type is set to vplsad.

Use the following arguments to configure SRTE:

-srte_ip_version

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP version of the BGP Segment Routing for Traffic Engineering (SR-TE) policy route

Values: ipv4, ipv6

Default: ipv4

-srte_aspath

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of AS numbers, in string format, that will be used in the AS_PATH attribute (type code 2) in BGP UPDATE messages

Default: 1

-srte_aspath_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the path segment type for the AS path defined in -srte_aspath

Default: sequence

-srte_community

Spirent Extension (for Spirent HLTAPI only).

Specifies the community for the SR-TE policy route

Values:

AS:Value                   Build a list of communities, in the
                           format of AS:VAL, where,
                           AS: 1-65535; Value: 1-65535

NO_EXPORT  (0xFFFFFF01)    Distribute routes with this community
                           tag within the confederation or AS,
                           but no further

NO_ADVERTISE (0xFFFFFF02)  Do not advertise these routes to other
                           BGP peers

LOCAL_AS (0xFFFFFF03)      Do not distribute routes with this
                           community tag to external BGP peers

Default: 1:1

-srte_distinguisher

Spirent Extension (for Spirent HLTAPI only).

A 4-octet value that uniquely identifies the SR-TE policy

Values: 0-4294967295

Default: 0

-srte_enable_route_target

Spirent Extension (for Spirent HLTAPI only).

Enables or disables the use of route target for the SR-TE policy route

Values: true (enable), false (disable)

Default: true

-srte_endpoint

Spirent Extension (for Spirent HLTAPI only).

Identifies the IPv4 endpoint of the SR-TE policy route

Values: IPv4

Default: 192.0.0.1

-srte_ipv6_endpoint

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 endpoint of the SR-TE policy route

Values: IPv6

Default: 2000::1

-srte_ipv6_endpoint_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 endpoint increment. The default value is 0::1.

-srte_extended_community

Spirent Extension (for Spirent HLTAPI only).

Specifies the extended community for the SR-TE policy route

Values:

   Type                       SubType

AS 2-octet(X:N)                RT[0x02]
IPV4 (X.X.X.X:N)               Site of Origin[0x03]
AS_PLAIN 4octet(X:N)           Source AS[0x09]
AS_DOT 4-octet(X.Y:N)          L2VPN ID[0X0a]
Transitive Opaque (X:N)        RT-Import[0x0b]
                               Sub Type [0x01]

Default: 0x03:0x0b:0:0

-srte_local_pref

Spirent Extension (for Spirent HLTAPI only).

Specifies the LOCAL_PREF path attribute in UPDATE messages

Values: 0-4294967295

Default: 10

-srte_nexthop

Spirent Extension (for Spirent HLTAPI only).

Specifies the IP address of the border router that should be used as the next hop to the destinations listed in the UPDATE message

Values: IPv4

Default: null

-srte_ipv6_nexthop

Specifies the IPv6 address of the border router that should be used as the next hop to the destinations listed in the UPDATE message

Values: IPv6

Default: 2000::1

-srte_origin

Spirent Extension (for Spirent HLTAPI only).

Describes how a prefix came to be routed by BGP. It defines the origin of the path information

Values:

igp            Prefix learned from an IGP
egp            Prefix learned through the EGP protocol
incomplete     Static. Prefix was learned through a protocol
               other than EGP or IGP

Default: igp

-srte_policy_color

Spirent Extension (for Spirent HLTAPI only).

Specifies the 4-octet value used to steer traffic into the SR-TE policy

Values: 0-4294967295

Default: 0

-srte_route_category

Spirent Extension (for Spirent HLTAPI only).

Specifies the route category

Values:

undefined      The default category assigned to a manually created block

primary        A preferred route that has duplicates (secondary routes)
               advertised by other ports

secondary      A less preferred backup route

unique         Indicates that a single port in the test
               configuration advertises this route

any            Any category

Default: undefined

-srte_route_target

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route Target extended community attribute

Values: AS:Number/IPv4:Number

Default: 192.0.1.0:1

-srte_route_target_step

Spirent Extension (for Spirent HLTAPI only).

Route target step. The default value is 0:1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_route_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the Route count. The default value is 1.

-srte_as_path_incr

Spirent Extension (for Spirent HLTAPI only).

AS path increment. The default value is 0.

NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_as_path_per_blk_count

Spirent Extension (for Spirent HLTAPI only).

AS path per block count. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_local_pref_incr

Spirent Extension (for Spirent HLTAPI only).

Local preference increment. The default value is 0. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_community_incr

Community increment. The default value is 1:1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_community_per_blk_count

Community per block count. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_distinguisher_step

Distinguisher step. The default value is 0. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_policy_color_step

Policy color step. The default value is 1.

-srte_extended_community_incr

Extended community step. The default value is “”. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_extended_community_per_blk_count

Extended community per block count. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_endpoint_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 endpoint increment.

Default: 0.0.0.1

-srte_binding_sid_step

Spirent Extension (for Spirent HLTAPI only).

Binding SID step. The default value is 1.

-srte_binding_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the Binding SID sub-TLV for SR-TE

Dependency: -srte_flags binding_sid

Values: 0-4294967295

Default: 0

-srte_ipv6_binding_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 Binding SID sub-TLV for SR-TE

Values: IPv6

Default: 2000::1

-srte_ipv6_binding_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 binding SID step.

Default: ::1

-srte_binding_sid_len

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Binding SID sub-TLV

Dependency: -srte_flags binding_sid

Values:

length_0         The binding SID length is 0 (no Binding SID)
length_4         4-octet binding SID value
length_16        16-octet binding SID value

Default: 0

-srte_color

Spirent Extension (for Spirent HLTAPI only).

Specifies the Color sub-TLV

Dependency: -srte_flags color

Values: 0-4294967295

Default: 0

-srte_color_step

Spirent Extension (for Spirent HLTAPI only).

Color step. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of BGP SR-TE Policy sub-TLVs to configure

Values:

0                      No sub-TLV
color               BGP SR-TE Policy sub-TLV: Color
preference          BGP SR TE Policy sub-TLV: Preference
binding_sid         BGP SR TE Policy sub-TLV: Binding SID
remote_endpoint     BGP SR TE Policy sub-TLV: Remote Endpoint
explicit_null       BGP SR TE Policy sub-TLV: ENLP
policy_priority     BGP SR TE Policy sub-TLV: Policy Priority
policy_name         BGP SR TE Policy sub-TLV: Policy Name

Example: -srte_flags {color| preference| bindings| remote endpoint}

Default: 0

-srte_preference

Spirent Extension (for Spirent HLTAPI only).

Specifies the Preference sub-TLV

Dependency: -srte_flags preference

Values: 0-4294967295

Default: 0

-srte_preference_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Preference step. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_remote_endpoint_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Remote Endpoint Address field for the Remote Endpoint sub-TLV

Values: IPv4

Default: 192.0.0.1

-srte_remote_endpoint_as

Spirent Extension (for Spirent HLTAPI only).

Specifies the AS Number field for the Remote Endpoint sub-TLV

Values: 0-4294967295

Default: 0

-srte_remote_endpoint_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 remote endpoint increment. The default value is 0.0.0.1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_remote_endpoint_as_step

Spirent Extension (for Spirent HLTAPI only).

Remote endpoint AS number step. The default value is 1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_ipv6_remote_endpoint_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Remote Endpoint sub-TLV: Remote Endpoint Address The default value is 2000::1.

-srte_ipv6_remote_endpoint_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 remote endpoint increment. The default value is 0::1. NOTE: This attribute is deprecated. It will be removed in subsequent releases, so it is recommended that you do not use it.

-srte_enlp

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the Explicit NULL Label Policy Sub-TLV.

Dependency: -srte_flags explicit_null

Values:

value_1    Push an IPv4 Explicit NULL label.
value_2    Push an IPv6 Explicit NULL label.
value_3    Push both IPv4 and IPv6 Explicit NULL label.
value_4    Do not push an Explicit NULL label.

Default: value_1

-srte_policy_priority

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the policy Priority Sub-TLV.

Dependency: -srte_flags policy_priority

The default value is 1.

-srte_policy_name

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the policy name Sub-TLV.

Dependency: -srte_flags policy_name

The default value is an empty string.

-srte_sid_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of segment identifier (SID) to use

Values:

label  20-bit label
sid    32-bit SID

Default: label

-srte_segment_list_subtlv

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of segment list sub-TLV to configure. A segment list TLV encodes a single explicit path towards the endpoint.

Values:

0             No sub-TLV
weight      Weight sub-TLV

Default: 0

-srte_weight

Spirent Extension (for Spirent HLTAPI only).

Defines the Weight field for the Weight sub-TLV

Values: 1-4294967295

Default: 1

-srte_binding_sid_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Binding SID sub-TLV

Values: 1-255

Default: 7

-srte_color_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Color sub-TLV

Values: 1-255

Default: 4

-srte_preference_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Preference sub-TLV

Values: 1-255

Default: 6

-srte_remote_endpoint_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Remote Endpoint sub-TLV

Values: 0-255

Default: 0

-srte_safi

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Subsequent Address Family Identifier (SAFI) TLV

Values: 0-255

Default: 73

-srte_segmentlist_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment List sub-TLV

Values: 0-255

Default: 128

-srte_segment_type1

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type1 sub-TLV

Values: 0-255

Default: 1

-srte_segment_type2

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type 2 sub -TLV

Values: 0-255

Default: 2

-srte_segment_type3

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type3 sub-TLV

Values: 0-255

Default: 3

-srte_segment_type4

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type4 sub-TLV

Values: 0-255

Default: 4

-srte_segment_type5

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type5 sub-TLV

Values: 0-255

Default: 5

-srte_segment_type6

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type6 sub-TLV

Values: 0-255

Default: 6

-srte_segment_type7

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type7 sub-TLV

Values: 0-255

Default: 7

-srte_segment_type8

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type8 sub-TLV

Values: 0-255

Default: 8

-srte_segment_type9

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type9 sub-TLV

Values: 0-255

Default: 9

-srte_segment_type10

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type10 sub-TLV

Values: 0-255

Default: 10

-srte_segment_type11

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Segment Type11 sub-TLV

Values: 0-255

Default: 11

-srte_tunnel_encap_attr

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Tunnel Encapsulation Attribute sub-TLV

Values: 0-255

Default: 23

-srte_tunnel_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Tunnel sub-TLV

Values: 0-255

Default: 14

-srte_weight_type

Spirent Extension (for Spirent HLTAPI only).

Specifies a customized Type value for the Weight sub-TLV

Values: 0-255

Default: 9

-srte_type1_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type1 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type1_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-1 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type1_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the Bottom-of-Stack Bit(S-Bit) field for the Segment Type1 sub-TLV

Values: 0, 1

Default: 0

-srte_type1_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type1 sub-TLV

Default: type1

-srte_type1_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type1 sub-TLV

Values: 0-7

Default: 0

-srte_type1_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type1 sub-TLV

Values: 0-255

Default: 255

-srte_type2_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type2 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type2_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-2 IPv6 SID Step. The default value is ::1.

-srte_type2_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type2 sub-TLV

Default: type2

-srte_type3_ipv4_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 Node Address field for the Segment Type3 sub-TLV

Default: 192.0.0.1

-srte_type3_ipv4_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-3 IPv4 Node Address increment. The default value is 0.0.0.1.

-srte_type3_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type3 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type3_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Possible values range from 0 to 1048575. The default value is 1.

-srte_type3_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-3 IPv6 SID The default value is 2000::1.

-srte_type3_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-3 IPv6 SID step. The default value is 2000::1.

-srte_type3_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type3 sub-TLV

Values:

length_6        6-octet
length_10       10-octet
length_22       22-octet

Default: length_6

-srte_type3_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type3 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type3_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type3 sub-TLV

Values: 0, 1

Default: 0

-srte_type3_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type3 sub-TLV

Default: type3

-srte_type3_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type3 sub-TLV

Values: 0-7

Default: 0

-srte_type3_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type3 sub-TLV

Values: 0-255

Default: 255

-srte_type4_ipv6_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 Node Address field for the Segment Type4 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type4_ipv6_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-4 IPv6 Node Address increment. The default value is ::1.

-srte_type4_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type4 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type4_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-4 IPv6 SID step. The default value is ::1.

-srte_type4_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type4 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type4_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-4 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type4_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type4 sub-TLV

Values:

length_18      18-octet
length_22      22-octet
length_34      34-octet

Default: length_18

-srte_type4_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type4 sub-TLV

Values: 0, 1

Default: 0

-srte_type4_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type4 sub-TLV

Default: type4

-srte_type4_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type4 sub-TLV

Values: 0-7

Default: 0

-srte_type4_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type4 sub-TLV

Values: 0-255

Default: 255

-srte_type5_ifindex

Spirent Extension (for Spirent HLTAPI only).

Specifies the Interface Index field for the Segment Type5 sub-TLV

Default: 0

-srte_type5_ipv4_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 Node Address field for the Segment Type5 sub-TLV

Values: IPv4

Default: 192.0.0.1

-srte_type5_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type5 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type5_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-5 IPv6 SID step. The default value is ::1.

-srte_type5_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type5 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type5_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-5 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type5_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type5 sub-TLV

Values:

length_10      10-octet
length_14      14-octet
length_26      26-octet

Default: length_10

-srte_type5_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type5 sub-TLV

Values: 0, 1

Default: 0

-srte_type5_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type5 sub-TLV

Default: type5

-srte_type5_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type5 sub-TLV

Values: 0-7

Default: 0

-srte_type5_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type5 sub-TLV

Values: 0-255

Default: 255

-srte_type6_ipv4_local_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Local IPv4 address for the Segment Type6 sub-TLV

Values: IPv4

Default: 192.0.0.1

-srte_type6_ipv4_local_addr_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-6 IPv4 Local Address Increment.

Default: 0.0.0.1

-srte_type6_ipv4_remote_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Remote IPv4 Address field for the Segment Type6 sub-TLV

Default: 192.0.0.1

-srte_type6_ipv4_remote_addr_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-6 IPv4 Remote Address increment.

Default: 0.0.0.1

-srte_type6_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type 6 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type6_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-6 IPv6 SID step. The default value is ::1.

-srte_type6_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type6 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type6_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-6 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type6_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type6 sub-TLV

Values:

length_10      10-octet
length_14      14-octet
length_26      26-octet

Default: length_10

-srte_type6_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type6 sub-TLV

Values: 0, 1

Default: 0

-srte_type6_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type6 sub-TLV

Default: type6

-srte_type6_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type6 sub-TLV

Values: 0-7

Default: 0

-srte_type6_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type6 sub-TLV

Values: 0-255

Default: 255

-srte_type7_ifindex

Spirent Extension (for Spirent HLTAPI only).

Specifies the Interface Index field for the Segment Type7 sub-TLV

Default: 0

-srte_type7_ipv6_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 Node Address field for the Segment Type7 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type7_ipv6_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-7 IPv6 Node Address increment. The default value is ::1.

-srte_type7_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type7 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type7_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-7 IPv6 SID step. The default value is ::1.

-srte_type7_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type7 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type7_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-7 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type7_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type7 sub-TLV

Values:

length_22      22-octet
length_26      26-octet
length_38      38-octet

Default: length_22

-srte_type7_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type7 sub-TLV

Values: 0, 1

Default: 0

-srte_type7_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type 7 sub-TLV

Default: type7

-srte_type7_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type7 sub-TLV

Values: 0-7

Default: 0

-srte_type7_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type7 sub-TLV

Values: 0-255

Default: 255

-srte_type8_ipv6_local_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Local IPv6 Address field for the Segment Type8 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type8_ipv6_local_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-8 IPv6 Node Address increment. The default value is ::1.

-srte_type8_ipv6_remote_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Remote IPv6 Address field for the Segment Type8 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type8_ipv6_remote_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-8 IPv6 Remote Address increment.

Values: IPv6

The default value is ::1.

-srte_type8_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type8 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type8_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-8 IPv6 SID step. The default value is ::1.

-srte_type8_label

Spirent Extension (for Spirent HLTAPI only).

Specifies the Label field for the Segment Type8 sub-TLV

Values: 0-1048575

Default: 16000

-srte_type8_label_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-8 Label step. Possible values range from 0 to 1048575. The default value is 1.

-srte_type8_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type8 sub-TLV

Values:

length_34      34-octet
length_38      38-octet
length_50      50-octet

Default: length_34

-srte_type8_sbit

Spirent Extension (for Spirent HLTAPI only).

Specifies the S-Bit field for the Segment Type8 sub-TLV

Values: 0, 1

Default: 0

-srte_type8_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type8 sub-TLV

Default: type8

-srte_type8_traffic_class

Spirent Extension (for Spirent HLTAPI only).

Specifies the Traffic Class field for the Segment Type8 sub-TLV

Values: 0-7

Default: 0

-srte_type8_ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL field for the Segment Type8 sub-TLV

Values: 0-255

Default: 255

-srte_type9_algorithm

Spirent Extension (for Spirent HLTAPI only).

Specifies the SR Algorithm for the Segment Type9 sub-TLV

Default: 0

-srte_type9_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies the flags for the Segment Type9 sub-TLV

Values:

V_FLAG       Segment Validation Flag.
A_FLAG       SR Algorithm Flag.

Default: empty

-srte_type9_ipv6_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 node address for the Segment Type9 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type9_ipv6_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type-9 IPv6 node address increment.

Values: IPv6

The default value is ::1.

-srte_type9_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type9 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type9_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type9 IPv6 SID step. The default value is ::1.

-srte_type9_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type9 sub-TLV

Values:

length_18      18-octet
length_34      34-octet

Default: length_18

-srte_type9_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type9 sub-TLV

Default: type9

-srte_type10_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies the flags for the Segment Type10 sub-TLV

Values:

V_FLAG       Segment Validation Flag.

Default: empty

-srte_type10_ipv6_local_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 local node address for the Segment Type10 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type10_ipv6_local_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type10 IPv6 local node address increment.

Values: IPv6

The default value is ::1.

-srte_type10_ipv6_remote_node_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 remote node address for the Segment Type10 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type10_ipv6_remote_node_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type10 IPv6 remote node address increment.

Values: IPv6

The default value is ::1.

-srte_type10_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type10 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type10_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type10 IPv6 SID step. The default value is ::1.

-srte_type10_local_if_index

Spirent Extension (for Spirent HLTAPI only).

Specifies the local interface index for the Segment Type10 sub-TLV

Default: 0

-srte_type10_remote_if_index

Spirent Extension (for Spirent HLTAPI only).

Specifies the remote interface index for the Segment Type10 sub-TLV

Default: 0

-srte_type10_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type10 sub-TLV

Values:

length_22      22-octet
length_38      38-octet
length_42      42-octet
length_58      58-octet

Default: length_22

-srte_type10_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type10 sub-TLV

Default: type10

-srte_type11_flags

Spirent Extension (for Spirent HLTAPI only).

Specifies the flags for the Segment Type11 sub-TLV

Values:

V_FLAG       Segment Validation Flag.

Default: empty

-srte_type11_ipv6_local_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 local address for the Segment Type11 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type11_ipv6_local_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type11 IPv6 local address increment.

Values: IPv6

The default value is ::1.

-srte_type11_ipv6_remote_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 remote address for the Segment Type11 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type11_ipv6_remote_addr_incr

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type11 IPv6 remote address increment.

Values: IPv6

The default value is ::1.

-srte_type11_ipv6_sid

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 SID field for the Segment Type11 sub-TLV

Values: IPv6

Default: 2000::1

-srte_type11_ipv6_sid_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type11 IPv6 SID step. The default value is ::1.

-srte_type11_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the Length field for the Segment Type11 sub-TLV

Values:

length_34      34-octet
length_50      50-octet

Default: length_34

-srte_type11_segment_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the Type field for the Segment Type11 sub-TLV

Default: type11

-use_device_addr_as_next_hop

Spirent Extension (for Spirent HLTAPI only).

Specifies the Use emulated device address as Next Hop. Possible values are:

Value Description true Use emulated device address as Next Hop value. false Use configured Next Hop address.

Default: false

-import_route_router_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the router type. Possible values are:

Value Description cisco_1 Router type is CISCO_VERSION_ONE. juniper_1 Router type is JUNIPER_VERSION_ONE. alcatel_1 Router type is ALCATEL_VERSION_ONE. alcatel_2 Router type is ALCATEL_VERSION_TWO. alcatel_3 Router type is ALCATEL_VERSION_THREE. alcatel_4 Router type is ALCATEL_VERSION_FOUR.

Default: cisco_1

-import_route_filename

Spirent Extension (for Spirent HLTAPI only).

Specifies the BGP route table filepath to import.

Default: empty string

-import_route_add_tester_asn
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to add tester AS number. Possible values are true and false.

Default: true

-import_route_use_tester_ip_as_nexthop
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to use tester IP as nexthop. Possible values are true and false.

Default: true

-import_route_max_route_blks
 

Spirent Extension (for Spirent HLTAPI only).

Specifies the maximum route blocks. Possible values are from 0 to 5000000.

Default: 0

-import_route_max_routes_per_block
 

Spirent Extension (for Spirent HLTAPI only).

Specifies the maximum routes per block. Possible values are from 0 to 5000000.

Default: 0

-import_route_max_routes
 

Spirent Extension (for Spirent HLTAPI only).

Specifies the maximum routes. Possible values are from 0 to 5000000.

Default: 0

-import_route_disable_traffic
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable the traffic. Possible values are true and false.

Default: true

-import_route_enable_traffic_with_db
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable Traffic with device blocks. Possible values are true and false.

Default: false

-import_route_enable_traffic_with_rb
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable Traffic with route blocks. Possible values are true and false.

Default: false

-import_route_ignore_as_path
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable the ignore AS path. Possible values are true and false.

Default: true

-import_route_ignore_route_distinguisher
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable the ignore route distinguisher. Possible values are true and false.

Default: true

-import_route_active
 

Spirent Extension (for Spirent HLTAPI only).

Specifies whether to enable or disable the import route table. Possible values are true and false.

Default: true

Arguments Unsupported by Save as HLTAPI

The following Spirent HLTAPI arguments are currently not supported by the Save as HLTAPI function:

-communities
-communities_enable
-max_route_ranges
-local_router_id_enable
-evpn_* arguments
-ls_* arguments (Link State specific arguments)

Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper

None

Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper

-as_path_set_mode
-enable_generate_unique_routes
-enable_traditional_nlri
-label_value
-label_step
-next_hop_enable
-next_hop_mode
-no_write
-origin_route_enable
-packing_from
-prefix_to
-prefix_from
-communities_enable
-communities
-enable_as_path
-end_of_rib
-enable_local_pref

Note

For more information about Spirent HLTAPI Wrapper, refer to Chapter 4 Spirent HLTAPI Wrapper in Spirent HLTAPI Programmer’s Reference.

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-ext_communities
-import_target
-import_target_step
-import_target_assign
-import_target_assign_step
-import_target_type
-l3_site_handle
-label_step
-label_value
-next_hop_enable
-num_sites
-origin_route_enable
-packing_from
-default_mdt_ip
-default_mdt_ip_incr

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):

handles   A list of handles that identify the routes created by the
          ``sth::emulation_bgp_route_config`` function.

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

log       An error message (if the operation failed).

Description

The sth::emulation_bgp_route_config function creates and configures the routes. Use the -route_handle argument to identify the router for which to remove routes. (The router handle value is contained in the keyed list returned by the sth::emulation_bgp_config function.) Use the -mode argument to specify the action to perform. See the -mode argument for a description of the actions.

BGP peers exchange routing information about network reachability and AS paths. For a particular route, this information includes a destination address and a list of AS addresses that describes a path to the destination. Based on the exchange of information, the BGP speakers build and maintain routing tables that contain a representation of large portions of the network topology.

To create BGP routes, you supply address and AS path information. To define the addresses of the routes, use the following arguments:

-prefix - the starting IP address for the first route in the range
-netmask IP - the netmask of the advertised routes
-num_routes - the number of routes in the range
-prefix_step - the increment used to generate additional addresses
-max_route_ranges - the maximum number of routes in the range
-route_ip_addr_step - the IP address increment used to generate IP
                   addresses for each route in the range

For example, setting the following arguments to the given values will generate five route ranges (shown after the arguments):

-prefix 1.1.1.0  \
-netmask 255.255.255.0 \
-num_routes 10 \
-prefix_step 1 \
-max_route_ranges 5 \
-route_ip_addr_step 0.1.0.0

The above code generates five route ranges as follows:

1.1.1.0 - 1.1.10.0
1.2.1.0 - 1.2.10.0
1.3.1.0 - 1.3.10.0
1.4.1.0 - 1.4.10.0
1.5.1.0 - 1.5.10.0

Examples

#### HLTAPI for Tcl ####

The following example adds a route block to the routing table for the specified router:

sth::emulation_bgp_route_config -mode add \
 -handle router1 \
 -prefix 160.0.0.0 \
 -num_routes 10 \
 -prefix_step 1 \
 -netmask 255.255.255.0 \
 -ip_version 4 \
 -as_path as_seq:123 \
 -next_hop_ip_version 4 \
 -next_hop 61.25.0.11 \
 -local_pref 0 \
 -next_hop_set_mode same \
 -route_category  primary \
 -extended_communities "0x01:RT:1.1.1.1:1, 0x01:RTI:1.1.1.1:1" \
 -extended_communities_per_block 1 \

Sample output for example shown above:

{handles bgpipv4routeconfig1} {status 1}

The following example adds five route blocks, as specified in the -max_route_ranges argument; therefore, five route blocks are advertised:

sth::emulation_bgp_route_config \
 -mode add -handle router2 \
 -prefix 161.0.0.0 \
 -num_routes 10 \
 -prefix_step 1 \
 -netmask 255.255.255.0 \
 -ip_version 4 \
 -as_path as_seq:123 \
 -next_hop_ip_version 4 \
 -next_hop 61.26.0.11 \
 -local_pref 0 \
 -next_hop_set_mode same \
 -max_route_ranges 5 \
 -route_ip_addr_step 0.1.0.0 \

Sample output for example shown above:

{handles bgpipv4routeconfig2 bgpipv4routeconfig3 bgpipv4routeconfig4
 bgpipv4routeconfig5 bgpipv4routeconfig6} {status 1}

The following example deletes the first BGP router:

sth::emulation_bgp_route_config \
   -mode remove -route_handle bgpipv4routeconfig1

The following example adds a BGP LS route to the BGP router:

set link_state_hnd [sth::emulation_bgp_route_config\
      -mode                                   add \
      -handle                                  $bgp_router1\
      -route_type                              link_state\
      -ls_as_path                              1\
      -ls_as_path_segment_type                 sequence\
      -ls_community                            1:1\
      -ls_extended_community                   0x00:0x02:1:1\
      -ls_enable_node                          true\
      -ls_identifier                           2\
      -ls_identifiertype                       customized\
      -ls_next_hop                             1.1.1.1\
      -ls_next_hop_type                        ipv4\
      -ls_origin                               igp\
      -ls_protocol_id                          OSPF_V2\
      -ls_node_desc_flag                      "as_number|bgp_ls_id|OSPF_AREA_ID\
                                              |igp_router_id"\
      -ls_node_desc_as_num                     1\
      -ls_node_desc_bgp_ls_id                  2\
      -ls_node_desc_ospf_area_id               3\
      -ls_node_desc_igp_router_id_type         ospf_non_pseudo_node\
      -ls_node_desc_igp_router_id              192.0.0.1\
      -ls_node_attr_flag                      "ISIS_AREA_ID|LOCAL_IPV4_ROUTER_ID\
                                              NODE_NAME|SR_ALGORITHMS|SR_CAPS"\
      -ls_node_attr_isis_area_id               "1"\
      -ls_node_attr_local_ipv4_router_id_list  "192.0.0.1 192.0.0.2 192.0.0.3"\
      -ls_node_attr_node_name                  "abc_abc"\
      -ls_node_attr_sr_algorithms              "LINK_METRIC_BASED_SPF"\
      -ls_node_attr_sr_value_type              "label"\
      -ls_node_attr_sr_capability_flags        "ipv4"\
      -ls_node_attr_sr_capability_base_list    "16 17 18"\
      -ls_node_attr_sr_capability_range_list   "100 200 300"]

Sample Output:

{handles bgplsnodeconfig1} {status 1}

The following example configures the BGP link LS node:

set ls_link_hnd [sth::emulation_bgp_route_config\
      -mode                                    add\
      -handle                                  $bgp_router1\
      -route_handle                            $lsLinkConfigHnd \
      -route_type                              link_state\
      -ls_link_attr_flag                      "IGP_METRIC|LINK_PROTECTION_TYPE\
                      |LOCAL_IPV4_ROUTER_ID|REMOTE_IPV4_ROUTER_ID|SR_ADJ_SID"\
      -ls_link_attr_igp_metric                 10\
      -ls_link_attr_igp_metric_tlv_type        isis_wide\
      -ls_link_attr_link_protection_type "DEDICATED_1_TO_1|DEDICATE_1_PLUS_1\
                             |ENHANCED|EXTRA_TRAFFIC|RESERVED1|RESERVED2|SHARED"\
      -ls_link_attr_local_ipv4_router_id_list   "1.1.1.1  2.2.2.2"\
      -ls_link_attr_remote_ipv4_router_id_list  "3.3.3.3  4.4.4.4"\
      -ls_link_attr_sr_adj_sid_flags          "BBIT|FBIT"\
      -ls_link_attr_value                     9001\
      -ls_link_attr_value_type                label\
      -ls_link_attr_weight                    2\
      -ls_link_desc_flags                    "ipv4_intf_addr|IPV4_NBR_ADDR"\
      -ls_link_desc_ipv4_intf_addr            10.1.1.1\
      -ls_link_desc_ipv4_neighbor_addr        10.1.1.2\
      -ls_link_desc_flag                     "as_number|bgp_ls_id|OSPF_AREA_ID\
                                              |igp_router_id"\
      -ls_link_desc_as_num                    10\
      -ls_link_desc_bgp_ls_id                 2\
      -ls_link_desc_ospf_area_id              3\
      -ls_link_desc_igp_router_id_type        ospf_non_pseudo_node\
      -ls_link_desc_igp_router_id             192.0.0.10\
      -ls_link_attr_te_sub_tlv_type           "group|max_bw|max_rsv_bw|unreserved\
                                              |local_ip|remote_ip|default_metric"\
      -ls_link_attr_te_bw_unit                bits_per_sec\
      -ls_link_attr_te_default_metric          2\
      -ls_link_attr_te_local_ip               1.1.1.1\
      -ls_link_attr_te_remote_ip              2.2.2.2\
      -ls_link_attr_te_admin_group            1\
      -ls_link_attr_te_max_bw                 123\
      -ls_link_attr_te_max_resv_bw            456\
      -ls_link_attr_te_unresv_bw_priority0    888\
      -ls_link_attr_te_unresv_bw_priority1    111\
      -ls_link_attr_te_unresv_bw_priority2    222\
      -ls_link_attr_te_unresv_bw_priority3    333\
      -ls_link_attr_te_unresv_bw_priority4    444\
      -ls_link_attr_te_unresv_bw_priority5    555\
      -ls_link_attr_te_unresv_bw_priority6    666\
      -ls_link_attr_te_unresv_bw_priority7    777]

Sample Output:

{link_handle bgplslinkconfig1} {handles bgplsnodeconfig1} {status 1}

The following example creates a Link IPv4 Prefix:

set ipv4_prefix_hnd [sth::emulation_bgp_route_config\
    -mode                                   add \
    -handle                                 $bgp_router1\
    -route_handle                           $lsLinkConfigHnd \
    -route_type                             link_state\
    -ls_prefix_attr_flags                   "igp_flags|ospf_forward_addr|\
                                            prefix_metric|sr_prefix_sid"\
    -ls_prefix_attr_algorithm               0\
    -ls_prefix_attr_igp_flags               "DBIT|LBIT|NBIT|PBIT"\
    -ls_prefix_attr_ospf_forward_addr_type  "ospfv2"\
    -ls_prefix_attr_ospfv2_forward_addr     192.0.1.0\
    -ls_prefix_attr_prefix_metric           1\
    -ls_prefix_attr_sr_prefix_sid_flags     "rbit|nbit|pbit"\
    -ls_prefix_attr_value                   101\
    -ls_prefix_desc_flags                   "ip_reach_info|ospf_rt_type"\
    -ls_prefix_desc_ip_prefix_count 1       0\
    -ls_prefix_desc_ip_prefix_type          ipv4_prefix\
    -ls_prefix_desc_ipv4_prefix             192.0.1.0\
    -ls_prefix_desc_ipv4_prefix_length      24\
    -ls_prefix_desc_ipv4_prefix_step        1\
    -ls_prefix_desc_ospf_route_type external_1]

Sample Output:

{ipv4_prefix_handle bgplsipv4prefixconfig1}
 handles bgplsnodeconfig1} {status 1}

The following example creates an FlowSpec route:

    set FlowSpec_AllType [sth::emulation_bgp_route_config\
            -handle                                           [lindex $BGP_Handle1 0]\
            -mode                                             add\
            -route_type                                       flow_spec\
            -fs_type1_prefix_count                            10 \
            -fs_type1_ip_list                                 10.10.10.10 \
            -fs_type1_addr_incr                               1 \
            -fs_type1_start_ip                                10.10.10.10 \
            -fs_type1_prefix_length                           24 \
            -fs_type1_collection_type                         increment \
            -fs_type2_addr_incr                               1 \
            -fs_type2_prefix_count                            15 \
            -fs_type2_collection_type                         increment \
            -fs_type2_ip_list                                 20.20.20.20 \
            -fs_type2_prefix_length                           24 \
            -fs_type2_start_ip                                20.20.20.20 \
            -fs_type11_value                                  1 \
            -fs_type11_less_than_bit                          false \
            -fs_type11_and_bit                                true \
            -fs_type11_greater_than_bit                       true \
            -fs_type11_equality_bit                           true \
            -fs_route_target_step                             0:1 \
            -fs_vrf_count                                     1 \
            -fs_route_distinguisher_step                      0:1 \
            -fs_route_target_vpn                              100:1 \
            -fs_route_distinguisher                           100:1 \
            -fs_as_path_segment_type                          confed_set \
            -fs_traffic_rate                                  0 \
            -fs_redirect_enable                               true \
            -fs_as_path_per_block_count                       1 \
            -fs_med_incr_per_router                           0 \
            -fs_as_path                                       "10 100 1000" \
            -fs_origin                                        incomplete \
            -fs_terminate_bit                                 true \
            -fs_nexthop                                       10.10.10.20 \
            -fs_route_target                                  10:1 \
            -fs_sub_afi                                       flow_spec \
            -fs_sample_bit                                    true \
            -fs_enable_traffic_marking                        true \
            -fs_redirect_to_ipnexthop_enable                  true \
            -fs_component_types                               TYPE1_DESTINATION_PREFIX|TYPE2_SOURCE_PREFIX|TYPE4_PORT|TYPE5_DESTINATION_PORT|TYPE6_SOURCE_PORT|TYPE10_PACKET_LENGTH|TYPE11_DSCP_VALUE \
            -fs_copy_bit                                      true \
            -fs_enable_traffic_rate                           true \
            -fs_dscp                                          0 \
            -fs_local_pref                                    10 \
            -fs_med_incr                                      0 \
            -fs_enable_traffic_action                         true \
            -fs_local_pref_incr                               0 \
            -fs_as_num                                        1 \
            -fs_local_pref_incr_per_router                    0 ]

Sample Output::

    {handles bgpflowspecrouteconfig1} {status 1}

The following example creates an EVPN type 1 route:

set link_state_hnd [sth::emulation_bgp_route_config\
        -mode                                    add \
        -handle                           $bgp_router1\
        -route_type                              evpn_type1\
        -evpn_type1_active_standby_mode          all_active\
        -evpn_type1_agg_ip                       1.1.1.1\
        -evpn_type1_as_path                      2\
        -evpn_type1_as_path_incr                 1\
        -evpn_type1_as_path_per_blk_cnt          1\
        -evpn_type1_as_path_seg_type             sequence\
        -evpn_type1_atomic_agg_present           true\
        -evpn_type1_cluster_id_list              2.2.2.2\
        -evpn_type1_community                    1:1\
        -evpn_type1_data_plane_encap             vxlan\
        -evpn_type1_encap_label                  5\
        -evpn_type1_encap_label_step             6\
        -evpn_type1_ethernet_seg_id              0\
        -evpn_type1_ethernet_seg_type            type1\
        -evpn_type1_ethernet_tag_id              3\
        -evpn_type1_evi_count                    4\
        -evpn_type1_evpn_ad_route_type           per_evi\
        -evpn_type1_ext_com_per_blk_cnt          1\
        -evpn_type1_local_pref                   11\
        -evpn_type1_local_pref_incr              1\
        -evpn_type1_med                          22\
        -evpn_type1_med_incr                     1\
        -evpn_type1_next_hop                     3.3.3.3\
        -evpn_type1_origin                       egp\
        -evpn_type1_originator_id                4.4.4.4\
        -evpn_type1_route_category               unique\
        -evpn_type1_route_dist                   1.1.1.1:2\
        -evpn_type1_route_dist_step              0:1\
        -evpn_type1_route_target                 101:1\
        -evpn_type1_route_target_step            0:2\
        -evpn_type1_agg_as                       1\
        -evpn_type1_ext_com           0x01:RT:1.1.1.1:1 \
        -evpn_type1_ext_com_incr                 1.1.1.1:1\
]

Sample Output:

{handles bgpevpnadrouteconfig1} {status 1}

The following example modifies the EVPN type 1 route:

set evpn_type1_hnd [keylget link_state_hnd handles]
set link_state_hnd [sth::emulation_bgp_route_config\
        -mode                                    modify \
        -route_handle                            $evpn_type1_hnd\
        -route_type                              evpn_type1\
        -evpn_type1_active_standby_mode          all_active\
        -evpn_type1_agg_ip                       1.1.1.1\
        -evpn_type1_as_path                      2\
        -evpn_type1_as_path_incr                 1\
        -evpn_type1_as_path_per_blk_cnt          1\
        -evpn_type1_as_path_seg_type             sequence\
        -evpn_type1_atomic_agg_present           true\
        -evpn_type1_cluster_id_list              2.2.2.2\
        -evpn_type1_community                    1:1\
        -evpn_type1_data_plane_encap             vxlan\
        -evpn_type1_encap_label                  5\
        -evpn_type1_encap_label_step             6\
        -evpn_type1_ethernet_seg_id              0\
        -evpn_type1_ethernet_seg_type            type1\
        -evpn_type1_ethernet_tag_id              3\
        -evpn_type1_evi_count                    4\
        -evpn_type1_evpn_ad_route_type           per_evi\
        -evpn_type1_ext_com_per_blk_cnt          1\
        -evpn_type1_local_pref                   11\
        -evpn_type1_local_pref_incr              1\
        -evpn_type1_med                          22\
        -evpn_type1_med_incr                     1\
        -evpn_type1_next_hop                     3.3.3.3\
        -evpn_type1_origin                       egp\
        -evpn_type1_originator_id                4.4.4.4\
        -evpn_type1_route_category               unique\
        -evpn_type1_route_dist                   1.1.1.1:2\
        -evpn_type1_route_dist_step              0:1\
        -evpn_type1_route_target                 101:1\
        -evpn_type1_route_target_step            0:2\
        -evpn_type1_agg_as                       1\
        -evpn_type1_ext_com                      0x01:RT:5.5.5.5:1 \
        -evpn_type1_ext_com_incr                 5.5.5.5:1\
]

Sample Output:

{handles bgpevpnadrouteconfig1} {status 1}

The following example adds the ipv6 route with as_path_* options:

set link_state_hnd [sth::emulation_bgp_route_config\
        -mode                                   add \
        -handle                                 $bgp_router1\
        -as_path                                as_seq:4.1\
        -as_path_increment                      0\
        -as_path_increment_per_router           1\
        -as_path_per_block_count                2\
        -route_type                             ip\
        -ip_version                             6\
        -local_next_hop                         2000::1 ]

Sample Output:

{handles bgpipv6routeconfig1} {status 1}

The following example configures the Import route table:

set device_ret0_route1 [sth::emulation_bgp_route_config\
  -handle                                         [keylget device_ret0 handle]\
  -route_type                                     import_route_table\
  -mode                                           add\
  -import_route_router_type                       cisco_1 \
  -import_route_filename                          "C:/Users/user/bgpv4v6table/bgproutetable.txt"\
  -import_route_add_tester_asn                    true\
  -import_route_use_tester_ip_as_nexthop          false\
  -import_route_max_route_blks                    100 \
  -import_route_max_routes_per_block              10000\
  -import_route_max_routes                        50000\
  -import_route_disable_traffic                   true\
  -import_route_enable_traffic_with_db            false\
  -import_route_enable_traffic_with_rb            true\
  -import_route_ignore_as_path                    true\
  -import_route_ignore_route_distinguisher        true\
  -import_route_active                            true]

Sample Output:

{handles {bgpipv4routeconfig1 bgpipv4routeconfig2 bgpipv4routeconfig3 bgpipv4routeconfig4
 bgpipv4routeconfig5}} {bgptablerouteconfig1 {{parsing_state SUCCEEDED} {total_route_blocks 18}
{total_routes 26} {imported_route_blocks 18} {imported_routes 26} {invalid_routes 0}}} {status 1}

#### HLTAPI for Python ####

The following example adds a route block to the routing table for the specified router:

device_ret1_route1 = sth.emulation_bgp_route_config (
        handle              = bgp_router1,
        mode                = 'add',
        ip_version          = '4',
        as_path             = 'as_seq:1',
        target_type         = 'as',
        target              = '100',
        target_assign       = '1',
        rd_type             = '0',
        rd_admin_step       = '0',
        rd_admin_value      = '100',
        rd_assign_step      = '1',
        rd_assign_value     = '1',
        next_hop_ip_version = '4',
        next_hop_set_mode   = 'manual',
        ipv4_unicast_nlri   = '1',
        prefix_step         = '1',
        prefix              = '193.0.1.0',
        num_routes          = '1',
        netmask             = '255.255.255.0',
        atomic_aggregate    = '0',
        local_pref          = '10',
        origin              = 'igp',
        route_category      = 'primary',
        label_incr_mode     = 'none');

Sample Output:

{'status': '1', 'handles': 'bgpipv4routeconfig1'}

#### HLTAPI for Perl ####

The following example adds a route block to the routing table for the specified router:

my %device_ret1_route1 = sth::emulation_bgp_route_config (
       handle              => "$bgp_router1",
        mode                => 'add',
        ip_version          => '4',
        as_path             => 'as_seq:1',
        target_type         => 'as',
        target              => '100',
        target_assign       => '1',
        rd_type             => '0',
        rd_admin_step       => '0',
        rd_admin_value      => '100',
        rd_assign_step      => '1',
        rd_assign_value     => '1',
        next_hop_ip_version => '4',
        next_hop_set_mode   => 'manual',
        ipv4_unicast_nlri   => '1',
        prefix_step         => '1',
        prefix              => '193.0.1.0',
        num_routes          => '1',
        netmask             => '255.255.255.0',
        atomic_aggregate    => '0',
        local_pref          => '10',
        origin              => 'igp',
        route_category      => 'primary',
        label_incr_mode     => 'none');

Sample Output:

$VAR1 = 'handles';
$VAR2 = 'bgpipv4routeconfig2';
$VAR3 = 'status';
$VAR4 = '1';

End of Procedure Header

sth::emulation_bgp_route_element_config

Purpose

Creates, modifies, or deletes a BGP route element

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_route_element_config
    [-mode add|modify|remove}  M]
    [-handle <BGP route handle>]
    [-element_handle  <element handle>]
    [-element_type {fs_type4|fs_type5|fs_type6|fs_type10|fs_type11}]
    [-fs_type4_and_bit {true | false}]
    [-fs_type4_count <1-10>]
    [-fs_type4_equality_bit {true | false}]
    [-fs_type4_greater_than_bit {true | false}]
    [-fs_type4_less_than_bit {true | false}]
    [-fs_type4_value <1-65535>]
    [-fs_type4_value_incr <1-65535>]
    [-fs_type4_value_list <1-65535>]
    [-fs_type4_value_type  {increment | list}]
    [-fs_type5_and_bit {true | false}]
    [-fs_type5_count <1-10>]
    [-fs_type5_equality_bit {true | false}]
    [-fs_type5_greater_than_bit {true | false}]
    [-fs_type5_less_than_bit {true | false}]
    [-fs_type5_value <1-65535>]
    [-fs_type5_value_incr <1-65535>]
    [-fs_type5_value_list <1-65535>]
    [-fs_type5_value_type  {increment | list}]
    [-fs_type6_and_bit {true | false}]
    [-fs_type6_count  <1-10>]
    [-fs_type6_equality_bit {true | false}]
    [-fs_type6_greater_than_bit {true | false}]
    [-fs_type6_less_than_bit {true | false}]
    [-fs_type6_value <1-65535>]
    [-fs_type6_value_incr <1-65535>]
    [-fs_type6_value_list <1-65535>]
    [-fs_type6_value_type {increment | list}]
    [-fs_type10_and_bit {true | false}]
    [-fs_type10_count <1-10>]
    [-fs_type10_equality_bit {true | false}]
    [-fs_type10_greater_than_bit {true | false}]
    [-fs_type10_less_than_bit {true | false}]
    [-fs_type10_value <1-65535>]
    [-fs_type10_value_incr <1-65535>]
    [-fs_type10_value_list <1-65535>]
    [-fs_type10_value_type  {increment | list}]
    [-fs_type11_and_bit   {true | false}]
    [-fs_type11_equality_bit  {true | false}]
    [-fs_type11_greater_than_bit  {true | false}]
    [-fs_type11_less_than_bit  {true | false}]
    [-fs_type11_value <0-63>]

Arguments

-mode

Specifies the action to perform. This argument is Mandatory . The modes are described below:

add           Creates a new BGP route element. See the
              description of -element_type for the route elements
              that you can create. Use the -handle argument to
              specify the BGP FlowSpec handle under which the
              specified element must be created.

modify        Modifies an existing BGP route element. Use
              -element_handle and -handle to specify the element
              to modify.

remove        Deletes the specified BGP route element.
              Use the -element_handle argument to specify the
              element to delete.
-element_type

Specifies the type of route elements to be configured. This argument is mandatory. Possible values are described below:

fs_type4        Add or modify type 4 FlowSpec component
fs_type5        Add or modify type 5 FlowSpec component
fs_type6        Add or modify type 6 FlowSpec component
fs_type10       Add or modify type 10 FlowSpec component
fs_type11       Add or modify type 11 FlowSpec component
-fs_type4_and_bit

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 4 (Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type4_count

Number of values that will be provided for the particular operator value pair of FlowSpec component type 4. Possible values range from 1 to 10. The default value is 1.

-fs_type4_equality_bit

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type4_greater_than_bit

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type4_less_than_bit

Specifies the relation between type and value for FlowSpec component type 4. Possible values are:

true      Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type4_value

Specifies type 4 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_incr

Specifies the step value for subsequent type 4 values. You must set -fs_type4_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_list

Specifies a list of type 4 values. You must set -fs_type4_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type4_value_type

Specifies the value type for FlowSpec component type 4. Possible values are:

increment     Value is of increment type
list          Value is a comma separated list of numbers

The default value is increment.

-fs_type5_and_bit

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 5 (Destination Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type5_count

Number of values that will be provided for the particular operator value pair of FlowSpec component type 5. Possible values range from 1 to 10. The default value is 1.

-fs_type5_equality_bit

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type5_greater_than_bit

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type5_less_than_bit

Specifies the relation between type and value for FlowSpec component type 5. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type5_value

Specifies type 5 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_incr

Specifies the step value for subsequent type 5 values. You must set -fs_type5_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_list

Specifies a list of type 5 values. You must set -fs_type5_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type5_value_type

Specifies the value type for FlowSpec component type 5. Possible values are:

increment               Value is of increment type
list                    Value is a comma separated list of numbers

The default value is increment.

-fs_type6_and_bit

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 6 (Source Port). Possible values are true (AND) and false (OR). The default value is false.

-fs_type6_count

Number of values that will be provided for the particular operator value pair of FlowSpec component type 6. Possible values range from 1 to 10. The default value is 1.

-fs_type6_equality_bit

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true      Specifies that type is equal to value
false     Specifies that type is not equal to value

The default value is true.

-fs_type6_greater_than_bit

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type6_less_than_bit

Specifies the relation between type and value for FlowSpec component type 6. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type6_value

Specifies type 6 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_incr

Specifies the step value for subsequent type 6 values. You must set -fs_type6_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_list

Specifies a list of type 6 values. You must set -fs_type6_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type6_value_type

Specifies the value type for FlowSpec component type 6. Possible values are:

increment               Value is of increment type
list                    Value is a comma separated list of numbers

The default value is increment.

-fs_type10_and_bit

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 10 (Packet Length). Possible values are true (AND) and false (OR). The default value is false.

-fs_type10_count

Number of values that will be provided for the particular operator value pair of FlowSpec component type 10. Possible values range from 1 to 10. The default value is 1.

-fs_type10_equality_bit

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type10_greater_than_bit

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type10_less_than_bit

Specifies the relation between type and value for FlowSpec component type 10. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type10_value

Specifies type 10 value for BGP FlowSpec. Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_incr

Specifies the step value for subsequent type 10 values. You must set -fs_type10_value_type to increment. Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_list

Specifies a list of type 10 values. You must set -fs_type10_value_type to list. Possible values range from 1 to 65535. The default value is 1.

-fs_type10_value_type

Specifies the value type for FlowSpec component type 10. Possible values are:

increment               Value is of increment type
list                    Value is a comma separated list of numbers

The default value is increment.

-fs_type11_and_bit

Determines whether the current operation must be the logical AND or OR of the previous operation for FlowSpec component type 11 (Description Value). Possible values are true (AND) and false (OR). The default value is false.

-fs_type11_equality_bit

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is equal to value
false      Specifies that type is not equal to value

The default value is true.

-fs_type11_greater_than_bit

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is greater than value
false      Specifies that type is less than or equal to value

The default value is false.

-fs_type11_less_than_bit

Specifies the relation between type and value for FlowSpec component type 11. Possible values are:

true       Specifies that type is less than value
false      Specifies that type is greater than or equal to value

The default value is false.

-fs_type11_value

Specifies type 11 value for BGP FlowSpec. Possible values range from 0 to 63. The default value is 1.

-handle

BGP route handle received from the sth::emulation_bgp_route_config function. This argument is Mandatory for -mode add.

-element_handle

BGP element handles received from the current function. This argument is Mandatory for modes modify and remove.

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):

element_handle          The handle returned by the function when you use -mode
                        create.

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

log                     An error message (if the operation failed)

Description

The sth:: emulation_bgp_route_element_config function creates, modifies, or deletes a BGP route element. Use the -mode argument to specify the operation to perform. When you create a specific route element, the function returns a handle for it. Use this handle as input for the modify and delete modes.

When you specify -mode create or modify, you must also use the -element_type argument to specify the type of element to create or modify. Refer to Examples and Arguments for detailed information.

Examples

The following example creates a type 4 FlowSpec element:

set bgpflowspectype1 [sth::emulation_bgp_route_element_config\
       -mode                        add\
       -element_type                fs_type4\
       -handle                      $flow_spechandle\
       -fs_type4_count              4\
       -fs_type4_value              240\
       ]

#getting type4 handle
set type4handle [keylget bgpflowspectype1 handles]

The following example modifies the created type 4 element:

set bgpflowspectype4 [sth::emulation_bgp_route_element_config\
        -mode                      modify\
        -element_type              fs_type4\
        -element_handle            $type4handle\
        -fs_type4_count            10\
        -fs_type4_value            100\
     ]

The following example deletes the created type 4 element:

set bgpflowspectype4 [sth::emulation_bgp_route_element_config\
        -mode                   remove\
        -element_handle         $type4handle\
]

End of Procedure Header

sth::emulation_bgp_info

Purpose

Returns information about the BGP configuration.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_info
   [-mode   {stats|settings|neighbors|ls_results}  M]
   [-handle <bgp_router_handle|all>]

Arguments

-handle

The BGP router handle for which you want information. Use “all” to pass all device handles. If nothing is specified, all devices under all ports will be passed.

-mode

Specifies the kind of information you want to see. This argument is mandatory. Possible values are:

stats    - Returns transmitted and received statistics for
           different BGP messages.

settings - Returns the address and AS number of the
           specified handle.

neighbors - Returns the list of BGP peers.

Note

The labels and clear_stats options are not supported.

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):

stats          Retrieves the IP address of the specified port and the
               number of OPEN, UPDATE, NOTIFICATION, and KEEPALIVE
               messages transmitted and received (see list below).

settings       Retrieves the IP address of the specified port and the
               number of the Autonomous System for the emulated router
               and its BGP router (see list below).

neighbors      Retrieves the IP addresses of the BGP session's peers.

status         Retrieves a value indicating the success (1) or failure
               (0) of the operation.

log             Retrieves a message describing the last error that
                occurred during the operation. If the operation was
                 successful - {status 1} - the log value is null

The following keys are returned when you specify -mode stats:

ip_address     IP address of the port on the interface card: a.b.c.d.

ipv6_address   IPv6 address of the port on the interface card:
               aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh.
               This key is only for dual stack BGP devices.

asn             Number of the Autonomous System for the emulated
                router and its BGP peer.

peers          List of BGP peer IP addresses.

v6_peers       List of BGP peer IPv6 addresses. This key is only
               for dual stack BGP devices.

update_tx      Number of BGP UPDATE messages successfully transmitted.

update_rx      Number of BGP UPDATE messages received.

keepalive_tx   Number of BGP KEEPALIVE messages successfully
               transmitted.

keepalive_rx   Number of BGP KEEPALIVE messages received.

open_tx        Number of BGP OPEN messages successfully transmitted.

open_rx        Number of BGP OPEN messages received.

notify_tx      Number of BGP NOTIFICATION messages successfully
               transmitted.

notify_rx      Number of BGP NOTIFICATION messages received.

routes_advertised_tx
                      Number of advertised routes sent.

routes_advertised_rx
                     Number of advertised routes received

routes_withdrawn_tx
                     Number of routes withdrawn.

route_withdrawn_tx
                       Number of UPDATE packets with unfeasible routes sent.

routes_withdrawn_rx
                     Number of update messages received which
                     have a non-empty Withdrawn Routes field.

num_node_routes
                     Number of routes in session.

last_routes_advertised_rx
                     Number of routes in the last-received Update message

notify_code_tx
                     BGP Notify code transmitted. Last Notification message
                     code the emulated router sent to DUT.

notify_subcode_tx
                     BGP Notify subcode transmitted. Each Notification
                     message code has a sub-code.

notify_code_rx
                     BGP Notify code received. The last Notification message
                     code the emulated router received from the DUT.

notify_subcode_rx
                     BGP Notify subcode received. Each Notification message
                     code has a sub-code.

sessions_configured
                     Number of BGP neighbors configured.

sessions_established
                     Number of BGP sessions established.

Note

duration, routing_protocol, and num_node_routes are not supported.

The following keys are returned when you specify -mode settings:

ip_address     IP address of the port on the interface card: a.b.c.d.

ipv6_address   IPv6 address of the port on the interface card:
               aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh.
               This key is only for dual stack BGP devices.

asn            Number of the Autonomous System for the emulated
               router and its BGP peer.

The following keys are returned when you specify -mode neighbors:

peers          List of BGP peer IP addresses.

v6_peers       List of BGP peer IPv6 addresses. This key is only
               for dual stack BGP devices.

The following keys are returned when you specify -mode ls_results:

tx_advertised_ls_local_node_desc
                        Number of LS advertised local node descriptor TLVs
                        transmitted

rx_advertised_ls_local_node_desc
                        Number of LS advertised local node descriptor TLVs
                        received

tx_withdrawn_ls_local_node_desc
                        Number of LS withdrawn local node descriptor TLVs
                        transmitted

rx_withdrawn_ls_local_node_desc
                        Number of LS withdrawn local node descriptor TLVs
                        received

tx_advertised_ls_remote_node_desc
                        Number of LS advertised remote node descriptor TLVs
                        transmitted

rx_advertised_ls_remote_node_desc
                        Number of LS advertised remote node descriptor TLVs
                        received

tx_withdrawn_ls_remote_node_desc
                        Number of LS withdrawn remote node descriptor TLVs
                        transmitted

rx_withdrawn_ls_remote_node_desc
                        Number of LS withdrawn remote node descriptor TLVs
                        received

tx_advertised_ls_link_local_remote_id
                        Number of LS advertised link local/remote identifier
                        TLVs transmitted

rx_advertised_ls_link_local_remote_id
                        Number of LS advertised link local/remote identifier
                        TLVs received

tx_withdrawn_ls_link_local_remote_id
                        Number of LS withdrawn link local/remote identifier
                        TLVs transmitted

rx_withdrawn_ls_link_local_remote_id
                        Number of LS withdrawn link local/remote identifier
                        TLVs received

tx_advertised_ls_ipv4_intf_addr
                        Number of LS advertised IPv4 interface address TLVs
                        transmitted

rx_advertised_ls_ipv4_intf_addr
                        Number of LS advertised IPv4 interface address TLVs
                        received

tx_withdrawn_ls_ipv4_intf_addr
                        Number of LS withdrawn IPv4 interface address TLVs
                        transmitted

rx_withdrawn_ls_ipv4_intf_addr
                        Number of LS withdrawn IPv4 interface address TLVs
                        received

tx_advertised_ls_ipv4_neighbor_addr
                        Number of LS advertised IPv4 interface neighbor TLVs
                        transmitted

rx_advertised_ls_ipv4_neighbor_addr
                        Number of LS advertised IPv4 interface neighbor TLVs
                        received

tx_withdrawn_ls_ipv4_neighbor_addr
                        Number of LS withdrawn IPv4 interface neighbor TLVs
                        transmitted

rx_withdrawn_ls_ipv4_neighbor_addr
                        Number of LS withdrawn IPv4 interface neighbor TLVs
                        received

tx_advertised_ls_multitopo_id
                        Number of LS advertised multi-topology ID TLVs
                        transmitted

rx_advertised_ls_multitopo_id
                        Number of LS advertised multi-topology ID TLVs
                        received

tx_withdrawn_ls_multitopo_id
                        Number of LS withdrawn multi-topology ID TLVs
                        transmitted

rx_withdrawn_ls_multitopo_id
                        Number of LS withdrawn multi-topology ID TLVs
                        received

tx_advertised_ls_ip_reach_info
                        LS advertised IP reachability information TLVs
                        transmitted

rx_advertised_ls_ip_reach_info
                        LS advertised IP reachability information TLVs
                        received

tx_withdrawn_ls_ip_reach_info
                        LS withdrawn IP reachability information TLVs
                        transmitted

rx_withdrawn_ls_ip_reach_info
                        Number of LS withdrawn IP reachability information
                        TLVs received

tx_advertised_ls_as
                        Number of LS advertised autonomous system TLVs
                        transmitted

rx_advertised_ls_as
                        Number of LS advertised autonomous system TLVs
                        received

tx_withdrawn_ls_as
                        Number of LS withdrawn autonomous system TLVs
                        transmitted

rx_withdrawn_ls_as
                        Number of LS withdrawn autonomous system TLVs
                        received

tx_advertised_ls_ls_id
                        Number of advertised BGP LS identifier TLVs
                        transmitted

rx_advertised_ls_ls_id
                        Number of advertised BGP LS identifier TLVs received

tx_withdrawn_ls_ls_id
                        Number of withdrawn BGP LS identifier TLVs
                        transmitted

rx_withdrawn_ls_ls_id
                        Number of withdrawn BGP LS identifier TLVs received

tx_advertised_ls_ospf_area_id
                        Number of LS advertised OSPF area identifier TLVs
                        transmitted

rx_advertised_ls_ospf_area_id
                        Number of LS advertised OSPF area identifier TLVs
                        received

tx_withdrawn_ls_ospf_area_id
                        Number of LS withdrawn OSPF area identifier TLVs
                        transmitted

rx_withdrawn_ls_ospf_area_id
                        Number of LS withdrawn OSPF area identifier TLVs
                        received

tx_advertised_ls_igp_router_id
                        Number of LS advertised IGP router identifier TLVs
                        transmitted

rx_advertised_ls_igp_router_id
                        Number of LS advertised IGP router identifier TLVs
                        received

tx_withdrawn_ls_igp_router_id
                        Number of LS withdrawn IGP router identifier TLVs
                        transmitted

rx_withdrawn_ls_igp_router_id
                        Number of LS withdrawn IGP router identifier TLVs
                        received

tx_ls_attribute_multitopo_id
                        Number of LS attribute multi-topology ID TLVs
                        transmitted

rx_ls_attribute_multitop_id
                        Number of LS attribute multi-topology ID TLVs
                        received

tx_ls_attribute_link_local_remote_id
                        Number of LS attribute link local/remote identifier
                        TLVs transmitted.

rx_ls_attribute_link_local_remote_id
                        Number of LS attribute link local/remote identifier
                        TLVs received

tx_ls_node_flag_bit TLVs
                        Number of LS node flag bit TLVs transmitted

rx_ls_node_flag_bit TLVs
                        Number of LS node flag bit TLVs received

tx_ls_node_name
                        Number of LS node name TLVs transmitted

rx_ls_node_name
                        Number of LS node name TLVs received

tx_ls_isis_area_id
                        Number of LS ISIS area identifier TLVs transmitted

rx_ls_isis_area_id
                        Number of LS ISIS area identifier TLVs received

tx_ls_ipv4_router_id_local_node
                        Number of LS IPv4 router ID TLVs transmitted on the
                        local node


rx_ls_ipv4_router_id_local_node
                        Number of LS IPv4 router ID TLVs received on the
                        local node TLV


tx_ls_ipv4_router_id_remote_node
                        Number of LS IPv4 router ID TLVs transmitted on the
                        remote node


rx_ls_ipv4_router_id_remote_node
                        Number of LS IPv4 router ID TLVs received on the
                        remote node

tx_ls_admin_group
                        Number of LS administrative group TLVs transmitted

rx_ls_admin_group
                        Number of LS administrative groups TLVs received

tx_ls_max_link_bw
                        Number of LS maximum link bandwidth TLVs transmitted

rx_ls_max_link_bw
                        Number of LS maximum link bandwidth TLVs received

tx_ls_max_reservable_link_bw
                        Number of LS maximum reservable link bandwidth TLVs
                        transmitted

rx_ls_max_reservable_link_bw
                        Number of LS maximum reservable link bandwidth TLVs
                        received

tx_ls_unreserved_bw
                        Number of LS unreserved link bandwidth TLVs transmitted

rx_ls_unreserved_bw
                        Number of LS unreserved link bandwidth TLVs received

tx_ls_te_default_metric
                        Number of LS TE default metric TLVs transmitted

rx_ls_te_default_metric
                        Number of LS TE default metric TLVs received

tx_ls_igp_metric
                        Number of LS IGP metric TLVs transmitted

rx_ls_igp_metric
                        Number of LS IGP metric TLVs received

tx_ls_shared_risk_link_group
                        Number of LS shared risk link group TLVs transmitted

rx_ls_shared_risk_link_group
                        Number of LS shared risk link group TLVs received

tx_ls_igp_flags
                        Number of LS IGP flag TLVs transmitted

rx_ls_igp_flags
                        Number of LS IGP flag TLVs received

tx_ls_prefix_metric
                        Number of LS prefix metric TLVs transmitted

rx_ls_prefix_metric        Number of LS prefix metric TLVs received

Description

The sth::emulation_bgp_info function provides information about either the settings specified for the BGP configuration, the statistics returned by it, or its neighbors.

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

Examples

#### HLTAPI for Tcl ####

To retrieve statistics from one BGP device:

sth::emulation_bgp_info\
      -handle     $device\
      -mode       stats\

Sample Output:

{emulateddevice1 {{route_withdrawn_tx 0} {routes_withdrawn_rx 0}
{notify_code_rx 0} {routes_withdrawn_tx 0} {ip_address 192.85.1.3}
{notify_subcode_rx 0} {notify_code_tx 0} {num_node_routes 0} {peers 192.85.1.1}
{keepalive_rx 0} {notify_subcode_tx 0} {last_routes_advertised_rx 0}
{keepalive_tx 0} {asn 23456} {notify_rx 0} {open_rx 0} {update_rx 0}
{notify_tx 0} {routes_advertised_rx 0} {open_tx 0} {sessions_configured 1}
{sessions_established 0} {update_tx 0} {routes_advertised_tx 0}}}
{route_withdrawn_tx 0} {routes_withdrawn_rx 0} {notify_code_rx 0}
{routes_withdrawn_tx 0} {ip_address 192.85.1.3} {notify_subcode_rx 0}
{notify_code_tx 0} {num_node_routes 0} {peers 192.85.1.1} {keepalive_rx 0}
{notify_subcode_tx 0} {last_routes_advertised_rx 0} {keepalive_tx 0} {asn 23456}
{notify_rx 0} {open_rx 0} {update_rx 0} {notify_tx 0} {routes_advertised_rx 0}
{open_tx 0} {sessions_configured 1} {sessions_established 0} {update_tx 0}
{routes_advertised_tx 0} {status 1}

To retrieve statistics from multiple BGP devices:

sth::emulation_bgp_info\
   -handle     all\
   -mode       stats\

Sample Output:

{emulateddevice1 {{ipv4_count 0} {ipv4_routes {}} {ipv6_count 0} {ipv6_routes {}}
{ipv4_mpls_vpn_count 0} {ipv4_mpls_vpn_routes {}} {ipv6_mpls_vpn_count 0}
{ipv6_mpls_vpn_routes {}}}} {emulateddevice2 {{ipv4_count 0} {ipv4_routes {}}
{ipv6_count 0} {ipv6_routes {}} {ipv4_mpls_vpn_count 0} {ipv4_mpls_vpn_routes {}}
{ipv6_mpls_vpn_count 0} {ipv6_mpls_vpn_routes {}}}} {status 1}

#### HLTAPI for Python ####

Sample Input:

results_ret1 = sth.emulation_bgp_info (
        handle              = device,
        mode                = 'stats');

Sample Output:

{'sessions_configured': '1', 'routes_advertised_rx': '0',
'notify_subcode_tx': '0', 'keepalive_rx': '0', 'keepalive_tx': '0',
'notify_rx': '0', 'num_node_routes': '0', 'sessions_established': '0',
'status': '1', 'notify_tx': '0', 'open_rx': '0', 'update_tx': '0',
'ip_address': '192.85.1.3', 'asn': '23456', 'notify_code_rx': '0',
'peers': '192.85.1.1', 'routes_withdrawn_rx': '0', 'route_withdrawn_tx': '0',
'update_rx': '0', 'notify_code_tx': '0', 'routes_advertised_tx': '0',
'open_tx': '0', 'notify_subcode_rx': '0', 'routes_withdrawn_tx': '0',
'last_routes_advertised_rx': '0'}

#### HLTAPI for Perl ####

Sample Input:

my %results_ret1 = sth::emulation_bgp_info (
         handle              => "$device",
         mode                => 'stats');

Sample Output:

$VAR1 = 'notify_code_tx';
$VAR2 = '0';
$VAR3 = 'peers';
$VAR4 = '192.85.1.1';
$VAR5 = 'notify_subcode_rx';
$VAR6 = '0';
$VAR7 = 'status';
$VAR8 = '1';
$VAR9 = 'asn';
$VAR10 = '23456';
    ...

End of Procedure Header

sth::emulation_bgp_route_info

Purpose

Returns information on advertised and received BGP routes for the specified emulated node.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_route_info
   [-handle <BGP_session_handle>  M]
   [-mode {advertised|received}  M]

Arguments

-handle

The BGP session for which you want information. This argument is Mandatory .

-mode

Specifies the kind of information you want to see. This argument is mandatory. Possible values are:

advertised    Returns transmitted count and route statistics

received      Returns the received count and route statistics

Return Values

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

status         Retrieves a value indicating the success (1) or failure
               (0) of the operation.

log            Retrieves a message describing the last error that
               occurred during the operation. If the operation was
               successful - {status 1} - the log value is null.

The following keys are returned when you specify -mode advertised or received:

ipv4_count     Number of BGP IPv4 routes advertised or received.

ipv6_count     Number of BGP IPv6 routes advertised or received.

The following keys are not supported but still returned:

ipv4_routes           List of BGP IPv4 route prefix and prefix length
                      advertised or received. Returns "{}".

ipv6_routes           List of BGP IPv6 route prefix and prefix length
                      advertised or received. Returns "{}".

ipv4_mpls_vpn_count   Number of BGP MPLS IPv4 routes advertised or
                      received. Returns 0.

ipv4_mpls_vpn_routes  List of BGP IPv4 route prefix, admin, assigned,
                      and label advertised or received. Returns "{}".

ipv6_mpls_vpn_count   Number of BGP MPLS IPv6 routes advertised or
                      received. Returns 0.

ipv6_mpls_vpn_routes  List of BGP IPv6 route prefix, admin, assigned,
                      and label advertised or received. Returns "{}".

Description

The sth::emulation_bgp_route_info function provides information about either the advertised or received BGP routes.

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

Examples

#### HLTAPI for Tcl ####

Sample Input:

sth::emulation_bgp_route_info -mode advertised -handle router1

Sample Output:

{ipv4_count 100} {ipv4_routes {}} {ipv6_count 0} {ipv6_routes
{}} {ipv4_mpls_vpn_count 0} {ipv4_mpls_vpn_routes {}}
{ipv6_mpls_vpn_count 0} {ipv6_mpls_vpn_routes {}} {status 1}

#### HLTAPI for Python ####

Sample Input:

sth.emulation_bgp_route_info (
     handle              = device,
     mode                = 'advertised');

Sample Output:

{'status': '1', 'ipv4_mpls_vpn_count': '0', 'ipv4_count': '0',
'ipv6_mpls_vpn_count': '0', 'ipv6_routes': '', 'ipv4_routes': '',
'ipv4_mpls_vpn_routes': '', 'ipv6_count': '0', 'ipv6_mpls_vpn_routes': ''}

#### HLTAPI for Perl ####

Sample Input:

sth::emulation_bgp_route_info (
    handle              => "$device",
    mode                => 'advertised');

Sample Output:

$VAR1 = 'ipv4_mpls_vpn_count';
$VAR2 = '0';
$VAR3 = 'status';
$VAR4 = '1';
$VAR5 = 'ipv4_count';
$VAR6 = '0';
$VAR7 = 'ipv4_routes';
$VAR8 = '';
$VAR9 = 'ipv6_mpls_vpn_count';
$VAR10 = '0';
$VAR11 = 'ipv6_routes';
$VAR12 = '';
$VAR13 = 'ipv6_mpls_vpn_routes';
$VAR14 = '';
$VAR15 = 'ipv6_count';
$VAR16 = '0'
$VAR17 = 'ipv4_mpls_vpn_routes';
$VAR18 = '';

End of Procedure Header

sth::emulation_bgp_route_generator

Purpose

This is a Spirent Extention created to configure or modify the router topology under the specified BGP emulated router, matching the operation of the BGP Route Generator from the Spirent TestCenter GUI.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_route_generator
    [-mode {create|delete|modify}  M]
    [-handle <list of router_handle>]
    [-elem_handle <route_handle>]
    [-delete_existing_routes {true|false}]
    [-configure_same_start_ipaddr {0|1}]
    [-modify_same_ipblock_handle {0|1}]
    [-modify_session_ip_ver {0|1}]
  [-route_type ipv4]
        [-ipv4_route_count  <integer>]
        [-ipv4_route_dup_percentage  <0-100>]
        [-ipv4_route_weight_assignment  {byports|byrouters|byspeed}]
        [-ipv4_route_ip_addr_start  <a.b.c.d>]
        [-ipv4_route_ip_addr_end  <a.b.c.d>]
        [-ipv4_route_disable_route_aggr  {true|false}]
        [-ipv4_route_prefix_len_dist_type  {custom|exponential|fixed|internet|linear}]
        [-ipv4_route_prefix_len_dist  <0-100>]
        [-ipv4_route_prefix_len_start  <1-32>]
        [-ipv4_route_prefix_len_end  <1-32>]
        [-ipv4_route_pri_as_path_incr  <string>]
        [-ipv4_route_pri_as_path_suffix  <string>]
        [-ipv4_route_sec_as_path_incr  <string>]
        [-ipv4_route_sec_as_path_suffix  <string>]
        [-ipv4_route_med  <0-4294967295>]
        [-ipv4_route_med_incr  <0-4294967295>]
        [-ipv4_route_local_pref  <0-4294967295>]
        [-ipv4_route_local_pref_incr  <0-4294967295>]
        [-use_ipv4_device_intf_addr_as_next_hop  {true|false}]
        [-ipv4_route_next_hop  <a.b.c.d>]
        [-ipv4_next_hop_count  <integer>]
        [-ipv4_next_hop_increment  <a.b.c.d>]
        [-ipv4_prefix_length_count  <1-32>]
        [-ipv4_prefix_length_increment  <1-32>]
  [-route_type ipv6]
        [-ipv6_route_count  <integer>]
        [-ipv6_route_dup_percentage  <0-100>]
        [-ipv6_route_weight_assignment  {byports|byrouters|byspeed}]
        [-ipv6_route_ip_addr_start <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
        [-ipv6_route_ip_addr_end <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
        [-ipv6_route_disable_route_aggr  {true|false}]
        [-ipv6_route_prefix_len_dist_type  {custom|exponential|fixed|internet|linear}]
        [-ipv6_route_prefix_len_dist  <0-100>]
        [-ipv6_route_prefix_len_start  <1-128>]
        [-ipv6_route_prefix_len_end  <1-128>]
        [-ipv6_route_pri_as_path_incr  <string>]
        [-ipv6_route_pri_as_path_suffix  <string>]
        [-ipv6_route_sec_as_path_incr  <string>]
        [-ipv6_route_sec_as_path_suffix  <string>]
        [-ipv6_route_med  <0-4294967295>]
        [-ipv6_route_med_incr  <0-4294967295>]
        [-ipv6_route_local_pref  <0-4294967295>]
        [-ipv6_route_local_pref_incr  <0-4294967295>]
        [-use_ipv6_device_intf_addr_as_next_hop  {true|false}]
        [-ipv6_route_next_hop <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
        [-ipv6_next_hop_count  <integer>]
        [-ipv6_next_hop_increment <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
        [-ipv6_prefix_length_count  <1-32>]
        [-ipv6_prefix_length_increment  <1-32>]
    [-route_type link_state]
        [-igp_protocols  {isis_ipv4|ospfv2}]
        [-area_number  <1-4294967295>]
        [-backbone_headend_routers_number <integer>]
        [-num_of_abrs {one|two}]
        [-num_routers  <1-100>]
        [-num_simulated_routers  <1-10000>]
        [-b_full_mesh_num_routers <1-100>]
        [-b_grid_rows <2-10000>]
        [-b_grid_columns <2-10000>]
        [-ipv4_addr_start  <a.b.c.d>]
        [-ipv4_addr_end  <a.b.c.d>]
        [-enable_loopback_advertisement  {true|false}]
        [-headend_routers_per_area  <1-4294967295>]
        [-if_type  {broadcast|point_to_point}]
        [-if_prefix_length  <1-31>]
        [-igp_metric_enabled  <true|false}]
        [-igp_metric_type  {isis_narrow|isis_wide|ospfv2}]
        [-increment_sr_weight  {true|false}]
        [-increment_igp_metric  {true|false}]
        [-increment_ipv4_prefix_metric  {true|false}]
        [-increment_te_rsvr_bandwidth  {true|false}]
        [-increment_te_unrsvr_bandwidth  {true|false}]
        [-max_if_per_router  <0-10000>]
        [-max_routers_per_transit_network  <2-10000>]
        [-nb_tree_num_simulated_routers <1-10000>]
        [-nb_tree_if_type {point_to_point|broadcast}]
        [-nb_tree_max_if_per_router <0-10000>]
        [-nb_tree_max_routers_per_transit_network <2-10000>]
        [-nb_grid_rows <2-10000>]
        [-nb_grid_columns <2-10000>]
        [-router_id_start  <a.b.c.d>]
        [-router_id_step  <a.b.c.d>]
        [-system_id_start  <mac addr>]
        [-system_id_step  <mac addr>]
        [-sr_enabled  {true|false}]
        [-sr_algorithms  <string>]
        [-sr_sid_label_type  {label|sid}]
        [-sr_cap_range  <0-16777215>]
        [-sr_cap_value  <integer>]
        [-sr_adj_value  <integer>]
        [-sr_ipv4_prefix_sid  <integer>]
        [-sr_ipv4_prefix_sid_step  <integer>]
        [-te_rsvr_bandwidth_step  <integer>]
        [-te_unrsvr_bandwidth0_step <1-4294967295>]
        [-te_unrsvr_bandwidth1_step <1-4294967295>]
        [-te_unrsvr_bandwidth2_step <1-4294967295>]
        [-te_unrsvr_bandwidth3_step <1-4294967295>]
        [-te_unrsvr_bandwidth4_step <1-4294967295>]
        [-te_unrsvr_bandwidth5_step <1-4294967295>]
        [-te_unrsvr_bandwidth6_step <1-4294967295>]
        [-te_unrsvr_bandwidth7_step <1-4294967295>]
        [-te_enabled  {true|false}]
        [-te_sub_tlv_type   {none|group|max_bw|max_rsv_bw|unreserved|local_ip
                        |remote_ip|default_metric}]
        [-te_bw_unit  {bits_per_sec|bytes_per_sec|mbytes_per_sec}]
        [-te_default_metric  <integer>]
        [-te_local_ip  <a.b.c.d>]
        [-te_remote_ip  <a.b.c.d>]
        [-te_admin_group  <1-4294967295>]
        [-te_max_bw  <1-4294967295>]
        [-te_max_resv_bw  <1-4294967295>]
        [-te_unresv_bw_priority0  <1-4294967295>]
        [-te_unresv_bw_priority1  <1-4294967295>]
        [-te_unresv_bw_priority2  <1-4294967295>]
        [-te_unresv_bw_priority3  <1-4294967295>]
        [-te_unresv_bw_priority4  <1-4294967295>]
        [-te_unresv_bw_priority5  <1-4294967295>]
        [-te_unresv_bw_priority6  <1-4294967295>]
        [-te_unresv_bw_priority7  <1-4294967295>]

Arguments

-mode

Specifies the action to perform on the specified test port. Possible values are create, modify, or delete. The modes are described below:

create   Creates BGP routes, based on the route type specified
         by -route_type.

modify   Modifies the configuration of the topology element
         specified by -elem_handle.
         .. note:: Arguments configured under -mode create
         cannot be used with -mode modify. If you want to modify
         these arguments, delete the routes/Link State (LS)
         configurations using -mode delete, and create again.

delete   Deletes the created routes/LS configurations, based on
         specified route types. If -route_type is not specified,
         deletes all routes/link states for the router associated
         with the topology element specified by -elem_handle.
-handle

Identifies a list of router handles on which to create, modify, or delete a topology element. This argument is required for modes create and modify.

-elem_handle

Specifies the topology element to modify or delete. You must specify this argument if the mode is modify or delete (see description for -mode).

-configure_same_start_ipaddr

Specifies to configure the same start IP network for all the Ipv4 or Ipv6 routes. Possible values are 0 and 1. The default value is 0. If the value is set to 1, all the routes created will be configured with the Ip network address given for the argument -ipv4_route_ip_addr_start or -ipv6_route_ip_addr_start.

-modify_same_ipblock_handle

Specifies to modify the network count, start IP, and prefixlength for the same IP network block handle created. Possible values are 0 and 1. The default value is 0. If the value is set to 1, network count, start IP, and prefixlength of the specified IP network handles can be modified. This argument is applicable only for modify mode. You must specify -handle and -elem_handle along with this argument.

-modify_session_ip_ver

Specifies whether to modify the session IP version for the IPv4 or IPv6 routes created under dual stack devices. Possible values are 0 and 1. The default value is 0. If the value is set to 1, and the session IP version of the route is set to IPv4 and IPv6, it will be modified to IPv4 for IPv4 routes and to IPv6 for IPv6 routes. This argument is applicable only for create mode. You must specify -handle and -route_type as IPv4 or IPv6 along with this argument.

-backbone_headend_routers_number

Number of headend routers in the backbone area. The value must be an integer. The default value is 2.

-b_grid_rows

Number of rows in the backbone area (grid topology). Possible values range from 2 to 10000. The default value is 2.

-b_grid_columns

Number of columns in the backbone area (grid topology). Possible values range from 2 to 10000. The default value is 2.

-b_full_mesh_num_routers

Number of headend routers per backbone area (full mesh topology). Possible values range from 1 to 4294967295. The default value is 2. (This option is deprecated. It is recommended that you do not use it with new scripts.)

-enable_loopback_advertisement

Determines whether to generate an additional IPv4 prefix NLRI with the prefix set to the router ID and the prefix set to 32. Possible values are:If it is set to true, the additional IPv4 prefix NLRI will be generated. The default value is false.

-headend_routers_per_area

Number of headend routers per area. Possible values range from 1 to 4294967295. The default value is 2.

-if_type

Specifies the type of interface to connect simulated routers. Possible values are described below:

point_to_point      Creates a node Network Layer Reachability
                    Information (NLRI) for each router, a link NLRI
                    for each link, and an IPv4 prefix NLRI for
                    each connected network

broadcast           Creates a pseudo-node NLRI to be used for all
                    the nodes in the same network.

The default value is point_to_point.

-ipv4_addr_start

Value of the first IPv4 prefix. The value must be in IPv4 format. The default value is 1.0.0.0.

-ipv4_addr_end

Value of the last IPv4 prefix. The value must be in IPv4 format. The default value is 223.255.255.255.

-delete_existing_routes

Specifies how to handle pre-existing routes when route/topology generator parameters are applied. Possible values are:

true                Delete pre-existing routes
false               Keep pre-existing routes

The default value is false

-if_prefix_length

Length of the network part of the address. Possible values range from 1 to 31. The default value is 24.

-igp_metric_enabled

Enables/Disables IGP metrics. Possible values are true (enable) and false (disable). The default value is false.

-igp_metric_type

Specifies IGP metric types. Possible values are described below:

isis_narrow     ISIS Narrow Metrics
isis_wide       ISIS Wide Metrics
ospfv2          OSPFv2 Metrics

The default value is ospfv2.

-increment_sr_weight

Determines whether to create unique values for the weight. Possible values are:When set to true, unique weight values will be created, starting from 1 and incrementing by 1. The default value is false.

-increment_igp_metric

Determines whether to create unique values for the headend router metric. Possible values are:When set to true, unique value will be created for the headend router metric, starting from 1 and incrementing by 1. The default value is false.

-increment_ipv4_prefix_metric

Determines whether to create unique values for the prefix metric. Possible values are:When set to true, unique prefix metric values will be created, starting from 1 and incrementing by 1. The default value is false.

-increment_te_rsvr_bandwidth

Enables/Disables Traffic Engineering (TE) reservable bandwidth. Possible values are true (enable) and false (disable). The default value is false.

-increment_te_unrsvr_bandwidth

Enables/disables TE unreservable bandwidth. Possible values are true (enable) and false (disable). The default value is false.

-max_if_per_router

Maximum number of interfaces per router. This argument is available when -if_type is set to point_to_point. Possible values range from 0 to 10000. The default value is 4.

-max_routers_per_transit_network

Maximum number of routers per transit network. This argument is available when -if_type is set to broadcast. Possible values range from 2 to 10000. The default value is 5.

-nb_grid_rows

Number of rows in the non-backbone area (grid topology). Possible values range from 2 to 10000. The default value is 2.

-nb_grid_columns

Number of columns in the non-backbone area (grid topology). Possible values range from 2 to 10000. The default value is 2.

-nb_tree_max_routers_per_transit_network

Maximum number of routers per transit network in the non-backbone area (tree topology). This argument is available when -nb_tree_if_type is set to broadcast. Possible values range from 2 to 10000. The default value is 5. (This option is deprecated. It is recommended that you do not use it with new scripts.)

-nb_tree_num_simulated_routers

Total number of routers in the non-backbone network (tree topology). Possible values range from 1 to 10000. The default value is 50. (This option is deprecated. It is recommended that you do not use it with new scripts.)

-nb_tree_if_type

Specifies the type of interface to connect simulated routers in the non-backbone area (tree topology). Possible values are described below:

point_to_point      Creates a node Network Layer Reachability
                    Information (NLRI) for each router, a link NLRI
                    for each link, and an IPv4 prefix NLRI for
                    each connected network

broadcast           Creates a pseudo-node NLRI to be used for all
                    the nodes in the same network.

The default value is point_to_point. (This option is deprecated. It is recommended that you do not use it with new scripts.)

-nb_tree_max_if_per_router

Maximum number of interfaces per router in the non-backbone area (tree topology). This argument is available when -nb_tree_if_type is set to point_to_point. Possible values range from 0 to 10000. The default value is 4. (This option is deprecated. It is recommended that you do not use it with new scripts.)

-num_of_abrs

Number of routers to configure. Possible values are one and two. The default value is one.

-num_routers

Total number of routers in the full mesh topology. Possible values range from 1 to 100. The default value is 10.

-num_simulated_routers

Total number of routers in the intra-area network. Possible values range from 1 to 10000. The default value is 50.

-te_rsvr_bandwidth_step

Increment value for reservable bandwidth. This argument is available when -increment_te_rsvr_bandwidth is set to true. The value must be an integer. The default value is 10000.

-te_unrsvr_bandwidth0_step

TE Parameters: Unreserved Bandwidth step priority 0. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth1_step

TE Parameters: Unreserved bandwidth step priority 1 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth2_step

TE Parameters: Unreserved bandwidth step priority 2 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth3_step

TE Parameters: Unreserved bandwidth step priority 3 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth4_step

TE Parameters: Unreserved bandwidth step priority 4 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth5_step

TE Parameters: Unreserved bandwidth step priority 5 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth6_step

TE Parameters: Unreserved bandwidth step priority 6 Possible values range from 1 to 4294967295. The default value is 100000.

-te_unrsvr_bandwidth7_step

TE Parameters: Unreserved bandwidth step priority 7 Possible values range from 1 to 4294967295. The default value is 100000.

-route_type

Specifies the type of route to create, modify, or delete. Possible values are:

ipv4         IPv4 routes
ipv6         IPv6 routes
link_state   BGP LS routes

Use “|” to specify more than one type, for example, -route_type “ipv4|link_state”.

-router_id_start

Specifies the first router ID. The value must be in IPv4 format. The default value is 1.0.0.1.

-router_id_step

Specifies the increment value to generate subsequent router IDs. The value must be in IPv4 format. The default value is 1.0.0.1.

-sr_enabled

Enables/Disables Segment Routing (SR) capabilities. Possible values are true (enable) and false (disable). The default value is false.

-sr_algorithms

A comma-separated list of integers to specify the algorithm to calculate the reachability to other nodes or to prefixes attached to these nodes. This argument is available when -sr_enabled is set to true. Possible values range from 0 to 255. The default value is 0.

-sr_sid_label_type

Specifies the ID type. Possible values are:

label       20-bit label
sid         32-bit SID

This argument is available when -sr_enabled is set to true. The default value is label.

-sr_cap_range

Specifies the ending value that, along with the starting value set by -sr_cap_value, defines the range of the SR Capabilities sub-TLV. This argument is available when -sr_enabled is set to true. Possible values range from 0 to 16777215. The default value is 100.

-sr_cap_value

Specifies the starting SID for the SR Capabilities sub-TLV. This argument is available when -sr_enabled is set to true. The value must be an integer. The default value is 100.

-sr_adj_value

Specifies the starting SID for the SR Adjacentcy sub-TLV. This argument is available when -sr_enabled is set to true. The value must be an integer. The default value is 9001.

-sr_ipv4_prefix_sid

Value of the SID/Label/Index for the first prefix. This argument is available when -sr_enabled is set to true. The value must be an integer. The default value is 0.

-sr_ipv4_prefix_sid_step

Specifies the increment value to create SID/Label/Index values for subsequent prefixes. This argument is available when -sr_enabled is set to true. The value must be an integer. The default value is 1.

-system_id_start

Specifies the first system ID. This argument is available when -igp_protocols is set to isis_ipv4. The value must be in MAC format. The default value is 10:00:00:00:00:01.

-system_id_step

Specifies the increment value to generate subsequent system IDs. This argument is available when -igp_protocols is set to isis_ipv4. The value must be in MAC format. The default value is 00:00:00:00:00:01.

-te_enabled

Enables/disables TE options. Possible values are true (enable) and false (disable). The default value is false.

-te_sub_tlv_type

TE type of information about resources of routed links. Possible values are:

Value                     Description

none                No sub-TLV is used
group               4-octet bit mask assigned by the network
                    administrator. Each bit corresponds to one
                    administrative group assigned to the
                    interface
max_bw              Maximum bandwidth that can be used on the
                    link from the emulated router
max_rsv_bw          Maximum bandwidth that can be reserved on the link
unreserved          Amount of bandwidth not yet reserved at each
                    of the eight priority levels The values
                    correspond to the bandwidth that can be
                    reserved with a setup priority of 0 through 7
local_ip            IP address of the interface corresponding to
                    the current link
remote_ip           IP address of the neighbor's interface
                    corresponding to the current link
default_metric      Default metric

The default value is none. Use “|” to specify more than one type. For example:

-te_sub_tlv_type   "group|max_bw|max_rsv_bw"
-te_bw_unit

Specifies the bandwidth unit of measurement. Possible values are:

bits_per_sec              Bits per second
bytes_per_sec             Bytes per second
mbytes_per_sec            Megabytes per second

The default value is bytes_per_sec.

-te_default_metric

Specifies the TE default metric. The value must be an integer. The default value is 0.

-te_local_ip

IP address of the interface corresponding to the current link. The value must be in IPv4 format. The default value is 0.0.0.0.

-te_remote_ip

IP address of the neighbor’s interface corresponding to the current link. The value must be in IPv4 format. The default value is 0.0.0.0.

-te_admin_group

4-octet bit mask assigned by the network administrator. Each bit corresponds to one administrative group assigned to the interface. Possible values range from 1 to 4294967295. The default value is 100000.

-te_max_bw

Maximum bandwidth that can be used on the link from the emulated router. Possible values range from 1 to 4294967295. The default value is 100000.

-te_max_resv_bw

Maximum bandwidth that can be reserved on the link from the emulated router. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority0

Amount of bandwidth not yet reserved at priority level 0. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority1

Amount of bandwidth not yet reserved at priority level 1. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority2

Amount of bandwidth not yet reserved at priority level 2. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority3

Amount of bandwidth not yet reserved at priority level 3. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority4

Amount of bandwidth not yet reserved at priority level 4. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority5

Amount of bandwidth not yet reserved at priority level 5. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority6

Amount of bandwidth not yet reserved at priority level 6. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

-te_unresv_bw_priority7

Amount of bandwidth not yet reserved at priority level 7. This argument is available when type unreserved is specified in the -te_sub_tlv_type argument. Possible values range from 1 to 4294967295. The default value is 100000.

Use the following group of arguments to configure IPv4 routes. You must specify -route_type ipv4.

-ipv4_route_count

Total number of routes to generate. The value must be an integer. The default value is 0.

-ipv4_route_dup_percentage

Percentage of routes duplicated to another port. Possible values range from 0 to 100. The default value is 0.

-ipv4_route_weight_assignment

Specifies the method to distribute total number of routes. Possible values are:

byports            Distribute by ports

byrouters          Distribute by routers

byspeed            Distribute by speed

The default value is byrouters.

-ipv4_route_ip_addr_start

Specifies the starting IPv4 address for generating routes. The default value is 1.0.0.0.

-ipv4_route_ip_addr_end

Specifies the ending IPv4 address for generating routes. The default value is 223.255.255.255.

-ipv4_route_disable_route_aggr

Enables/disables IPv4 routes aggregation. This argument is available for -mode modify. Possible values are true (enable) and false (disable). The default value is false.

-ipv4_route_prefix_len_dist_type

Type of prefix length distribution used to generate routes. Possible values are:

custom           Defines a custom percentage of routes for
                 each prefix length

exponential      Routes are distributed across prefix lengths
                 using an exponential algorithm

fixed            All routes have the same user-specified
                 prefix length

internet         Routes are distributed across prefix lengths in
                 a manner typical of the Internet's default-free
                 router prefix distribution

linear           Routes are distributed equally across prefix
                 lengths from the starting prefix length to
                 the ending prefix length

The default value is fixed.

-ipv4_route_prefix_len_dist

Percentage of routes to create for each prefix length. This argument is available when -ipv4_route_prefix_len_dist_type is set to custom. Possible values range from 0 to 100. The default value is 0.

-ipv4_route_prefix_len_start

Minimum prefix length for generated routes. Possible values range from 1 to 32. The default value is 24.

-ipv4_route_prefix_len_end

Maximum prefix length for generated routes. Possible values range from 1 to 32. The default value is 24.

-ipv4_route_pri_as_path_incr

Specifies a list of numbers in string format that indicate the values in the Autonomous Systems (AS) path to be incremented. The default value is 1.

-ipv4_route_pri_as_path_suffix

AS path suffix for primary routes, in string format. The default value is 1.

-ipv4_route_sec_as_path_incr

Specifies a list of numbers in string format that indicate the values in the secondary AS Path to be incremented. The default value is 1.

-ipv4_route_sec_as_path_suffix

AS path suffix for secondary routes, in string format. The default value is 1.

-ipv4_route_med

Specifies the preferred exit point to a neighboring AS. Possible values range from 0 to 4294967295.

-ipv4_route_med_incr

Step value for subsequent Multi-Exit Discriminator (MED) values. Possible values range from 0 to 4294967295. The default value is 0.

-ipv4_route_local_pref

Specifies the preference for a route to other BGP speakers in the same AS. Possible values range from 0 to 4294967295. The default value is 10.

-ipv4_route_local_pref_incr

Modifier to allow a route block to vary the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-use_ipv4_device_intf_addr_as_next_hop

Determines whether to use the device interface address as the next hop. Possible values are:If it is set to true, the device interface address will be used as the next hop. The default value is true.

-ipv4_route_next_hop

IP address of the border router that will be used as the next hop. The default value is 1.1.1.1. You must set -use_ipv4_device_intf_addr_as_next_hop to true.

-ipv4_next_hop_count

Number of unique next hops in the route block. The value must be an integer. The default value is 1.

-ipv4_next_hop_increment

Modifier to allow a route block to vary the next hop. The value must be in IPv4 format. The default value is 0.0.0.1.

-ipv4_prefix_length_count

Number of unique prefix lengths in the route block. Possible values range from 1 to 32. The default value is 1.

-ipv4_prefix_length_increment

Modifier to allow a route block to vary the prefix length. Possible values range from 1 to 32. The default value is 1.

Use the following group of arguments to configure IPv6 routes. You must specify -route_type ipv6.

-ipv6_route_count

Total number of routes to generate. The value must be an integer. The default value is 0.

-ipv6_route_dup_percentage

Percentage of routes duplicated to another port. Possible values range from 0 to 100. The default value is 0.

-ipv6_route_weight_assignment

Specifies the method to distribute total number of routes. Possible values are:

byports            Distribute by ports

byrouters          Distribute by routers

byspeed            Distribute by speed

The default value is byrouters.

-ipv6_route_ip_addr_start

Specifies the starting IPv6 address for generating routes. The default value is 2000::.

-ipv6_route_ip_addr_end

Specifies the ending IPv6 address for generating routes. The default value is 3ffe::.

-ipv6_route_disable_route_aggr

Enables/disables IPv6 routes aggregation. Possible values are true (enable) and false (disable). The default value is false. This argument is available in the modify mode.

-ipv6_route_prefix_len_dist_type

Type of prefix length distribution used to generate routes. Possible values are:

custom             Defines a custom percentage of routes for
                   each prefix length

exponential        Routes are distributed across prefix lengths
                   using an exponential algorithm

fixed              All routes have the same user-specified
                   prefix length

internet           Routes are distributed across prefix lengths in
                   a manner typical of the Internet's default-free
                   router prefix distribution

linear             Routes are distributed equally across prefix
                   lengths from the starting prefix length to the
                   ending prefix length

The default value is fixed.

-ipv6_route_prefix_len_dist

Percentage of routes to create for each prefix length. This argument is available when -ipv6_route_prefix_len_dist_type is set to custom. Possible values range from 0 to 100. The default value is 0.

-ipv6_route_prefix_len_start

Minimum prefix length for generated routes. Possible values range from 1 to 128. The default value is 64.

-ipv6_route_prefix_len_end

Maximum prefix length for generated routes. Possible values range from 1 to 128. The default value is 64.

-ipv6_route_pri_as_path_incr

Specifies a list of numbers in string format that indicate the values in the primary AS Path to be incremented. The default value is 1.

-ipv6_route_pri_as_path_suffix

AS path suffix for primary routes, in string format. The default value is 1.

-ipv6_route_sec_as_path_incr

Specifies a list of numbers in string format that indicate the values in the secondary AS Path to be incremented. The default value is 1.

-ipv6_route_sec_as_path_suffix

AS path suffix for secondary routes, in string format. The default value is 1.

-ipv6_route_med

Specifies the preferred exit point to a neighboring AS. Possible values range from 0 to 4294967295.

-ipv6_route_med_incr

Modifier to allow a route block to vary the MED. Possible values range from 0 to 4294967295. The default value is 0.

-ipv6_route_local_pref

Specifies the preference for a route to other BGP speakers in the same AS. Possible values range from 0 to 4294967295. The default value is 10.

-ipv6_route_local_pref_incr

Modifier to allow a route block to vary the local preference. Possible values range from 0 to 4294967295. The default value is 0.

-use_ipv6_device_intf_addr_as_next_hop

Determines whether to use the device interface address as the next hop. Possible values are:If it is set to true, the device interface address will be used as the next hop. The default value is true.

-ipv6_route_next_hop

IPv6 address of the border router that should be used as the next hop. The default value is 2000::1.

-ipv6_next_hop_count

Number of unique next hops in the route block. The value must be an integer. The default value is 1.

-ipv6_next_hop_increment

Modifier to allow a route block to vary the next hop. The value must be in IPv6 format. The default value is 0::0.

-ipv6_prefix_length_count

Number of unique prefix lengths in the route block. Possible values range from 1 to 32. The default value is 1.

-ipv6_prefix_length_increment

Modifier to allow a route block to vary the prefix length. Possible values range from 1 to 32. The default value is 1.

Use the following group of arguments to configure BGP LS routes. You must specify -route_type link_state.

-igp_protocols

The type of Interior Gateway Protocol (IGP) to configure. Possible values are isis_ipv4 and ospfv2. The default value is ospfv2.

-area_number

Number of areas to configure. The total number of link states created must be less than or equal to 30000. Possible values range from 1 to 4294967295. The default value is 2.

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):

elem_handle       Handle that identifies BGP route generator parameters.
                  Used in -mode delete or modify as the input handle

ip_block_handle   List of handles of IPv4/IPv6 network route blocks under a
                  specific BGP router. Can be used to create traffic

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

log               An error message (if the operation failed)

Description

The sth::emulation_bgp_route_generator function creates and configures IP routes and Link State routes for the BGP protocol. Use the -handle argument to identify the router for which to create, modify, or delete a route/link state. (The router handle value is contained in the keyed list returned by the sth::emulation_bgp_config function.) Use the -mode argument to specify the action to perform. See the -mode argument for a description of the actions.

Examples

The following example configures IPv4 and link state BGP routes:

set device_ret1_route1 [sth::emulation_bgp_route_generator\
    -handle                            $bgp_router1\
    -mode                              create\
    -route_type                        "link_state|ipv4"\
    -ipv4_route_count                          4\
    -ipv4_route_dup_percentage                 20\
    -ipv4_route_weight_assignment              byports\
    -ipv4_route_ip_addr_start                  1.1.1.1\
    -ipv4_route_ip_addr_end                    1.1.1.10\
    -ipv4_route_disable_route_aggr             true\
    -ipv4_route_prefix_len_dist_type           fixed\
    -ipv4_route_pri_as_path_incr               1\
    -ipv4_route_pri_as_path_suffix             1\
    -ipv4_route_med                            20\
    -ipv4_route_med_incr                       1\
    -ipv4_route_local_pref                     30\
    -ipv4_route_local_pref_incr                1\
    -use_ipv4_device_intf_addr_as_next_hop     false\
    -ipv4_route_next_hop                       2.2.2.2\
    -ipv4_next_hop_count                       2\
    -ipv4_next_hop_increment                   0.0.0.1\
    -ipv4_prefix_length_count                  1\
    -ipv4_prefix_length_increment         1\
    -igp_protocols                     ospfv2\
    -area_number                       33\
    -backbone_headend_routers_number   4\
    -b_full_mesh_num_routers           4\
    -ipv4_addr_start                   1.1.1.1\
    -ipv4_addr_end                     1.1.1.10\
    -if_prefix_length                  24\
    -enable_loopback_advertisement     true\
    -router_id_start                   2.2.2.2\
    -router_id_step                    0.0.0.1\
    -system_id_start                   10:00:00:00:00:01\
    -system_id_step                    00:00:00:00:00:01\
    -igp_metric_enabled                true\
    -igp_metric_type                   ospfv2\
    -sr_enabled                        true\
    -sr_algorithms                     0\
    -sr_sid_label_type                 label\
    -sr_cap_range                      200\
    -sr_cap_value                      201\
    -sr_adj_value                      9005\
    -sr_ipv4_prefix_sid                2\
    -sr_ipv4_prefix_sid_step           1\
    -increment_sr_weight               true\
    -increment_igp_metric              true\
    -increment_ipv4_prefix_metric      true\
    -increment_te_rsvr_bandwidth       true\
    -increment_te_unrsvr_bandwidth     true\
    -te_enabled                        true\
    -te_rsvr_bandwidth_step            200000\
    -te_unrsvr_bandwidth0_step         200000\
    -te_unrsvr_bandwidth1_step         200000\
    -te_unrsvr_bandwidth2_step         200000\
    -te_unrsvr_bandwidth3_step         200000\
    -te_unrsvr_bandwidth4_step         200000\
    -te_unrsvr_bandwidth5_step         200000\
    -te_unrsvr_bandwidth6_step         200000\
    -te_unrsvr_bandwidth7_step         200000\
    -num_routers                       4\
    -nb_tree_if_typ                    point_to_point\
    -nb_tree_max_if_per_router         6\
    -nb_tree_max_routers_per_transit_network   8\
    -te_sub_tlv_type                   unreserved\
    -te_bw_unit                           bytes_per_sec\
    -te_default_metric                   10\
    -te_local_ip                       1.1.1.1\
    -te_remote_ip                       2.2.2.2\
    -te_admin_group                       300000\
    -te_max_bw                           300000\
    -te_max_resv_bw                       300000\
    -te_unresv_bw_priority0            300000\
    -te_unresv_bw_priority1            300000\
    -te_unresv_bw_priority2            300000\
    -te_unresv_bw_priority3            300000\
    -te_unresv_bw_priority4            300000\
    -te_unresv_bw_priority5            300000\
    -te_unresv_bw_priority6            300000\
    -te_unresv_bw_priority7            300000\
  ]

Sample Output:

{ip_block_handle ipv4networkblock2} {elem_handle bgproutegenparams1} {status 1}

The following example configures IPv4 BGP routes with the same starting IPv4 network “1.1.1.1”:

set device_ret1_route1 [sth::emulation_bgp_route_generator\
    -handle                                 "emulateddevice1 emulateddevice2"\
    -mode                                      create\
    -route_type                                "ipv4"\
    -configure_same_start_ipaddr               1 \
    -ipv4_route_count                          4\
    -ipv4_route_dup_percentage                 0\
    -ipv4_route_weight_assignment              byports\
    -ipv4_route_ip_addr_start                  1.1.1.1\
    -ipv4_route_ip_addr_end                    1.1.1.10\
    -ipv4_route_disable_route_aggr             true\
    -ipv4_route_prefix_len_dist_type           fixed\
    -ipv4_route_pri_as_path_incr               1\
    -ipv4_route_pri_as_path_suffix             1\
    -ipv4_route_med                            20\
    -ipv4_route_med_incr                       1\
    -ipv4_route_local_pref                     30\
    -ipv4_route_local_pref_incr                1\
    -use_ipv4_device_intf_addr_as_next_hop     false\
    -ipv4_route_next_hop                       2.2.2.2\
    -ipv4_next_hop_count                       2\
    -ipv4_next_hop_increment                   0.0.0.1\
    -ipv4_route_prefix_len_dist_type         fixed\
    -ipv4_route_prefix_len_start             32\
    -ipv4_route_prefix_len_end               32\
   ]

Sample Output:

{ip_block_handle {ipv4networkblock1 ipv4networkblock2 ipv4networkblock3}}
{elem_handle bgproutegenparams1} {status 1}

The following example modifies the networkcount, start IP, and prefixlength of the specified IP network block handle without creating new handle:

set device_ret1_route1 [sth::emulation_bgp_route_generator\
    -elem_handle                            bgproutegenparams1\
    -mode                                   modify\
    -modify_same_ipblock_handle             1 \
    -handle                                 "ipv4networkblock1 ipv4networkblock2" \
    -ipv4_route_count                       40000\
    -ipv4_route_ip_addr_start               30.0.0.0\
    -ipv4_route_prefix_len_start            32\
   ]
set device_ret1_route1 [sth::emulation_bgp_route_generator\
    -elem_handle                            bgproutegenparams2\
    -mode                                   modify\
    -modify_same_ipblock_handle             1 \
    -handle                                 "ipv6networkblock1 ipv6networkblock2" \
    -ipv6_route_count                       10000\
    -ipv6_route_ip_addr_start               3000::\
    -ipv6_route_prefix_len_start            120\
   ]

Sample Output:

{ip_block_handle {ipv4networkblock1 ipv4networkblock2}}
{elem_handle bgproutegenparams1} {status 1}

{ip_block_handle {ipv6networkblock1 ipv6networkblock2}}
{elem_handle bgproutegenparams2} {status 1}

Sample input for Scaling mode:

# device handle list returned from emulation_bgp_config
puts "emulation_bgp_config: $rtn"

keylget rtn handle_list hnd

set device_ret1_route1 [sth::emulation_bgp_route_generator\
        -handle $hnd\
        -mode create\
        -route_type "link_state|ipv4"\
        -ipv4_route_count 4\
        -ipv4_route_dup_percentage 20\
        -ipv4_route_weight_assignment byports\
        -ipv4_route_ip_addr_start 1.1.1.1\
        -ipv4_route_ip_addr_end 1.1.1.10\
        -ipv4_route_disable_route_aggr true\
        -ipv4_route_prefix_len_dist_type fixed\
        -ipv4_route_pri_as_path_incr 1\
        -ipv4_route_pri_as_path_suffix 1\
        -ipv4_route_next_hop 2.2.2.2\
        -ipv4_next_hop_count 2\
        -ipv4_next_hop_increment 0.0.0.1\
        -igp_protocols ospfv2\
        -area_number 33\
        -backbone_headend_routers_number 4\
        -ipv4_addr_start 1.1.1.1\
        -ipv4_addr_end 1.1.1.10\
        -if_prefix_length 24\
        -enable_loopback_advertisement true\
        -router_id_start 2.2.2.2\
        -router_id_step 0.0.0.1\
        -system_id_start 10:00:00:00:00:01\
        -system_id_step 00:00:00:00:00:01\
        -num_routers 4\
        -if_type point_to_point\
        -max_if_per_router 6\
        -max_routers_per_transit_network 8\
        ]

puts "sth::emulation_bgp_route_generator: $device_ret1_route1"

Sample Output:

{ip_block_handle ipv4networkblock1} {elem_handle bgproutegenparams1} {status 1}

End of Procedure Header

sth::emulation_bgp_custom_attribute_config

Purpose

Creates or deletes BGP custom attributes under the specified BGP route

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_bgp_custom_attribute_config
 [-mode {add|delete}  M]
 [-handle <route_handle>]
 [-custom_handles <custom_object_handles>]
 [-type_selector  {custom|origin|as_path|next_hop|multi_exit_disc|
                  local_pref|atomic_aggregate|aggregator|communities|
                  originator_id|cluster_list|mp_reach_unreach_nlri|
                  extended_community|as4_path|as4_aggregator|pmsi_tunnel|
                  tunnel_encaps|traffic_engineering|ipv6_addr_extended_community|
                  aigp|pe_distinguisher|link_state|attr_set}]
 [-attribute_type <0-255>]
 [-override_existing {0|1}]
 [-override_length {0|1}]
 [-attribute_length <0-65535>]
 [-optional_flag {well_known|optional}]
 [-transitive_flag {non_transitive|transitive}]
 [-partial_flag {complete|partial}]
 [-reserved_flags <0-15>]
 [-attribute_value <HEX>]
 [-next_hop <a.b.c.d>]
 [-extended_community <type:subtype:value>]
 [-segment_type_selector {set|sequence|confed_seq|confed_set|custom}]
 [-segment_type <0-255>]
 [-as2_path <0-255>]
 [-as4_path <string>]
 [-afi <1-65535>]
 [-sub_afi {custom|unicast|multicast|unicast_and_multicast|labeled_ip|
          mdt|vpn}]
 [-custom_sub_afi <0-255>]
 [-sub_net_point_attachment <0-255>]
 [-mp_reach_ipv4_next_hops <a.b.c.d>]
 [-mp_reach_ipv6_next_hops <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
 [-next_hop_route_distinguisher <ASPLAIN:value|ASDOT+:value|IPv4:value>]
 [-nlri_value <HEX>]
 [-ipv4_prefix_length <0-255>]
 [-ipv6_prefix_length <0-65535>]
 [-ipv4_nlri_prefix <a.b.c.d>]
 [-ipv6_nlri_prefix <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
 [-experimental_value <0-7>]
 [-nlri_label <0-1048575>]
 [-mdt_ipv4_address <a.b.c.d>]
 [-mdt_group_address <a.b.c.d>]
 [-route_distinguisher  <ASPLAIN:value|ASDOT+:value|IPv4:value >]
 [-bottom_of_stack {0|1}]
 [-tlv_ipv4_address <a.b.c.d>]
 [-tlv_ipv6_address <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
 [-tlv_type_selector {custom|multi_topo_idnode_flag_bits|opaque_node_props|
            node_name|isis_area_id|local_ipv4_router_idlocal_ipv6_router_id|
            remote_ipv4_router_id|remote_ipv6_router_id|admin_group|max_link_bw|
            max_rsvd_link_bwunreserved_bw|te_default_metric|link_protection_type|
            mpls_protocol_mask|igp_metric|srlg|opaque_link_attr|link_name_attr|
            igp_flagsroute_tag|extended_tag|prefix_metric|ospf_forward_addr|
            opaque_prefix_attr|sr_sid_label_binding|sr_capssr_algorithms|
            sr_adj_sid|sr_lan_adj_sid|sr_prefix_sid}]
 [-tlv_type <0-65535>]
 [-tlv_length <0-65535>]
 [-tlv_value <HEX>]
 [-tlv_name_attribute <string>]
 [-tlv_override_length {0|1}]

Arguments

-handle

Specifies the route handle under which to add custom attribute objects. This argument is Mandatory when -mode is set to add.

-custom_handles

Specifies a list of custom attribute object handles to be deleted. This argument is Mandatory when -mode is set to delete.

-mode

Specifies the action to perform. Possible values are add and delete. This argument is Mandatory . The modes are described below:

add         Creates custom attributes under the BGP route
            specified by -handle

delete      Deletes the attributes specified by -custom_handles
-type_selector

Specifies the custom attributes to configure. Possible values are listed as below:

Value                           Type

custom                          Custom
origin                          Origin
as_path                         AS Path
next_hop                         Next Hop
multi_exit_disc                 Multi Exit Disc
local_pref                      Local Preference
atomic_aggregate                Atomic Aggregate
aggregator                      Aggregator
communities                     Communities
originator_id                   Originator ID
cluster_list                    Cluster List
mp_reach_unreach_nlri           Multiprotocol Reachable (MP Reach)
                                NLRI/MP Unreach NLRI
extended_community              Extended Community
as4_path                        AS4 Path
as4_aggregator                  AS4 Aggregator
pmsi_tunnel                     PMSI Tunnel
tunnel_encaps                   Tunnel Encapsulation
traffic_engineering              Traffic Engineering
ipv6_addr_extended_community    IPv6 Address Specific Extended Community
aigp                            Accumulated IGP (AIGP)
pe_distinguisher                PE Distinguisher Labels
link_state                      Link State (LS)
attr_set                        Attribute Set

The default value is custom.

-attribute_type

Specifies the attribute type when -type_selector is set to custom. Possible values range from 0 to 255. The default value is 0.

-attribute_length

Specifies the length of the attribute. This argument is available available when -type_selector is not set to as_path, next_hop, extended_community, or as4_path, and -override_length is set to 1. Possible values range from 0 to 65535. The default value is 1.

-attribute_value

Specifies the hexadecimal value of the attribute

-extended_community

Specifies the BGP custom extended community attribute. This argument is available when -type_selector is set to extended_community. The value includes a list of types, subtypes, and values. For example, 0x01:SAS:1.1.1.1:1, 0x00:RT:1:1, 0x02:LID:1.1:1. See RFC 4360 and RFC 5668 for the relationship between the Type field and the Value field.

-next_hop

Specifies the value of the next hop. This argument is available when -type_selector is set to next_hop. The value must be in IPv4 format. The default value is 192.85.1.1.

-optional_flag

Specifies the value of the optional flag. Possible values are:

well_known      AS Path, Next Hop
optional        All others

The default value is optional.

-override_existing

Specifies whether to override existing attributes with the custom attribute. Possible values are 0 and 1. When it is set to 1, the existing attributes will be overridden by the custom attributes. The default value is 1.

-override_length

Specifies whether the length value can be configured. Possible values are 0 and 1. When it is set to 1, the length value can be configured. The default value is 0.

-transitive_flag

Specifies the value of the transitive flag. Possible values are transitive and non_transitive. The default value is transitive.

-partial_flag

Specifies the value of the partial flag. Possible values are complete and partial. The default value is complete. You must set it to complete for well-known attributes and optional non-transitive attributes.

-reserved_flags

Specifies the value of the reserved flag. Possible values range from 0 to 15. The default value is 0.

-afi

Specifies the Address Family Identifier (AFI) value. This argument is available when -type_selector is set to mp_reach_unreach_nlri. Possible values range from 1 to 65535. The default value is 2.

-sub_afi

Specifies the subsequent AFI value. This argument is available when -type_selector is set to mp_reach_unreach_nlri. Possible values are described below:

custom                     Custom
unicast                    Unicast
multicast                  Multicast
unicast_and_multicast      Unicast and Multicast
labeled_ip                 Labeled IP
mdt                        Multicast Distribution Tree (MDT)
vpn                        VPN

The default value is unicast.

-custom_sub_afi

Specifies the custom subsequent AFI value. This argument is available when -sub_afi is set to custom. Possible values range from 0 to 255. The default value is 0.

-sub_net_point_attachment

Specifies the neighbor attached to the subnetwork. This argument is available when -type_selector is set to mp_reach_unreach_nlri. Possible values range from 0 to 255. The default value is 0.

-mp_reach_ipv4_next_hops

Specifies the IPv4 address of the next hop. This argument is available when -type_selector is set to mp_reach_unreach_nlri. The value must be in IPv4 format. The default value is 192.85.1.1.

-mp_reach_ipv6_next_hops

Specifies the IPv6 address of the next hop. This argument is available when -type_selector is set to mp_reach_unreach_nlri. The value must be in IPv6 format. The default value is 2000:1.

-next_hop_route_distinguisher

Specifies the route distinguisher of the next hop. This argument is available when -sub_afi is set to vpn. The value must be in the format of ASPLAIN:value, ASDOT+:value or IPv4:value. Refer to RFC5936 for ASPLAIN and ASDOT+ formats. The default value is 0x00:0:0.

-nlri_value

Specifies the NLRI value in hexadecimal format. This argument is available when -sub_afi is set to custom. The default value is 00.

The following arguments of BGP MP NLRI attributes must be lists with the same length:

-bottom_of_stack

Specifies whether to identify the Bottom of Stack label. This argument is available when -sub_afi is set to labeled_ip or vpn. Possible values are 0 and 1. When it is set to 1, the Bottom of Stack label will be identified. The default value is 1.

-experimental_value

Specifies the experimental value. This argument is available when -sub_afi is set to labeled_ip vpn. Possible values range from 0 to 7. The default value is 0.

-ipv4_prefix_length

Specifies the prefix length of the IPv4 address. This argument is available when -type_selector is set to mp_reach_unreach_nlri. Possible values range from 0 to 255. The default value is 24. This is only available for IPv4 routes.

-ipv6_prefix_length

Specifies the prefix length of the IPv6 address. This argument is available when -type_selector is set to mp_reach_unreach_nlri. Possible values range from 0 to 65535. The default value is 64. This is only available for IPv6 routes.

-ipv4_nlri_prefix

Specifies the value of the IPv4 prefix. This argument is available when -type_selector is set to mp_reach_unreach_nlri. The value must be in IPv4 format. The default value is 192.85.1.1. This is only available for IPv4 routes.

-ipv6_nlri_prefix

Specifies the value of the IPv6 prefix. This argument is available when -type_selector is set to mp_reach_unreach_nlri. The value must be in IPv6 format. The default value is 2000:1. This is only available for IPv6 routes.

-nlri_label

Specifies the NLRI label value. This argument is available when -sub_afi is set to labeled_ip or vpn. Possible values range from 0 to 1048575. The default value is 16.

-mdt_ipv4_address

Specifies the MDT IPv4 address. This argument is available when -sub_afi is set to custom. The default value is 0.0.0.0.

-mdt_group_address

Specifies the MDT group address. This argument is available when -sub_afi is set to custom. The default value is 0.0.0.0.

-route_distinguisher

Specifies the route distinguisher. This argument is available when -sub_afi is set to mdt or vpn. The value must be in the format of ASPLAIN:value, ASDOT+:value or IPv4:value. Refer to RFC5936 for ASPLAIN and ASDOT+ formats. The default value is 0x00:100:1.

The following arguments of BGP LS TLV custom attributes must be lists with the same length:

-tlv_ipv4_address

Specifies the IPv4 address of the LS node. This argument is available when -tlv_type_selector is set to local_ipv4_router_id or remote_ipv4_router_id. The default value is 192.0.1.0. This is only available for IPv4 routes.

-tlv_ipv6_address

Specifies the IPv6 address of the LS node. This argument is available when -tlv_type_selector is set to local_ipv6_router_id or remote_ipv6_router_id. The default value is 2000::1. This is only available for IPv6 routes.

-tlv_type_selector

Specifies the LS TLV type to configure. This argument is available when -type_selector is set to link_state. Possible values are described below:

Value                         Type
custom                      Custom
multi_topo_id               Multi-Topology ID
node_flag_bits              Node Flag Bits
opaque_node_props           Opaque Node Properties
node_name                   Node Name
isis_area_id                ISIS Area Identifier
local_ipv4_router_id        Local Node IPv4 Router ID
local_ipv6_router_id        Local Node IPv6 Router ID
remote_ipv4_router_id       Remote Node IPv4 Router ID
remote_ipv6_router_id       Remote Node IPv6 Router ID
admin_group                 Administrative Group
max_link_bw                 Maximum Link Bandwidth
max_rsvd_link_bw            Maximum Reserved Link Bandwidth
unreserved_bw               Unreserved Bandwidth
te_default_metric           TE Default Metric
link_protection_type        Link Protection Type
mpls_protocol_mask          MPLS Protocol Mask
igp_metric                  IGP Metric
srlg                        Shared Risk Link Group
opaque_link_attr            Opaque Link Attribute
link_name_attr              Link Name Attribute
igp_flags                   IGP Flags
route_tag                   Route Tag
extended_tag                Extended Tag
prefix_metric               Prefix Metric
ospf_forward_addr           OSPF Forwarding Address
opaque_prefix_attr          Opaque Prefix Attribute
sr_sid_label_binding         SR SID/Label Binding
sr_caps                     SR Capabilities
sr_algorithms               SR Algorithm
sr_adj_sid                  SR Adjacency SID
sr_lan_adj_sid              SR LAN Adjacency SID
sr_prefix_sid               SR Prefix SID

The default value is custom.

-tlv_type

Specifies the LS TLV attribute type. This argument is available when -tlv_type_selector is set to custom. Possible values range from 0 to 65535. The default value is 0.

-tlv_length

Specifies the length of the LS TLV attribute. This argument is available when -tlv_override_length is set to 1. Possible values range from 0 to 65535. The default value is 0.

-tlv_value

Specifies the LS TLV attribute, in hexadecimal format. This argument is available when -type_selector is set to link_state.

-tlv_name_attribute

Specifies the LS TLV name attribute, in 256-character string. This argument is available when -tlv_type_selector is set to node_name or link_name_attr. The default value is BGPLS.

-tlv_override_length

Specifies whether to override the system-calculated length. This argument is available when type_selector is set to link_state. Possible values are 0 and 1. When it is set to 0, the automatically calculated length will be overridden. The default value is 0.

The following arguments of AS path segment attributes must be lists of the same length:

-segment_type_selector

Specifies the path segment type for the AS path. This argument is available when -type_selector is set to as_path or as4_path. Possible values are described below:

Type             Description
set             An unordered set of ASs that a route in the UPDATE
                message has traversed

sequence        An ordered set of ASs that a route in the UPDATE
                message has traversed

confed_set      An unordered set of member AS Numbers in the local
                confederation that the UPDATE message has
                traversed

confed_seq      An ordered set of member AS Numbers in the local
                confederation that the UPDATE message has
                traversed

custom          Custom

The default value is sequence.

-segment_type

Specifies the segment type. This argument is available when -segment_type_selector is set to custom. Possible values range from 0 to 255. The default value is 2.

-as2_path

Specifies a list of AS numbers for the path. This argument is available when -type_selector is set to as_path. Possible values range from 0 to 255.

-as4_path

Specifies a list of AS numbers in string format. This argument is available when -type_selector is set to as4_path.

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                      The BGP custom attribute handle returned by
                            the function when you use -mode add

BgpMpReachUnReach_Handle    The BGP MP Reach/Unreach NLRI attribute handle
                            returned with the BGP custom attribute handle

BgpAsPathSegment_Handles    A list of AS path segment attribute handles

BgpMpNlri_Handles           A list of MP NLRI attribute handles

BgpLsCustomTlv_Handles      A list of LS TLV attribute handles

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

log                        An error message (if the operation failed)

Description

The sth::emulation_bgp_custom_attribute_config function creates or deletes BGP custom attributes under the specified BGP route. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

You must also use the -type_selector to specify the type of custom attributes to configure. The type you specify determines the set of arguments you use to configure the required element, and the attribute handles to be returned.

Examples

To create BGP LS Custom TLVs in the BGP custom attribute:

sth::emulation_bgp_custom_attribute_config\
    -handle                     $bgp_routerconfig\
    -mode                       add\
    -type_selector              link_state\
    -override_existing          0\
    -optional_flag              well_known\
    -override_length            1\
    -attribute_length           1\
    -attribute_type             11\
    -transitive_flag            non_transitive\
    -partial_flag               partial\
    -reserved_flags             1\
    -attribute_value            0xa1\
    -tlv_type_selector    "node_name isis_area_id local_ipv4_router_id"\
    -tlv_override_length        "1 1 0"\
    -tlv_length                 "2 3 4"\
    -tlv_ipv4_address           "1.1.1.1 2.2.2.2 3.3.3.3"\
    -tlv_name_attribute         "BGPLS1 BGPLS2 BGPLS3"\
    -tlv_value                  "0x1a 0x2b 0x3c"\

Sample Output:

{handle bgpcustomattribute1} {BgpMpReachUnReach_Handle bgpmpreachunreachattr1}
{BgpLsCustomTlv_Handles {bgplscustomtlv1 bgplscustomtlv2 bgplscustomtlv3}}
{status 1}

To create a BGP NLRI in the BGP custom attribute:

sth::emulation_bgp_custom_attribute_config\
    -handle                         $bgp_routerconfig\
    -mode                           add\
    -type_selector                  mp_reach_unreach_nlri\
    -override_existing              0\
    -optional_flag                  well_known\
    -override_length                1\
    -attribute_length               3\
    -attribute_type                 33\
    -transitive_flag                non_transitive\
    -partial_flag                   partial\
    -reserved_flags                 3\
    -attribute_value                "0xc3"\
    -afi                            3\
    -sub_afi                        vpn\
    -sub_net_point_attachment       33\
    -mp_reach_ipv4_next_hops        "3.3.3.3"\
    -next_hop_route_distinguisher   "0x00:3:3"\
    -ipv4_nlri_prefix               "3.3.3.3"\
    -ipv4_prefix_length             8\
    -experimental_value             3\
    -nlri_label                     33\
    -route_distinguisher            "0x00:133:3"\
    -bottom_of_stack                0\

Sample Output:

{handle bgpcustomattribute3} {BgpMpReachUnReach_Handle bgpmpreachunreachattr3}
{BgpMpNlri_Handles bgpmpnlri1} {status 1}