BGP Functions

emulation bgp config

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

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 the argument is `Mandatory`.
      2. S indicates the argument is for `scaling` scenarios.

    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= <00ff>
        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 [::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 braceenclosed 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 onethird
                 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 4byte 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 4byte 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 (SubAFI). AFI is used in conjunction with the subAFI 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 NonVPN. 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 + SRTE 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 NonVPN. 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 + SRTE 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  -     draftietf-l2vpn-vpls-bgp-00
                  VERSION_02  -     draftietf-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 NonVPN. 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 NonVPN. 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.

 link_unicast_nlri
                 `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.

 link_multicast_nlri
                 `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.

 link_unicast_multicast_nlri
                 `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.

 link_mpls_nlri
                 `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.

 link_multicast_vpn_nlri
                 `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.

 link_vpls_nlri
                 `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.

 link_mdt_nlri
                 `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.

 link_e_vpn_nlri
                 `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.

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

                 Enables or disables support for Link + LS NonVPN. 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.

 link_mpls_vpn_nlri
                 `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.

 link_rt_constraint_nlri
                 `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.

 link_flow_spec_nlri
                 `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.

 link_flow_spec_vpn_nlri
                 `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 4byte 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 4byte 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 4byte 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 4byte 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 4Byte
                 AS number before incrementing it. The default value is 0.

 remote_as4
                 The 4byte 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.
                         2. 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
                         Resends 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 ``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 4byte 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 4byte 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 4Byte
                 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 NonMVPN 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 {disabled|port|system}
                 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 SRTE 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 subinterface. 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 subinterface. 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  readvertisement of the respective
                 AdjRIB-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
                 EndOf-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.
Ciscospecific 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
          ``emulation bgp config`` function.

handle_list   A list of emulated devices enabled with BGP routers created by the
          ``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 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 emulation bgp control start=individual routers. To stop and start all of the routers associated with a particular port, use the restart mode with the emulation bgp control function. After you have created the routers for your test, use the emulation bgp route config function to set up routes.

Examples:

The following example creates a BGP router:

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

emulation bgp config mode=disable port_handle port1

Sample output for example shown above:

{status 1}

The following example modifies handle router1:

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:

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

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

::test control action=enable

for {set routerIndex 0} {$routerIndex < $routerNum} {incr routerIndex 1} {
set routeStatus [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"
::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 interface config
puts "Param List: $int_ret0"


set rtn [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 [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}}

emulation bgp control

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

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

Synopsis:

Note: M indicates the argument is `Mandatory`.

    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.

link_flap_down_time
                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".

link_flap_up_time
                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 [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 [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 [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 [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.
Ciscospecific 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 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 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 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 reestablish the session.

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

Note: The 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:

To start the BGP router on the specified port:

emulation bgp control mode=start handle router1

To stop the BGP router on the specified port:

emulation bgp control mode=stop handle router1

To restart the BGP router on the specified port:

emulation bgp control mode=restart handle router1

Sample Output:

{handle router1} {status 1}

To advertise the Advertise Route Type 1:

set link_state_hnd [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 [emulation bgp control
                     mode=                                    withdraw
                     route_type=                              evpn_type5
                     route_handle=                            $evpn_type5_hnd]

Sample Output:

{status 1}

emulation bgp route config

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

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 the argument is `Mandatory`.
    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  <04294967295= >
       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 2byte or
                 4byte. In the following two examples, 173 is a 2byte aggregator
                 AS number and 20:20 is a 4byte 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 labelblock (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 subAS.

 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 4octet global administrator field and
                 two 4octet 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 2octet(X:N)                RT0x02
                  IPV4 (X.X.X.X:N)               Site of Origin[0x03]
                  AS_PLAIN 4octet(X:N)           Source AS[0x09]
                  AS_DOT 4octet(X.Y:N)          L2VPN ID0X0a
                  Transitive Opaque (X:N)        RTImport0x0b
                                                 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 ProviderEdge (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 uPEs 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
                 uPEs 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 Multihoming

                  SINGLE_ACTIVE         Single active Multihoming

                 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 deaggregate 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 MultiExit 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 8byte 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 deaggregate 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 6octet 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 deaggregate 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 deaggregate 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 ESImport value in the ESImport 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 deaggregate 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 6octet 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 MultiExit 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 trafficaction
                 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 8byte 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).to list.
                 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
                 MPLSVPN 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 64Bit 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.

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

                 Specifies the linklocal 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 ISIS Level 1
                  isis_level2   NLRI information sourced by ISIS 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 32bit 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 32bit BGP LS ID. This number, in conjunction with
                 the AS number, uniquely identifies the BGPLS 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 32bit 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    6octet ISO node ID (ISO system ID)
                  isis_pseudo_node        6octet ISO node ID of the Designated
                                          Intermediate System (DIS)
                  ospf_non_pseudo_node    4octet router ID
                  ospf_pseudo_node        4octet router ID of the designated
                                          router (DR), followed by the 4octet 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   20bit label
                  sid     32bit 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.

 ls_link_attr_flag
                 `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.

 ls_link_attr_igp_metric_tlv_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.

 ls_link_attr_igp_metric
                 `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.

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

                 Specifies the protection type for the Link Protection Type
                 subTLV, 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.


 ls_link_attr_local_ipv4_router_id_list
                 `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.

 ls_link_attr_local_ipv6_router_id_list
                 `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.

 ls_link_attr_remote_ipv4_router_id_list
                 `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.

 ls_link_attr_remote_ipv6_router_id_list
                 `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.

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

                 Specifies the required octet fields for the SR AdjSID 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.

 ls_link_attr_value
                 `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.

 ls_link_attr_value_type
                 `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   20bit label
                  sid     32bit SID

                 The default value is label.

 ls_link_attr_weight
                 `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.

 ls_link_desc_flags
                 `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.

 ls_link_desc_ipv4_intf_addr
                 `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

 ls_link_desc_ipv4_neighbor_addr
                 `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

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

                 Specifies the IPv6 interface address for the BGP LS Link sub TLV
                 Values: IPv6
                 Default: 2000::1

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

                 Specifies the IPv6 neighbor address for the BGP LS Link sub TLV
                 Values: IPv6
                 Default: 2000::1

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

                 Specifies the 32bit 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.

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

                 Specifies the 32bit BGP LS ID. This number, in conjunction with
                 the AS number, uniquely identifies the BGPLS 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.

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

                 Specifies the 32bit 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.

 ls_link_desc_igp_router_id_type
                 `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    6octet ISO node ID (ISO system ID)
                  isis_pseudo_node        6octet ISO node ID of the Designated
                                          Intermediate System (DIS)
                  ospf_non_pseudo_node    4octet router ID
                  ospf_pseudo_node        4octet router ID of the designated router
                                          (DR), followed by the 4octet IPv4 address
                                          of the DR's interface to the LAN (8 octets
                                          in total)

                 The default value is ospf_non_pseudo_node.

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

                 Specifies the IGP router ID in string format

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

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

                  Value                     Description

                  none                    No subTLV

                  group                   4octet 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.

 ls_link_attr_te_bw_unit
                 `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.

 ls_link_attr_te_default_metric
                 `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.

 ls_link_attr_te_local_ip
                 `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.


 ls_link_attr_te_remote_ip
                 `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.

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

                 4octet 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.

 ls_link_attr_te_max_bw
                 `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.

 ls_link_attr_te_max_resv_bw
                 `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.

 ls_link_attr_te_unresv_bw_priority0
                 `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.

 ls_link_attr_te_unresv_bw_priority1
                 `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.

 ls_link_attr_te_unresv_bw_priority2
                 `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.


 ls_link_attr_te_unresv_bw_priority3
                 `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.

 ls_link_attr_te_unresv_bw_priority4
                 `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.

 ls_link_attr_te_unresv_bw_priority5
                 `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.

 ls_link_attr_te_unresv_bw_priority6
                 `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.

 ls_link_attr_te_unresv_bw_priority7
                 `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    ISIS 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 IGPPrefix-SID flags. This argument is available
                 when sr_prefix_sid is specified in ls_prefix_attr_flags.
                 Possible values are::


                  rbit    Readvertisement flag
                  nbit    NodeSID flag
                  pbit    NoPHP 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
                         routepool level.

 multi_exit_disc
                 Specifies the multiexit 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 linklocal IPv6 address of the next hop (emulated router).
                 16byte link-local address, as needed for a 32byte 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 fourbyte 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.

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


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


                  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 AutoDiscovery (AD) 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 uPE) 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 multiexit 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.

 vpls_link_local_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.

 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 (SRTE) 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 SRTE 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 4octet 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 SRTE policy route
                 Values: true (enable), false (disable)
                 Default: true

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

                 Identifies the IPv4 endpoint of the SRTE policy route
                 Values: IPv4
                 Default: 192.0.0.1

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

                 Specifies the IPv6 endpoint of the SRTE 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 SRTE policy route
                 Values::


                     Type                       SubType

                  AS 2octet(X:N)                RT0x02
                  IPV4 (X.X.X.X:N)               Site of Origin[0x03]
                  AS_PLAIN 4octet(X:N)           Source AS[0x09]
                  AS_DOT 4octet(X.Y:N)          L2VPN ID0X0a
                  Transitive Opaque (X:N)        RTImport0x0b
                                                 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 4octet 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 subTLV for SRTE
                 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 subTLV for SRTE
                 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 subTLV
                 Dependency: srte_flags  binding_sid
                 Values::


                  length_0         The binding SID length is 0 (no Binding SID)
                  length_4         4octet binding SID value
                  length_16        16octet binding SID value

                 Default: 0


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

                 Specifies the Color subTLV
                 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 SRTE Policy subTLVs to configure
                 Values::


                  0                      No subTLV
                  color               BGP SRTE Policy subTLV: Color
                  preference          BGP SR TE Policy subTLV: Preference
                  binding_sid         BGP SR TE Policy subTLV: Binding SID
                  remote_endpoint     BGP SR TE Policy subTLV: Remote Endpoint
                  explicit_null       BGP SR TE Policy subTLV: ENLP
                  policy_priority     BGP SR TE Policy subTLV: Policy Priority
                  policy_name         BGP SR TE Policy subTLV: Policy Name

                 Example: srte_flags {color| preference| bindings| remote endpoint}
                 Default: 0

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

                 Specifies the Preference subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV: 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 SubTLV.
                 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 SubTLV.
                 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 SubTLV.
                 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  20bit label
                  sid    32bit SID

                 Default: label

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

                 Specifies the type of segment list subTLV to configure. A segment
                 list TLV encodes a single explicit path towards the endpoint.
                 Values::


                  0             No subTLV
                  weight      Weight subTLV

                 Default: 0

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

                 Defines the Weight field for the Weight subTLV
                 Values: 1-4294967295
                 Default: 1

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

                 Specifies a customized Type value for the Binding SID subTLV
                 Values: 1-255
                 Default: 7

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

                 Specifies a customized Type value for the Color subTLV
                 Values: 1-255
                 Default: 4

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

                 Specifies a customized Type value for the Preference subTLV
                 Values: 1-255
                 Default: 6

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

                 Specifies a customized Type value for the Remote Endpoint subTLV
                 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 subTLV
                 Values: 0-255
                 Default: 128

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

                 Specifies a customized Type value for the Segment Type1 subTLV
                 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 subTLV
                 Values: 0-255
                 Default: 3

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

                 Specifies a customized Type value for the Segment Type4 subTLV
                 Values: 0-255
                 Default: 4

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

                 Specifies a customized Type value for the Segment Type5 subTLV
                 Values: 0-255
                 Default: 5

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

                 Specifies a customized Type value for the Segment Type6 subTLV
                 Values: 0-255
                 Default: 6

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

                 Specifies a customized Type value for the Segment Type7 subTLV
                 Values: 0-255
                 Default: 7

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

                 Specifies a customized Type value for the Segment Type8 subTLV
                 Values: 0-255
                 Default: 8

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

                 Specifies a customized Type value for the Segment Type9 subTLV
                 Values: 0-255
                 Default: 9

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

                 Specifies a customized Type value for the Segment Type10 subTLV
                 Values: 0-255
                 Default: 10

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

                 Specifies a customized Type value for the Segment Type11 subTLV
                 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 subTLV
                 Values: 0-255
                 Default: 23

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

                 Specifies a customized Type value for the Tunnel subTLV
                 Values: 0-255
                 Default: 14

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

                 Specifies a customized Type value for the Weight subTLV
                 Values: 0-255
                 Default: 9

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

                 Specifies the Label field for the Segment Type1 subTLV
                 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 Bottomof-Stack Bit(S-Bit) field for the Segment
                 Type1 subTLV
                 Values: 0, 1
                 Default: 0

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

                 Specifies the Type field for the Segment Type1 subTLV
                 Default: type1

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

                 Specifies the Traffic Class field for the Segment Type1 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type1 subTLV
                 Values: 0-255
                 Default: 255

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

                 Specifies the IPv6 SID field for the Segment Type2 subTLV
                 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 subTLV
                 Default: type2

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

                 Specifies the IPv4 Node Address field for the Segment Type3 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_6        6octet
                  length_10       10octet
                  length_22       22octet

                 Default: length_6

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

                 Specifies the IPv6 SID field for the Segment Type3 subTLV
                 Values: IPv6
                 Default: 2000::1

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

                 Specifies the SBit 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 subTLV
                 Default: type3

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

                 Specifies the Traffic Class field for the Segment Type3 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type3 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_18      18octet
                  length_22      22octet
                  length_34      34octet

                 Default: length_18

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

                 Specifies the SBit 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 subTLV
                 Default: type4

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

                 Specifies the Traffic Class field for the Segment Type4 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type4 subTLV
                 Values: 0-255
                 Default: 255

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

                 Specifies the Interface Index field for the Segment Type5 subTLV
                 Default: 0

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

                 Specifies the IPv4 Node Address field for the Segment Type5 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_10      10octet
                  length_14      14octet
                  length_26      26octet

                 Default: length_10

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

                 Specifies the SBit 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 subTLV
                 Default: type5

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

                 Specifies the Traffic Class field for the Segment Type5 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type5 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_10      10octet
                  length_14      14octet
                  length_26      26octet

                 Default: length_10

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

                 Specifies the SBit 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 subTLV
                 Default: type6

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

                 Specifies the Traffic Class field for the Segment Type6 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type6 subTLV
                 Values: 0-255
                 Default: 255

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

                 Specifies the Interface Index field for the Segment Type7 subTLV
                 Default: 0

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

                 Specifies the IPv6 Node Address field for the Segment Type7 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_22      22octet
                  length_26      26octet
                  length_38      38octet

                 Default: length_22

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

                 Specifies the SBit 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 subTLV
                 Default: type7

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

                 Specifies the Traffic Class field for the Segment Type7 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type7 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_34      34octet
                  length_38      38octet
                  length_50      50octet

                 Default: length_34

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

                 Specifies the SBit 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 subTLV
                 Default: type8

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

                 Specifies the Traffic Class field for the Segment Type8 subTLV
                 Values: 0-7
                 Default: 0

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

                 Specifies the TTL field for the Segment Type8 subTLV
                 Values: 0-255
                 Default: 255

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

                 Specifies the SR Algorithm for the Segment Type9 subTLV
                 Default: 0

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

                 Specifies the flags for the Segment Type9 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_18      18octet
                  length_34      34octet

                 Default: length_18

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

                 Specifies the Type field for the Segment Type9 subTLV
                 Default: type9

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

                 Specifies the flags for the Segment Type10 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Default: 0

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

                 Specifies the remote interface index for the Segment Type10 subTLV
                 Default: 0

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

                 Specifies the Length field for the Segment Type10 subTLV
                 Values::


                  length_22      22octet
                  length_38      38octet
                  length_42      42octet
                  length_58      58octet

                 Default: length_22

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

                 Specifies the Type field for the Segment Type10 subTLV
                 Default: type10

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

                 Specifies the flags for the Segment Type11 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 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 subTLV
                 Values::


                  length_34      34octet
                  length_50      50octet

                 Default: length_34

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

                 Specifies the Type field for the Segment Type11 subTLV
                 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.
Ciscospecific 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
          ``emulation bgp route config`` function.

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

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

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

The following example adds a route block to the routing table for the specified router:

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:

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:

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 [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 [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 [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 [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 [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 [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 [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 [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}

emulation bgp route element config

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

Purpose:
Creates, modifies, or deletes a BGP route element

Synopsis:

Note: M indicates the argument is `Mandatory`.

     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
                ``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 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 [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 [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 [emulation bgp route element config
        mode=                   remove
        element_handle=         $type4handle
]

End of Procedure Header

emulation bgp info

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

Purpose:
Returns information about the BGP configuration.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     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 nonempty Withdrawn Routes field.

num_node_routes
                     Number of routes in session.

last_routes_advertised_rx
                     Number of routes in the lastreceived 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 subcode.

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 subcode.

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 multitopology ID TLVs
                        transmitted

rx_advertised_ls_multitopo_id
                        Number of LS advertised multitopology ID TLVs
                        received

tx_withdrawn_ls_multitopo_id
                        Number of LS withdrawn multitopology ID TLVs
                        transmitted

rx_withdrawn_ls_multitopo_id
                        Number of LS withdrawn multitopology 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 multitopology ID TLVs
                        transmitted

rx_ls_attribute_multitop_id
                        Number of LS attribute multitopology 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 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:

To retrieve statistics from one BGP device:

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:

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}

emulation bgp route info

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

Purpose:
Returns information on advertised and received BGP routes for the specified emulated node.

Synopsis:

Note: M indicates the argument is `Mandatory`.

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

Sample Input:

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}

emulation bgp route generator

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

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 the argument is `Mandatory`.

   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 pseudonode 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 preexisting routes when route/topology
                 generator parameters are applied.
                 Possible values are::


                  true                Delete preexisting routes
                  false               Keep preexisting 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 nonbackbone area (grid topology).
                 Possible values range from 2 to 10000. The default value is 2.

 nb_grid_columns
                 Number of columns in the nonbackbone 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 nonbackbone
                 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 nonbackbone 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 nonbackbone 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 pseudonode 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 nonbackbone 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 intraarea 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 commaseparated 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       20bit label
                  sid         32bit 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
                 subTLV. 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 subTLV. 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 subTLV.
                 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 subTLV is used
                  group               4octet 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
                 4octet 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 userspecified
                                   prefix length

                  internet         Routes are distributed across prefix lengths in
                                   a manner typical of the Internet's defaultfree
                                   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 MultiExit 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 userspecified
                                     prefix length

                  internet           Routes are distributed across prefix lengths in
                                     a manner typical of the Internet's defaultfree
                                     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 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 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 [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 [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 [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 [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 [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 "emulation bgp route generator: $device_ret1_route1"

Sample Output:

{ip_block_handle ipv4networkblock1} {elem_handle bgproutegenparams1} {status 1}

End of Procedure Header

emulation bgp custom attribute config

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

Purpose:
Creates or deletes BGP custom attributes under the specified BGP route

Synopsis:

Note: M indicates the argument is `Mandatory`.

     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 wellknown attributes and
                 optional nontransitive 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               MultiTopology 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 256character 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 systemcalculated 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 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:

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:

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}