RSVP Functions

emulation rsvp config

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

Purpose:

Creates, enables, modifies, or deletes an emulated resource reservation setup protocol (RSVP) router on a Spirent HLTAPI chassis. RSVP is not a routing protocol; RSVP works in conjunction with routing protocols and installs the equivalent of dynamic access lists along the routes that routing protocols calculate.

RSVP is a resource reservation setup protocol that enables Internet applications to obtain differing qualities of service (QoS) for their data flows. RSVP is used by routers to request a specific quality of service from the network for particular data flows. It is also used to establish and maintain “resource reservations” across a network.

Synopsis:

Note: 1. M indicates the argument is `Mandatory`.
      2. S indicates the argument is for `scaling` scenarios.

   emulation rsvp config
        mode= {create|modify|delete|enable|disable|active|inactive|activate} M
        port_handle= <port_handle>
        handle= <device_handle>|<rsvp_session_handle>
        bfd_registration= {1|0}
        bundle_interval= <1-2147483647>
        bundle_mode= {observe_rx_rsvp_messages|manual_configuration}
        bundle_msgs= {1|0}
        capability_object= {class_number_132|class_number_134|none}
        cfi= {1|0}
        count= <integer>
        dut_ip_addr=  <a.b.c.d>
        dut_ip_addr_step= <a.b.c.d>
        expand= {true|false} S
        egress_label_mode= {nextlabel|imnull|exnull}
        gateway_ip_addr=    { ip }
             gateway_ip_addr_step= <a.b.c.d>
        gmpls_enable= {0|1|true|false}
        graceful_restart= {1|0}
             graceful_restart_recovery_time= <0-65535>
             graceful_restart_restart_time= <0-65535>
        hello_interval=  <1-65536>
        hello_msgs= {1|0}
        hop_tlv_id= {router_id|interface_id}
        inter_pkt_delay= <0-2147483647>
        intf_ip_addr= { ip }
        intf_ip_addr_step=  <a.b.c.d>
        intf_prefix_length= <1-32>
        label_binding_mode= {tx_and_rx|tx_only|rx_only none}
        lsp_results_enable= {0|1}
        mac_address_start= <aa:bb:cc:dd:ee:ff>
        max_label_value=   <1-1048575>
        min_label_value=   <1-1048575>
        neighbor_intf_ip_addr=   { ip }
             neighbor_intf_ip_addr_step= <a.b.c.d>
        rapid_retx_delta=  <1-65535>
        rapid_retx_interval= <integer>
        rapid_retx_limit  <010= >
        record_route=   {1|0}
        recovery_time= <0-65535>
        refresh_interval= <1-4294967295>
        refresh_reduction=   {1|0}
        reliable_delivery=   {1|0}
        reliable_delivery_ack_method= {immediate|piggyback_msgid}
        restart_time= <0-65535>
        resv_confirm=   {1|0}
        srefresh_interval= <1-2147483647>
        summary_refresh=  {1|0}
        transit= {RSVP_TRANSIT_ACCEPT_CONFIGURED |
                   RSVP_TRANSIT_ACCEPT_ALL} ]
        user_priority= <0-7>
        un_numbered_interface_enable= {0|1}
        vci= <0-65535>
        vci_step= <0-65535>
        vlan_cfi=  {0|1}
        vlan_id=  <0-4095>
        vlan_id_mode= {fixed|increment}
        vlan_id_step=  <1-4094>
        vlan_user_priority= <0-7>
        vlan_outer_id= <0-4095>
             vlan_outer_id_mode= {fixed|increment}
             vlan_outer_id_step= <1-4094>
             vlan_outer_user_priority= <0-7>
        vpi= <0-255>
        vpi_step= <0-255>
        tunnel_handle= <GRE_tunnel_handle>
        hello_custom_handle= <RSVP_custom_object_handle>
        path_err_custom_handle= <RSVP_custom_object_handle>
        reser_err_custom_handle= <RSVP_custom_object_handle>
        use_gateway_as_dut_ip_addr= {true|false}

Arguments:

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

bundle_interval
                Specifies the bundle time interval in milliseconds. Messages
                are held in a buffer and are sent out as a bundle after the
                interval expires or when the message size exceeds the MTU.

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

                Specifies the message bundling method. Messages are held in a buffer
                and are sent out as a bundle after the interval expires or when the
                message size exceeds the MTU.
                Possible values are::


                 observe_rx_rsvp_messages      Start bundling only after receiving a
                                               bundled message

                 manual_configuration          Start bundling immediately

                The default value is observe_rx_rsvp_messages.

bundle_msgs
                Enables or disables message bundling. If set to 1, combines
                multiple RSVP messages into a single PDU to reduce
                processing overhead and bandwidth consumption.

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

                Specifies the Capability object to be carried into the Hello message.
                Possible values are::


                 class_number_132    Class Number 132
                 class_number_134    Class Number 134
                 none                No object

                The default value is class_number_132.

cfi
                This argument has been replaced with "vlan_cfi". The -cfi
                argument is supported but may not be supported in
                future versions. Therefore, for new scripts, use vlan_cfi
                instead.

count
                Defines the number of RSVP routers to create on the
                interface. Possible values are 0 to <max_int>. The default
                is 1.

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

                Specifies the starting IP address of the DUT. This argument
                is available when use_gateway_as_dut_ip_addr is set to
                false.

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

                Specifies the increment value with which to
                create subsequent DUT addresses. This argument
                is available when use_gateway_as_dut_ip_addr is set to
                false. The default value is 0.0.0.0.

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

                Determines whether to expand the specified RSVP device
                parameters into emulated RSVP device objects. Possible
                values are true and false. If it is set to true, a list of
                emulated RSVP devices will be created and their handles
                returned. If it is set to false, no handles will be
                returned.

egress_label_mode
                Defines the label advertised if the emulated router is at
                the tailend of the tunnel. This label is advertised in
                response to a PATH message with a destination IP address
                matching the router tester IP address. Possible values are
                nextlabel, exnull, and imnull. The default is nextlabel.
                These values are described below::


                 nextlabel - Advertise the next available label.
                        For each FEC, the LSR advertises the next
                        available label from the label pool
                        (Min Label to Max Label).

                 exnull - Advertise label 9, the explicit null label.
                       A zero (IPv4 datagram) or two (IPv6 datagram) MPLS
                       label value indicates to the penultimate router that
                       it is to pop the label upon receipt and forward the IP
                       packet to the egress router for Layer 3 forwarding.
                       Explicit null instructions are signaled to the
                       penultimate router by the egress router.

                 imnull - Advertise label 3, the implicit null label.
                       This label value (three) is used in an LDP or RSVP
                       packet to enable penultimate hop label popping. The
                       egress LSR signals a request to its upstream neighbor
                       to pop the top label in the stack and forward the rest
                       of the packet. This value does not appear in the
                       encapsulation.

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

                Configures the IPv4 gateway address of the router.

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

                Configures the IPv4 gateway address for multiple routers.
                Use this argument with the gateway_ip_addr argument.

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

                Enables or disables Generalized Multiprotocol Label Switching
                (GMPLS) for the RSVP tunnel. Once enabled, you can configure
                GMPLS options using the  emulation_rsvp_tunnel_config
                function. Possible values are 1 (enable) and 0 (disable). The
                default value is 0.

graceful_restart
                Enables or disables graceful restart. Possible values are 1
                (enable) and 0 (disable). If set to 1, enables graceful
                restart which adds a RESTART_CAP object in HELLO messages.
                Enabling graceful restart will automatically enable HELLO
                messages (see hello_msgs).

graceful_restart_recovery_time
                Specifies the length of time (in milliseconds) that the
                sender desires for the recipient to resynchronize RSVP and
                MPLS forwarding state with the sender after the re-
                establishment of Hello synchronization. Possible values are
                0 to 65535. A value of zero (0) indicates that MPLS
                forwarding state was not preserved across a particular
                reboot.

graceful_restart_restart_time
                Specifies the sum of the time, in milliseconds, it takes the
                sender of the object to restart its RSVP component (to the
                point where it can exchange RSVP HELLO with its neighbors)
                and the communication channel that is used for RSVP
                communication. Possible values are 0 to 65535. The default
                is 5, which is used to configure HELLO message generation
                and graceful restart capability.

handle
                Specifies the RSVP handle to use.
                This argument is `Mandatory` for modify, delete, enable, disable,
                active and inactive modes. When mode is set to create, Spirent
                HLTAPI creates RSVP over the provided device. (Please refer to
                the description of the mode argument for more information)

hello_interval
                Specifies the amount of time, in milliseconds, between RSVP
                hello messages. Possible values range from 1 to 65536. The
                default is 5000.

hello_msgs
                Enables or disables the creation of HELLO messages and
                graceful restart capability. Possible values are 0 (disable)
                and 1 (enable). The default is 0.

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

                Specifies the hop TLV ID.
                Possible values are::


                 router_id       Use the router ID from the device interface as
                                 the Hop TLV ID

                 interface_id    Use the IPv4 Address from the Device Interface
                                 as the Hop TLV ID

                The default value is interface_id.

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

                Specifies the interpacket delay.
                Possible values range from 0 to 2147483647.
                The default value is 30

intf_ip_addr
                Specifies the IP address of the interface for the RSVP
                emulated router that will establish an adjacency with the
                DUT. The default for IPv4 is 192.85.1.3.

intf_ip_addr_step
                Specifies the difference between interface IP addresses of
                consecutive routers when multiple RSVP routers are created.
                The default increment is 1. The value must be in IPv4
                format.

intf_prefix_length
                Specifies the prefix length on the emulated router, Possible
                values for IPv4 addresses range from 1 to 32; the default is
                24.

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

                Specifies the label binding mode.
                Possible values are::


                 tx_and_rx   Bind Tx and Rx label
                 tx_only     Bind Tx label
                 rx_only     Bind Rx label
                 none        None

                The default value is tx_and_rx.

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

                Enables or disables LSP results.
                Possible values are 1 (enable) and 0 (disable).
                The default value is 1.

mac_address_start
                Initial MAC address of the interfaces created for the RSVP
                neighbor configuration.

max_label_value
                Specifies the maximum LSP label advertised by the peer.
                Used to configure refresh reduction capabilities per
                RFC 2961. Possible values range from 1 to 1048575. The
                default value is 65535.

min_label_value
                Specifies the minimum LSP label advertised by the peer. Used
                to configure refresh reduction capabilities per RFC 2961.
                Possible values range from 16 to 1048575. The default value
                is 16.

mode
                Specifies the action to perform. Possible values are create,
                enable, disable, modify, reset, active and inactive. This
                argument is `Mandatory`. The modes are described below::

                create
                        Create and start the RSVP router. When port_handle is
                        provided, Spirent HLTAPI creates one or more emulated
                        routers that are associated with the specified port.

                enable
                        Create and start the RSVP router.

                disable
                        Delete the RSVP router identified by the handle
                        argument, or delete all the RSVP routers associated with
                        the specified port.

                modify
                        Change the configuration for the RSVP router
                        identified by the handle argument.

                delete
                        Deletes the RSVP router identified by the handle
                        argument, or delete all the RSVP routers associated
                        with the specified port.

                active
                        Enables the RSVP router specified by the handle
                        argument. You must specify a valid RSVP session handle.

                inactive
                        Disables the RSVP router specified by the handle
                        argument. You must specify a valid RSVP session handle.
                        The configuration for the router is retained,
                        when it is inactive and is available as configured if the
                        router is active.


                activate
                        1. Enables RSVP devices and configures RSVP parameters for
                           the devices created via the interface config or
                           ``emulation device config`` function. This mode requires
                           the value of param_handle as the input to the handle
                           option. Use this mode for `scaling` scenarios. Refer to
                           count and -expand options under the
                           sth::interface_config or emulation device config
                           function for more information. For this mode, only the
                           following options are valid::


                               egress_label_mode
                               bfd_registration
                               max_label_value
                               min_label_value
                               use_gateway_as_dut_ip_addr
                               dut_ip_addr
                               dut_ip_addr_step
                               expand
                        2. Creates devices and enables RSVP protocol.
                        Requires port_handle and -block_mode options.
                        For this mode, the following options are required/supported
                        along with the options specified above::


                             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_ipv6
                             router_id_ipv6_step
                             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.

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

                      count
                      cfi
                      intf_ip_addr
                      intf_ip_addr_step
                      intf_prefix_length
                      user_priority
                      gateway_ip_addr
                      gateway_ip_addr_step
                      loopback_ip_addr
                      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

neighbor_intf_ip_addr
                Specifies the IP address of the interface for the RSVP
                neighbor (next hop) that will establish an adjacency with
                the DUT. The default for IPv4 is 192.85.1.3.

neighbor_intf_ip_addr_step
                Specifies the difference between interface IP addresses of
                consecutive routers when multiple RSVP routers are created.
                The default increment is 1. The value must be in IPv4
                format.

port_handle
                The port on which to create the emulated RSVP router. The
                port handle is returned by the connect
                function.

rapid_retx_delta
                Specifies the rapid retransmission delta, which is the speed
                at which the retransmission interval is increased. The ratio
                of two successive retransmission intervals is (1 + Delta).
                Possible values range from 1 to 65535. The default is 1.

rapid_retx_interval
                Specifies, in milliseconds, the rapid retransmission
                interval, which is the initial retransmission interval for
                unacknowledged messages. Possible values range from 1 to
                2147483647. The default is 500.

rapid_retx_limit
                Specifies the rapid retransmission limit, which is the
                maximum number of times a message can be transmitted without
                being acknowledged. Possible values range from 0 to 10.
                The default is 3.

record_route
                Enables or disables whether to include the RECORD_ROUTE
                object in the Path message. Possible values are 0 (disable)
                and 1 (enable). The default is 0.

recovery_time
                This argument has been replaced with
                "graceful_restart_recovery_time". The -recovery_time
                argument is supported but may not be supported
                in future versions. Therefore, for new scripts, use
                graceful_restart_recovery_time instead.

refresh_interval
                Specifies the amount of time, in milliseconds, between
                sending RSVP messages to refresh state. Possible values
                range from 1 to 2147483647. The default is 30000 (30
                seconds).

refresh_reduction
                Enables or disables refresh reduction. Possible values are 0
                (disable) and 1 (enable). The default is 0. The reliable
                messages, bundle messages, and summary refresh messages are
                only meaningful when refresh reduction is enabled.

reliable_delivery
                Enables or disables transmitting message IDs. Possible
                values are 0 (disable) and 1 (enable). The default is 0.
                If set to 1, RSVP sends message IDs and acknowledgements for
                each message received. If set to 0, it does not send message
                IDs.

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

                Specifies the acknowledgement (ACK) mode required by a reliable
                delivery.
                Possible values are::


                 immediate                Send ACK immediately
                 piggyback_msgid          Send multiple message IDs in one ACK
                                         when the ACK timer expires.

                The default value is immediate.

restart_time
                This argument has been replaced with
                graceful_restart_restart_time. The -restart_time argument
                is supported but may not be supported in future
                versions. Therefore, for new scripts, use
                graceful_restart_restart_time instead.

resv_confirm
                Enables or disables whether to require a reservation
                confirmation message. Possible values are 0 (disable) and 1
                (enable). The default is 0. If set to 1, enables and
                requires RESV confirmation with final parameters from the
                egress router. If set to 0, does not require sending RESV
                confirmation messages.

srefresh_interval
                Specifies the time interval, in milliseconds, to gather
                refresh messages that would have been sent out individually.
                Messages are sent out as a single refresh message upon
                interval expiration or when the message size exceeds the
                MTU. Possible values range from 1 to 2147483647. The default
                is 30000 (30 seconds).


summary_refresh
                Enables or disables summary refresh. Possible values are 0
                (disable) and 1 (enable). The default is 0. You must also
                enable refresh_reduction when you use this argument.

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

                This argument was added by Spirent to specify whether the
                router accepts all the PATH messages or only configured PATH
                messages. This argument enables Spirent HLTAPI to run
                multiple sessions per port. Possible values are::


                 RSVP_TRANSIT_ACCEPT_ALL - the router accepts any PATH
                         message; each port can have only one
                         RSVP_TRANSIT_ACCEPT_ALL router.

                 RSVP_TRANSIT_ACCEPT_CONFIGURED - the router accepts
                         configured PATH messages. Each port can have many
                         RSVP_TRANSIT_ACCEPT_CONFIGURED router.

                The default is RSVP_TRANSIT_ACCEPT_CONFIGURED.

user_priority
                This argument has been replaced with "vlan_user_priority".
                The user_priority argument is supported but may
                not be supported in future versions. Therefore, for new
                scripts, use vlan_user_priority instead.

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

                Enables or disables the unnumbered interface. Possible values are
                1 (enable) and 0 (disable). The default value is 0.

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

vlan_id
                The VLAN ID of the first VLAN subinterface. Used to
                configure refresh reduction capabilities per RFC 2961.
                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 use 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_user_priority
                VLAN user priority assigned to emulated router node.
                Possible values range from 0 to 7. The default is 0.

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

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.

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

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

                Specifies a list of RSVP custom object handles for the HELLO message.
                This handle is returned from the
                ``emulation rsvp custom object config`` function.

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

                Specifies a list of RSVP custom object handles for the PATH message.
                This handle is returned from the
                ``emulation rsvp custom object config`` function.

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

                Specifies a list of RSVP custom object handles for the RESERVE
                message. This handle is returned from the
                ``emulation rsvp custom object config`` function.

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

                Enables or disables using gateway address  as the DUT IP address.
                Possible values are true and false. The default value is false.
Ciscospecific Arguments:

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

hello_retry_count
loopback_ip_addr
max_ack_delay
max_lsps
mtu
path_state_refresh_timeout
path_state_timeout_count
precedence
refresh_retry_count
resv_state_refresh_timeout
resv_state_timeout_count
router_alert
timeout
ttl
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 RSVP handles that identify the routers created by the
          ``emulation rsvp config`` function.

handle_list
          A list of emulated devices with RSVP configuratin created by
          ``emulation rsvp 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 rsvp config function creates, enables, disables, modifies, or deletes an emulated RSVP router. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)

RSVP has three basic functions: path setup and maintenance, path tear down, and error signaling.

When you create an emulated router, use the port_handle argument to specify the Spirent HLTAPI port that the emulated router will use for RSVP 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 an RSVP router:

  • The source IP address for the emulated router (intf_ip_addr)
  • The destination IP address for the emulated router (neighbor_intf_ip_addr)
  • The port on which to create the emulated router (port_handle)

An RSVP session is a data flow with a particular destination and transportlayer protocol. When you create an RSVP router, Spirent HLTAPI starts the router communication.

Refresh messages are sent to both synchronize state between RSVP neighbors and to recover from lost RSVP messages.

There are several RSVP message types but the two most important are “path” and “reservation” messages. Reservation messages are also referred to as “RESV” messages. Path messages are used to set up and maintain (that is, refresh) reservations. RESV messages are used to set up and maintain the “resources requested” as well as “refresh” reservations. An RSVP router sends a path message every 30 seconds (30 seconds is the default refresh interval) to say “Maintain my reserved resources. I still need them.” It sends an RESV message every 30 seconds to say “I will hold this reservation for you.”

Once you start sessions by creating routers, Spirent HLTAPI handles all of the message traffic for the emulated RSVP routers. During the test, use the emulation rsvp control start=individual RSVP routers.

Example:

The following example creates a RSVP router::


  emulation rsvp config mode=create
       port_handle  $port_handle($device,$port1)
       count 1
       egress_label_mode nextlabel
       hello_interval 5000
       hello_msgs 1
       intf_ip_addr 90.0.0.3
       intf_ip_addr_step 0.0.0.1
       intf_prefix_length 24
       max_label_value 1048575
       min_label_value   16
       neighbor_intf_ip_addr 90.0.0.4
       neighbor_intf_ip_addr_step 0.0.0.1
       gateway_ip_addr 90.0.0.4
       gateway_ip_addr_step 0.0.0.1
       rapid_retx_delta 1
       rapid_retx_interval 500
       rapid_retx_limit 3
       record_route 0
       refresh_interval 30000
       refresh_reduction 1
       reliable_delivery  1
       resv_confirm 1
       srefresh_interval 30000

The following example enables RSVP 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 RSVP--------------------"
  set routerStatus [emulation rsvp config
                                   mode                 create
                          handle                   $router
                          recovery_time       55
                          bfd_registration    1
                        ]
   puts "RSVP:  $routerStatus"

Sample output for example shown above::


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

Sample Output::


           {{handles router1} {status 1}}

Sample input for the `scaling` mode(activate) with handle::

   set hnd [keylget int_ret0 param_handle]
   # param_handle returned from interface config
   puts "Param List: $int_ret0"
  set rsvp_ret [emulation rsvp config
               mode                            activate
               handle                          $int_ret0
               record_route                    0
               egress_label_mode               nextlabel
               use_gateway_as_dut_ip_addr      true
               max_label_value                 2
               min_label_value                 1
               bfd_registration                1
               expand                          true

Sample Output::


           {handle {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4
           emulateddevice5}} {handles {emulateddevice1 emulateddevice2 emulateddevice3
           emulateddevice4 emulateddevice5}} {handle_list {emulateddevice1 emulateddevice2
           emulateddevice3 emulateddevice4 emulateddevice5}} {status 1}

Sample input for the `scaling` mode(activate) with port_handle and -block_mode::

  set rsvp_ret [emulation rsvp config
               mode                            activate
               port_handle                     $port1
               block_mode                      ONE_DEVICE_PER_BLOCK
               block_name_index                1
               count                           5
               record_route                    0
               intf_ip_addr                    192.85.1.2
               egress_label_mode               nextlabel
               use_gateway_as_dut_ip_addr      true
               max_label_value                 2
               min_label_value                 1
               bfd_registration                1
               expand                          true

Sample Output::


           {param_handle emulateddevicegenparams1} {status 1} {handle_list {emulateddevice1
           emulateddevice2 emulateddevice3 emulateddevice4 emulateddevice5}}
           {handle {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4
           emulateddevice5}} {handles {emulateddevice1 emulateddevice2 emulateddevice3
           emulateddevice4 emulateddevice5}}

emulation rsvp custom object config

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

Purpose:
Creates, modifies, or deletes a RSVPTE custom object

Synopsis:

Note: M indicates the argument is `Mandatory`.

   emulation rsvp custom object config
           mode= {create|modify|delete} M
           handle= <rsvp_custom_object_handle>
           class_number= <0-255>
           c_type= <0-255>
           custom_data= <decimal or hexdecimal>

Arguments:

mode
                Specifies the action to perform. Possible values are create,
                Modify, and delete. This argument is `Mandatory`. The modes are
                described below::


                 create     Creates an RSVP custom object

                 modify     Changes the configuration for the RSVP custom object
                            identified by the handle argument

                 delete      Deletes the specified RSVP custom object

handle
                Specifies the RSVP custom object handle to use. This argument is
                `Mandatory` for mode modify and mode delete.

class_number
                Specifies the Class Number field of the custom object.
                Possible values range from 0 to 255. The default value is 0.

c_type
                Specifies the CType field of the custom object. Possible values
                range from 0 to 255. The default value is 0.

custom_data
                Specifies the payload data for the custom object. Possible values
                are decimal or hexadecimal. The data must be 4 bytes or a multiple
                of 4 bytes long. The default value is 0.
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 RSVPTE custom object handle

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

log       An error message (if the operation failed)
Description:
The emulation rsvp custom object config function creates, modifies, or deletes a RSVPTE custom object. Use the -mode argument to specify the operation to perform. When you create a RSVPTE custom object, the function returns a handle for it. Use this handle as input for the modify and delete modes.
Examples:

The following example creates a custom object:

set ret1 [emulation rsvp custom object config
        mode=                  create
        c_type=                23
        class_number=          2
        custom_data=           "172 205 239 18"
    ]

Sample Output:

{handle rsvpcustomobject1} {status 1}

emulation rsvp control

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

Purpose:
Starts or stops RSVP routers.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation rsvp control
        mode= {flap | resume_hellos | stop_hellos | restart_router |
               initiate_make_before_break | graft_ingress | graft_egress |
                prune_ingress | prune_egress}  M]
        handle= <router_handle_list>
        port_handle= <port_handle_list>

Arguments:

handle
                Specifies a list of handles for the routers to be controlled.
                That is, the routers to start, stop, or restart.

mode
                Specifies the action to be taken. This argument is
                `Mandatory`. Possible values are described below::

                stop
                        Stops the router for the specified router or port

                start
                        Starts the router for the specified router or port.

                restart
                        Stops and then starts the router for the specified router
                        or port.

                resume_hellos
                        Resumes Hellos on specified RSVP routers.
                        Specify RSVP router handles using the handle option.

                stop_hellos
                        Stops Hellos on specified RSVP routers.
                        Specify RSVP router handles using the handle
                        option.

                restart_router
                        Performs graceful restart from the list of
                        RSVP routers. Specify RSVP router handles
                        using the handle option.

                initiate_make_before_break
                        Initiates makebeforebreak.
                        Specify ingress tunnel handles using the handle
                        option.

                graft_ingress
                        Grafts ingress subLSPs. Specify the list of subLSPs
                        using the handle option

                graft_egress
                        Grafts egress subLSPs. Specify the list of subLSPs
                        using the handle option

                prune_ingress
                        Prunes P2MP Ingress subLSPs. Specify the list of
                        subLSPs using the -handle option

                prune_egress
                        Prunes egress subLSPs. Specify the list of subLSPs
                        using the handle option

port_handle
                Specifies a list of ports to be controlled. That is,
                the ports on which all RSVP routers should be started,
                stopped, or restarted.
Ciscospecific Arguments:

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

flap_count
flap_down_time
flap_interval_time
flap_tunnels
restore
teardown
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status    Success (1) or failure (0) of the operation.
log       An error message (if the operation failed).
Description:
The emulation rsvp control function controls the starting and stopping of RSVP routers, and restoring and tearing down of RSVP tunnels. When you call the emulation rsvp control function, you specify either a handle or port handle. Spirent HLTAPI applies the specified action to either the specified RSVP router or to all of the RSVP routers associated with the specified port.

Examples:

To start an RSVP router:

emulation rsvp control mode=start
     handle= $rsvp_handle(rsvp1)

To start the RSVP router(s) on the specified port:

emulation rsvp control mode=start
     port_handle= $port_handle(port1)

To stop an RSVP router:

emulation rsvp control mode=stop
     handle= $rsvp_handle(rsvp1)

To restart the RSVP router(s) on the specified port:

emulation rsvp control mode=restart
     port_handle= $port_handle(port1)

Sample Output:

{status 1}

emulation rsvp info

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

Purpose:
Returns information about the RSVP configuration.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation rsvp info
         handle= <rsvp_handle> M
         mode=   {stats|settings} M

Arguments:

handle
                The router for which you want information.

mode
                Specifies the kind of information you want to see. Possible
                values are::


                 stats  - Returns transmitted and received statistics for
                          different RSVP messages.

                 settings - Returns the IP address of the specified RSVP
                            handle.

                The default is stats.
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 handle,
                the number of reserved and path messages sent and
                received, and information about the LSPs (see list
                below).

settings       Retrieves the IP address of the specified RSVP router
                and of its neighbor that will establish an adjacency to
                the DUT (see list below).

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:

ingress_resvconf_tx      Number of reserve confirmation messages sent.

ingress_patherr_tx       Number of path error messages sent.

ingress_resverr_rx       Number of reserve error messages received.

ingress_pathtear_tx      Number of path tear messages sent.

ingress_resvtear_rx      Number of reserve tear messages received.

egress_resvconf_rx       Number of reserve confirmation messages received.

egress_patherr_rx        Number of path error messages received.

egress_resverr_tx        Number of reserve error messages sent.

egress_pathtear_rx       Number of path tear messages received.

egress_resvtear_tx       Number of reserve tear messages sent.

lsp_count                Number of LSPs.

lsp_created              Number of LSPs up.

lsp_deleted              Number of LSPs down.

lsp_connecting           Number of LSPs connecting. (for Spirent HLTAPI only)

hellos_rx                Number of hello messages received.

hellos_tx                Number of hello messages sent.

min_setup_time           Minimum LSP setup time.

max_setup_time           Maximum LSP setup time.

msg_rx                   Number of messages received.

msg_tx                   Number of messages sent.

num_lsps_setup           Number of LSPs set up.

ingress_path_tx          Number of path messages sent.

egress_path_rx           Number of reserve messages received.

ingress_resv_rx          Number of reserve messages received.

egress_resv_tx           Number of reserve messages sent.

The following keys are returned when you specify mode settings:

intf_ip_address          IP address of the port on the interface card::

                         a.b.c.d.

neighbor_intf_ip_addr    IP address of the interface for the RSVP
                         neighbor (next hop) that will establish an
                         adjacency with the DUT: a.b.c.d.

Ciscospecific Returned Values:

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

   routing_protocol
   ingress_attempt_setup_msg
   ingress_success_setup_msg
   ingress_resv_timeout
   ingress_resv_errors
   egress_attemp_setup_msg
   egress_success_setup_msg
   egress_resv_timeout
   egress_resv_errors
   peer_count
   total_setup_time
   ack_rx
   ack_tx
   nack_rx
   nack_tx
   srefresh_rx
   srefresh_tx
   bundle_rx
   bundle_tx
   msg_retx
   out_of_order_msg
   msg_lsps
Description:

The emulation rsvp info function provides information about either the settings specified for the RSVP configuration or the statistics returned by it.

This function returns the requested data (statistics or settings 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 rsvp info mode=settings handle router1

Sample Output:

{intf_ip_address 90.0.0.3} {neighbor_intf_ip_addr 90.0.0.4}
{status 1}

emulation rsvp tunnel config

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

Purpose:
Creates, modifies, or deletes LSP tunnels on the specified test port running RSVP emulation. When you create LSP tunnels using RSVP as a signaling protocol, these tunnels can be automatically or manually routed away from network failures, congestion, and bottlenecks automatically.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation rsvp tunnel config
         mode= {create|modify|delete} M
         handle= <rsvp_session_handle>
         tunnel_pool_handle=  <rsvpte_tunnel_pool_handle>
         avoid_node_id= <a.b.c.d>
         count= <0max_int>
         direction= <egress|ingress>
         element_handle= <element_handle>
         element_type= {egress_sub_lsp|egress_sub_lsp_rro|ingress_p2mp_sub_group|
                        ingress_sub_lsp|ingress_sub_lsp_ero}]
         egress_ip_addr= <a.b.c.d>
         egress_ip_step= <a.b.c.d>
         egress_accept_any_tunnel_id= {true|false}
         egress_enable_notify_request= {true|false}
         egress_enable_point_to_multi_point= {true|false}
         egress_src_ip_addr= <a.b.c.d>
         egress_src_ip_addr_step= <a.b.c.d>
         egress_resv_custom_object_list= <RSVP_custom_object_handles>
         egress_resv_tear_custom_object_list= <RSVP_custom_object_handles>

         egress_sub_lsp_dest_ipv4_addr= <a.b.c.d>
         egress_sub_lsp_rro_frr_merge_point= {true|false}
         egress_sub_lsp_rro_interface_id= <NUMERIC>
         egress_sub_lsp_rro_label= <NUMERIC>
         egress_sub_lsp_rro_flags= { rsvp_rro_flag_local_protection_available|
                            rsvp_rro_flag_local_protection_in_use|
                            rsvp_rro_flag_bandwidth_protection|
                            rsvp_rro_flag_node_protection|
                            rsvp_rro_flag_node_id|0}]
         ero=  {0|1}
         ero_list_ipv4= {ipv4List}
         ero_list_loose= {0|1}
         ero_list_pfxlen= <1-128>
          ero_mode= {loose|strict|}
          ero_dut_pfxlen= <integer>
         extended_tunnel_id= <a.b.c.d>
         facility_backup= {0|1}
         fast_reroute= {0|1}
         fast_reroute_bandwidth= <integer>
         fast_reroute_exclude_any= <value>
         fast_reroute_holding_priority= <0-7>
         fast_reroute_hop_limit= <integer>
         fast_reroute_include_all= <value>
         fast_reroute_include_any= <value>
         fast_reroute_setup_priority= <0-7>
         gmpls_acceptable_label_set= <string>
         gmpls_acceptable_label_set_type= {exclusive_label_set|inclusive_label_set}
         gmpls_label= <NUMERIC>
         gmpls_interface_id= <NUMERIC>
         gmpls_resv_src_ip_addr= <a.b.c.d>
         gmpls_suggested_label= <NUMERIC>
         gmpls_te_router_id= <a.b.c.d>
         gmpls_use_upstream_label= {true|false}
         ingress_enable_bfd= {true|false}
         ingress_bfd_message_format= {bfd_cc|bfd_cv}
         ingress_bfd_my_discriminator= <NUMERIC>
         ingress_dst_ip_addr= <a.b.c.d>
         ingress_dst_ip_addr_step= <a.b.c.d>
         ingress_dst_ipv4_address= <a.b.c.d>
         ingress_enable_ero_compression= {true|false}
         ingress_enable_generalized_label_request= {true|false}
         ingress_enable_generic_associated_channel= {true|false}
         ingress_enable_generic_associated_label= {true|false}
         ingress_enable_notify_request= {true|false}
         ingress_enable_point_to_multipoint= {true|false}
         ingress_enable_protection_object= {true|false}
         ingress_enable_unique_sub_group_session_name= {true|false}
         ingress_enable_unique_session_name= {true|false}
         ingress_enable_upstream_label= {true|false}
         ingress_encapsulation= {raw|udp}
         ingress_extended_tunnel_id_step= <a.b.c.d>
         ingress_generalized_pid= <NUMERIC>
         ingress_linkprotection_flag= {rsvp_link_protection_flag_dedicated_one_plus_one|
                      rsvp_link_protection_flag_dedicated_one_to_one|
                      rsvp_link_protection_flag_enhanced|
                      rsvp_link_protection_flag_extra_traffic|
                      rsvp_link_protection_flag_shared|
                      rsvp_link_protection_flag_unprotected}]
         ingress_lsp_encoding_type= {ansi_etsi|digital_wrapper|ethernet|fiber|
                            fiberchannel|lambda_photonic|packet|reserved1|
                            reserved2|reserved3|sig_sat|userdefined}]
         ingress_lsp_encoding_value= <NUMERIC>
         ingress_lsp_id= <1-65535>
         ingress_lsp_id_step= <1-65535>
         ingress_make_before_break= {true|false}
         ingress_make_before_break_retry_algorithm= {loop_continuous|loop_once}
         ingress_make_before_break_retry_time= <NUMERIC>
         ingress_p2mp_id= <a.b.c.d>
         ingress_switching_type= {fsc|l2sc|lsc|psc1|psc2|psc3|psc4|tdmc
                                |userdefined}]
         ingress_switching_value= <NUMERIC>
               ingress_sub_lsp_dest_ipv4_addr= <a.b.c.d>
         ingress_sub_lsp_ero_interface_id= <NUMERIC>
         ingress_sub_lsp_ero_route_type= {rsvp_strict|rsvp_loose}
         ingress_sub_lsp_ero_start_ip_list= <a.b.c.d>
         ingress_sub_lsp_ero_prefix_length= <NUMERIC>
         ingress_ip_addr=  <a.b.c.d>
         ingress_ip_step=  <a.b.c.d>
         lsp_id_count= <1-20>
         min_policed_size= <integer>
         one_to_one_backup= {0|1}
         p2mp_sub_group_id= <NUMERIC>
         p2mp_sub_group_originator_id= <a.b.c.d>
         plr_id= <a.b.c.d>
         port_handle= <integer>
         rro= {0|1}
         rsvp_behavior= {rsvpEgress|rsvpIngress }
         send_detour= {0|1}
         sender_peak_data_rate= <integer>
         sender_token_bkt_rate= <integer>
         sender_token_bkt_size= <integer>
         sender_tspec_max_pkt_size= <integer>
         sender_tspec_min_policed_size= <integer>
         sender_tspec_peak_data_rate= <integer>
         sender_tspec_token_bkt_rate= <integer>
         sender_tspec_token_bkt_size= <integer>
         session_attr= {0|1}
         session_attr_bw_protect= {0|1}
         session_attr_flags= <0-255>
         session_attr_hold_priority= <0-7>
         session_attr_label_record= {0|1}
         session_attr_local_protect= {0|1}
         session_attr_merge= {0|1}
         session_attr_name=   { any }
         session_attr_node_protect= {0|1}
         session_attr_ra_exclude_any=   {0-0xFFFFFFFF}
         session_attr_ra_include_all=   {0-0xFFFFFFFF}
         session_attr_ra_include_any=   {0-0xFFFFFFFF}
         session_attr_resource_affinities= {0|1}
         session_attr_se_style=  {0|1}
         session_attr_setup_priority=  <0-7>
         tunnel_count= <0-65535>
         tunnel_id_start= <0-65535>
         tunnel_id_step=  <integer>

Arguments:

avoid_node_id
                Indicates the IPv4 address that identifies the immediate
                downstream node that the Point of Local Repair (PLR) is
                trying to avoid. PLR is the headend Label-Switch Router
                (LSR) of a backup tunnel or a detour LSP. The Router ID of
                the downstream node is the preferred value.

count
                Defines the number of tunnels to create to the specified
                egress point (that is, the tunnel end point). Possible
                values are 0 to <max_int>. The default is 1.

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

                Specifies the direction of tunnels. Possible values are
                egress or ingress. The default is ingress.


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

                RSVP ingress/egress element handles returned from the current
                function. This argument is required for modes modify and delete.
                You must specify element_type.

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

                Specifies the type of RSVP elements under which you want to
                create, modify, or delete subobjects. This argument is
                `Mandatory`. You must specify element_handle.
                Possible values are::


                 egress_sub_lsp          SubLSP configuration under the egress tunnel
                 egress_sub_lsp_rro      RRO objects under the subLSP

                 ingress_p2mp_sub_group  P2MP Subgroup configuration under the
                                         ingress tunnel
                 ingress_sub_lsp         P2MP SubLSP configuration under the
                                         P2MP subgroup
                 ingress_sub_lsp_ero            ERO Objects under the subLSP
                 ingress_sub_lsp_ero_sub_obj    ERO Subobjects under the ERO

egress_ip_addr
                Specifies the IP address of the tunnel's egress (end) point.
                The default for IPv4 is 192.85.1.1.

egress_ip_step
                Increments egress IP addresses for multiple tunnels. The
                value must be in IPv4 format.

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

                Once enabled, Spirent HLTAPI will accept all tunnel IDs without
                having to specify them. Possible values are true (enable) and
                false (disable). The default value is false.

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

                Once enabled, Spirent HLTAPI will allow the emulated egress
                router to request notifications. Possible values are true
                (enable) and false (disable). The default value is false.

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

                Enables or disables P2MP mode for the egress RSVP tunnel.
                Possible values are true (enable) and false (disable).
                The default value is false.

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

                Specifies the source IP address for the RSVP PATH message sender.
                The default value is 192.85.1.3.

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

                Specifies the step value by which to generate subsequent source
                IP addresses. The default value is 0.0.0.0.


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

                Specifies a list of RSVP custom object handles for the RESV
                message type. This handle is returned from the
                ``emulation rsvp custom object config`` function.


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

                Specifies a list of RSVP custom object handles for the RESV
                TEAR message type. This handle is returned from the
                ``emulation rsvp custom object config`` function.

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

                Specifies the destination IPv4 address for the subLSP under the
                egress RSVP tunnel. The default value is 0.0.0.0.

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

                When enabled, the specified IP address will be used as the merge
                point. Possible values are true (enable) and false (disable). The
                default value is false.

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

                Specifies the Record Route Object (RRO) interface ID for the
                subLSP under the egress RSVP tunnel. The default value is 1.

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

                Specifies the RRO label for the subLSP under the egress RSVP
                tunnel. The default value is 16.

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

                Specifies a list of RRO object flags under the egress RSVP
                tunnel. Use "|" to specify multiple flags. Possible values are::


                 rsvp_rro_flag_local_protection_available  Local Protection Available
                 rsvp_rro_flag_local_protection_in_use     Local Protection in Use
                 rsvp_rro_flag_bandwidth_protection        Bandwidth Protection
                 rsvp_rro_flag_node_protection             Node Protection
                 rsvp_rro_flag_node_id                     Node ID
                 0                                         None of above flags

                The default value is 0.


ero
                Enables the use of an Explicit Route Object (ERO). Possible
                values are 0 (disabled) and 1 (enabled). The default is 0.
                When enabled, use this argument with the ero_list_ipv4,
                ero_list_loose, and ero_list_pfxle arguments. When disabled,
                all ERO objects will be deleted in the modify mode.

ero_list_ipv4
                Specifies a list of IPv4 prefixes (that is, subobjects), one for
                each entry in a path message for ingress (incoming) tunnels.
                Use this argument with the ero_list_loose and
                ero_list_pfxlen arguments.

ero_list_loose
                Specifies a list of L bit values in the ERO subobjects. Possible
                values are 1 (loose) and 0 (strict). If you specify 1 for the L
                bit, the subobject represents a loose hop in the explicit route.
                If you specify 0 for the L bit, the subobject represents a strict
                hop in the explicit route. The default is 0. Use this argument
                with the ero_list_ipv4 and ero_list_pfxlen arguments.

ero_list_pfxlen
                Specifies a list of IPv4 prefix lengths for the ERO subobjects.
                The default is 32. This argument only applies to ingress
                (incoming) tunnels. Use this argument with the ero_list_ipv4 and
                ero_list_loose arguments.

ero_mode
                Indicates whether the address of devices under test (DUTs)
                is to be prepended to the ERO list and whether it is a loose
                or strict entry. Possible values are:

                loose
                         Indicates the DUT address is a loose entry. If the
                         L bit in a subobject is set, then the value of the
                         attribute is "loose". The abstract node of a loose
                         subobject is a loose node. The path between a loose
                         node and its preceding node may include other network
                         nodes that are not part of the strict node or its
                         preceding abstract node.

                strict
                         Indicates the DUT address is a strict entry. If
                         the L bit in a subobject is not set, then the value of
                         the attribute is "strict". The abstract node of a
                         strict subobject is a strict node. The path between a
                         strict node and its preceding node must include only
                         network nodes from the strict node and its preceding
                         abstract node.

                none
                         The DUT address is not prepended to the ERO list.

                The default value is loose.
                It is recommended you use ero_list_pfxlen, ero_list_ipv4, and
                ero_list_loose to configure ERO subobjects.

ero_dut_pfxlen
                Indicates the prefix length to be used for the entry, if
                the DUT's address is to be prepended to the ERO list. Possible
                values range from 0 to 32. The default value is 24. It is
                recommended that you use ero_list_pfxlen, ero_list_ipv4, and
                ero_list_loose to configure ERO subobjects.

extended_tunnel_id
                Specifies the ID for a custom tunnel. If not specified, it
                will be assigned the value of ingress_ip_addr.

facility_backup
                Disables or enables the Facility Backup feature for fast
                reroute. Facility Backup is a local repair method in which a
                bypass tunnel is used to protect one or more protected LSPs
                that traverse the PLR, the resource being protected,
                and the Merge Point, in that order.
                Possible values are 0 (disabled) and 1(enabled).
                The default is 0. You can configure this
                argument and one_to_one_backup at the same time.
                But the two arguments cannot both be true at the
                same time. This argument can be used when the
                fast_reroute argument is true.

fast_reroute
                Disables or enables the use of the fast reroute feature.
                The fast reroute feature is used to control the backup
                used for the protected LSP. The FAST_REROUTE object
                specifies the setup and hold priorities, session
                attribute filters, and bandwidth to be used for protection.
                Possible values are 0 (disabled) and 1 (enabled).
                The default value is 0.

fast_reroute_bandwidth
                Defines the bandwidth estimate for the protection path
                of the FAST_REROUTE object. The bandwidth estimate is
                measured in bytes per second. This argument must be defined
                in 32bit IEEE floating point format.
                The default value is 0.0.

fast_reroute_exclude_any
                Defines the excludeany field of the FAST_REROUTE object
                that represents a set of attribute filters associated with
                a backup path, any of which render a link unacceptable.
                The value must be a 32bit vector.
                The default is 00 00 00 00.

fast_reroute_holding_priority
                Indicates the priority of the backup path with respect to
                holding resources. Possible values range from 0 (highest)
                to 7 (lowest). The default is 7.

fast_reroute_hop_limit
                Defines the maximum number of extra hops the backup path
                is allowed to take from the current PLR node to a merge point.
                The default is 3.

fast_reroute_include_all
                Indicates an element of FAST_REROUTE object that
                represents a set of attribute filters associated with a
                backup path, all of which must be present to render a link
                acceptable. The value must be a 32bit vector.
                The default is 00 00 00 00.

fast_reroute_include_any
                Indicates a 32bit vector that represents a set of
                attribute filters associated with a backup path, any of
                which render a link acceptable. The default is 00 00 00 00.

fast_reroute_setup_priority
                Defines the priority of the backup path with respect to
                taking resources, in the range of 0 (highest) to 7 (lowest).
                Setup Priority is used in deciding whether this session can
                preempt another session.  The default is 7.

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

                Specifies a list of acceptable label sets for the Generalized
                Multiprotocol Label Switching (GMPLS). The default value is 0.


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

                Specifies the acceptable label set type.
                Possible values are::


                 exclusive_label_set     If the label in the message matches the
                                         list, a PATH_ERR message is returned.
                                         Otherwise, a PATH message is returned
                                         using the upstream label.

                 inclusive_label_set    If the label in the message matches the list,
                                        a PATH message is returned using the
                                        upstream label, otherwise a PATH_ERR
                                        message is returned.

                The default value is inclusive_label_set.

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

                Specifies the GMPLS label. The default value is 570490881.

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

                Specifies the GMPLS interface ID. The default value is 1.

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

                Specifies the reservation (RESV) source IP address for the GMPLS

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

                Specifies the suggested label for the GMPLS

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

                Specifies the TE router ID for the GMPLS. The value must be in
                IPv4 format. The default value is 192.0.0.1.

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

                Once enabled, the upstream label will be used as the egress label.
                Possible values are true (enable) and false (disable).
                The default value is true.

handle
                Identifies the RSVP router for which to add or remove
                tunnels. This argument is `Mandatory` for mode create.

ingress_ip_addr
                Specifies the IP address of the tunnel's ingress (start)
                point. The default is 192.85.1.3.

ingress_ip_step
                Specifies the increment for IP addresses for multiple
                ingress tunnels. The default increment is 1. The value must
                be in IPv4 format.

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

                Enables or disables Bidirectional Forwarding Detection (BFD) for
                the ingress RSVP tunnel. Possible values are true (enable) and
                false (disable). The default value is false.

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

                Specifies the BFD message format. Possible values are::


                 bfd_cc      BFD  Continuity Check type
                 bfd_cv      BFD Connectivity Verification Type

                The default value is bfd_cc.

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

                Specifies the My Discriminator value in the BFD message. My
                Discriminator is a unique, nonzero discriminator value generated
                by the transmitting system, used to demultiplex multiple BFD
                sessions between the same pair of systems.
                The default value is 10.

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

                Specifies the destination IP address for the RSVP PATH message.
                This argument is available for P2P tunnels. The default value is
                192.85.1.1.

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

                Specifies the step value by which to generate subsequent
                destination IP addresses of the RSVP PATH message.
                The default value is 0.0.0.0.

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

                Specifies the destination IP address for the subLSP.
                The default value is 127.0.0.1.

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

                Enables or disables explicit route object compression for the
                ingress RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is true.

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

                Enables or disables generalized label request for the ingress
                RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is false.

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

                Enables or disables generic associated channel (GACh) for the
                ingress RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is false.

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

                Enables or disables generic associated label (GAL) for the
                ingress RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is false.

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

                Once enabled, Spirent HLTAPI will allow the ingress router to
                request notifications. Possible values are true (enable) and
                false (disable). The default value is false.

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

                Enables or disables P2MP RSVP tunnel for the ingress RSVP tunnel.
                Possible values are true (enable) and false (disable). The
                default value is false.

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

                Enables or disables protection objects for the ingress RSVP
                tunnel. Possible values are true (enable) and false (disable).
                The default value is false.

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

                Enables or disables unique subgroup session names for the
                ingress RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is false.

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

                Enables or disables unique session names for the
                ingress RSVP tunnel. Possible values are true (enable) and false
                (disable). The default value is false.

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

                Enables or disables upstream labels for the ingress RSVP tunnel.
                Possible values are true (enable) and false (disable).
                The default value is false.

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

                Specifies the encapsulation type for the ingress RSVP tunnel.
                Possible values are::


                 udp      BFD packet encapsulate over UDP
                 raw      BFD packet encapsulate over RAW

                The default value is udp.

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

                Specifies step value by which to generate subsequent extended
                tunnel IDs in the ingress RSVP tunnel. The value must be in IPv4
                format. The default value is 0.0.0.0.

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

                Specifies the generalized PID (GPID) for the ingress RSVP
                tunnel. The default value is 0.

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

                Specifies a list of link protection flags for the ingress RSVP
                tunnel. Possible values are listed below::


                 rsvp_link_protection_flag_dedicated_one_plus_one
                                                           Dedicated One_plus_one
                 rsvp_link_protection_flag_dedicated_one_to_one
                                                             Dedicated Oneto-One
                 rsvp_link_protection_flag_enhanced          Enhanced

                 rsvp_link_protection_flag_extra_traffic     Extra Traffic
                 rsvp_link_protection_flag_shared            Shared
                 rsvp_link_protection_flag_unprotected       Unprotected

                Use "|" to specify multiple flags.

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

                Specifies the LSP encoding type for the ingress RSVP tunnel.
                Possible values are::


                 ansi_etsi               ANSI/ETSI
                 digital_wrapper         Digital Wrapper
                 ethernet                Ethernet
                 fiber                   Fiber
                 fiberchannel            Fiber Channel
                 lambda_photonic         Lambda (Photonic)
                 packet                  Packet
                 reserved1               Reserved1
                 reserved2               Reserved2
                 reserved3               Reserved3
                 sig_sat                 Sig Sat
                 userdefined             Userdefined

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

                Specifies the LSP encoding value when ingress_lsp_encoding_type
                is set to userdefined. The default value is 12.

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

                Specifies the ID of the first LSP in the ingress RSVP tunnel.
                Possible values range from 1 to 65535. The default value is 1.

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

                Specifies the step value by which to generate subsequent LSP IDs.
                Possible values range from 1 to 65535. The default value is 1.

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

                Enables or disables makebeforebreak for the ingress RSVP tunnel.
                Possible values are true (enable) and false (disable).
                The default value is false.

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

                Specifies the retry algorithm to use when signaling the backup LSPs
                during the makebeforebreak.
                Possible values are::


                 loop_continuous     Loop continuously
                 loop_once           Loop once

                The default value is loop_continuous.

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

                Specifies the makebeforebreak retry time, in ms

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

                Specifies the multicast group handle for the ingress tunnel. This
                handle is returned from ``emulation multicast config`` function.

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

                Specifies the P2MP identifier in IPv4 format.
                The default value is 0.0.0.1.

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

                Specifies the switching type for the ingress RSVP tunnel.
                Possible values are::


                 fsc             Fiber Switch Capable
                 l2sc            Layer 2 Switch Capable
                 lsc             Lambda Swicth Capable
                 psc1            Packet Switch Capable 1
                 psc2            Packet Switch Capable 2
                 psc3            Packet Switch Capable 3
                 psc4            Packet Switch Capable 4
                 tdmc            TimeDivision-Multiplex Capable
                 userdefined     Userdefined

                The default value is psc1.


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

                Specifies a list of RSVP custom object handles for the PATH
                message type. This handle is returned from
                the ``emulation rsvp custom object config`` function.

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

                Specifies a list of RSVP custom object handles for the PATH TEAR
                message type. This handle is returned from the
                ``emulation rsvp custom object config`` function.


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

                Specifies the destination IPv4 address of the subLSP under the
                ingress RSVP tunnel. The default value is 0.0.0.0.

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

                Specifies the interface ID for the subLSP Explicit Routes Object
                (ERO) under the ingress RSVP tunnel. The default value is 0.

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

                Specifies the explicit route type for the subLSP ERO object under
                the ingress RSVP tunnel.
                Possible values are::


                 rsvp_strict     Two nodes must be adjacent to one another with no
                                 intermediate hops separating them
                 rsvp_loose      Two nodes need not be adjacent

                The default value is rsvp_strict.

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

                Specifies a list of starting IPv4 addresses for the subLSP ERO
                under the ingress RSVP tunnel. The default value is 0.0.0.0.

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

                Specifies the IPv4 address prefix length for the subLSP ERO
                under the ingress RSVP tunnel. The default value is 0.

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

                Specifies the switching value when ingress_switching_type is set
                to userdefined. The default value is 0.

lsp_id_count
                Specifies the number of LSPs to create on a single tunnel
                handle. Possible values range from 1 to 20. The
                default is 1.

min_policed_size
                Specifies the minimum policed unit size: the byte size of
                the smallest packet generated by the sending application.
                Although this argument is supported by Spirent HLTAPI, it
                may not be supported in future versions. Therefore, do not
                use this argument in new scripts.

one_to_one_backup
                Disables or enables the use of the oneto-one backup
                feature for fast reroute. In the oneto-one backup
                method, a labelswitched path is established that
                intersects the original LSP somewhere downstream of the
                point of link or node failure.  Possible values are 0
                (disabled) and 1 (enabled). The default is 0. You must
                specify fast_reroute as true if you use this argument.
                You can configure this argument and facility_backup at the
                same time. But the two arguments cannot both be true at the
                same time.

plr_id
                Defines the IPv4 address that identifies the beginning
                point of the detour LSP which is a PLR. Any local address
                on the PLR can be used. The value should be in the IPv4
                format.

mode
                Specifies the action to perform on tunnels for the RSVP
                emulated router. Possible values are::


                 create - Creates an RSVP tunnel for the RSVP emulated router
                         identified by the handle argument.

                 modify - Changes the configuration for the tunnel
                         identified by the tunnel_pool_handle argument.

                 delete - Deletes the tunnels identified by the
                          tunnel_pool_handle argument.


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

                Specifies the P2MP subgroup ID for the RSVP tunnel.
                The default value is 0.

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

                Specifies the subgroup originator ID for the P2MP. The value must
                be in IPv4 format. The default value is 0.0.0.0.

port_handle
                Port handle of the test port running RSVP emulation.

rro
                Enables the route record in the tunnel. Possible values are
                0 (disabled) and 1 (enabled). The default is 0.

rsvp_behavior
                Identifies the node as an ingress node or egress node. The
                default is rsvpEgress. Possible values are::


                 rsvpIngress - Indicates the node is an ingress node.
                 rsvpEgress - Indicates the node is an egress node.

send_detour
                Disables or enables the generation of the fast reroute DETOUR
                object, using the values in the PLR list. The DETOUR object is
                used in the oneto-one backup method to identify detour LSPs.
                You must specify fast_reroute as true if you use this argument.
                Possible values are 0 (disabled) and 1 (enabled).
                The default is 0.

sender_peak_data_rate
                Replaced by sender_tspec_peak_data_rate.
                Supported in this version but will not be supported in
                future versions. Therefore, do not use this argument in new
                scripts.

sender_token_bkt_rate
                Replaced by sender_tspec_token_bkt_rate.
                Supported in this version but may not be supported in
                future versions. Therefore, do not use this argument in new
                scripts.

sender_token_bkt_size
                Determines the amount of information your server can process
                at any given time. Supported in this version but will not be
                supported in future versions. Therefore,
                do not use this argument in new scripts.

sender_tspec_max_pkt_size
                Specifies the maximum packet size in bytes. The maximum
                packet size is the biggest packet that will conform to the
                traffic specifications. Packets larger than this size sent
                into the network may not receive QoScontrolled service
                because they do not meet the traffic specification. The default
                is 4096. This argument only applies to ingress (incoming)
                tunnels.

sender_tspec_min_policed_size
                Specifies the minimum policed size in bytes. This size
                includes the application data and all protocol headers
                at or above the IP level (IP, TCP, UDP, RTP, etc.). It does
                not include the linklevel header size, because these
                headers will change in size as the packet crosses different
                portions of the internetwork. The default is 64. This argument
                only applies to ingress (incoming) tunnels.

sender_tspec_peak_data_rate
                Specifies the peak data rate in bytes of IP datagrams per second.
                The default is 512000. This argument only applies to ingress
                (incoming) tunnels.

sender_tspec_token_bkt_rate
                Specifies the token bucket rate in bytes of IP datagrams per
                second. The default is 128000. This argument only applies to
                ingress (incoming) tunnels.

sender_tspec_token_bkt_size
                Specifies the token bucket size in bytes. The default is 256000.
                This argument only applies to ingress (incoming) tunnels.

session_attr
                Enables or disables whether to include the SESSION_ATTRIBUTE
                object in the Path message. Possible values are 0 (disable)
                and 1 (enable). The default is 1. This argument only applies
                to ingress (incoming) tunnels.

session_attr_bw_protect
                Indicates to the PLRs along the
                protected LSP path whether a backup path with a bandwidth is
                guaranteed. Possible values are 0 (disable) and 1
                (enable). The default is 0. This argument only applies
                to ingress (incoming) tunnels.

session_attr_flags
                Sets the following session attribute flags at the same time::


                 session_attr_hold_priority  (bit 0)
                 session_attr_label_record (bit 1)
                 session_attr_se_style (bit 2)
                 session_attr_bw_protect (bit 3)
                 session_attr_node_protect (bit 4)

                You can use this argument to set the session attribute flags
                at one time instead of setting each flag individually for
                those five arguments (listed above). Possible values are
                from 0 to 255. The default is 0. For example, to enable the
                first five flags, specify session_attr_flags 31. The RSVP
                protocol converts the binary setting (11111) to its decimal
                equivalent (31). This argument only applies to ingress
                (incoming) tunnels.

session_attr_hold_priority
                Specifies the priority at which resources assigned to this
                session will be reserved. Possible values range from 0 to 7,
                with 0 representing the highest priority. The default is 7.
                RSVPTE uses the holding priority to determine whether this
                session can be preempted by another session. This argument
                only applies to ingress (incoming) tunnels.

session_attr_label_record
                Specifies whether to include label information when doing
                a record route. Possible values are 0 (disable) and 1
                (enable). The default is 0. There are two record_route
                subobjects: IP addresses and labels. Either the Ip address
                at each hop in the path is recorded or the label used at
                every hop is recorded. This argument only applies to ingress
                (incoming) tunnels.

session_attr_local_protect
                Specifies whether transit routers are permitted to use a
                local repair mechanism which may result in violation of the
                explicit route object.  When a fault is detected on an
                adjacent downstream link or node, a transit router can
                reroute traffic for fast service restoration. Possible
                values are 0 (disable) and 1 (enable). The default is 0.
                This argument only applies to ingress (incoming) tunnels.

session_attr_merge
                Supported in this version but will not be supported in
                future versions. Therefore, do not use this argument in new
                scripts.

session_attr_name
                Specifies a name for the session. The default name is
                Tunnel1. This argument only applies to ingress (incoming)
                tunnels.

session_attr_node_protect
                Indicates to the point of local repairs (PLRs) along a
                protected LSP path whether a backup path which bypasses at
                least the next node of the protected LSP is desired
                Possible values are 0 (disable) and 1 (enable). The default
                is 0. This argument only applies to ingress (incoming)
                tunnels.

session_attr_ra_exclude_any
                Sets the affinity bits in the session attribute object that
                are excluded. Possible value are 0 to 0xFFFFFFFF. The
                default is 0. This argument only applies to ingress
                (incoming) tunnels.

session_attr_ra_include_all
                Set all the affinity bits in the session attribute object.
                Possible value are 0 to 0xFFFFFFFF. The default is 0. This
                argument only applies to ingress (incoming) tunnels.


session_attr_ra_include_any
                Sets the affinity bits in the session attribute object that
                are included. Possible value are 0 to 0xFFFFFFFF. The
                default is 0. This argument only applies to ingress
                (incoming) tunnels.

session_attr_resource_affinities
                Specifies whether to enable resource affinities. Possible
                values are 0 (disable) and 1 (enable). The default is 0.
                This argument only applies to ingress (incoming) tunnels.

session_attr_se_style
                Indicates whether the tunnel ingress node will reroute
                this tunnel without tearing it down. A tunnel egress node
                should use the shared explicit (SE) reservation style when
                responding with a Resv message. Possible values are 0
                (disable) and 1 (enable). The default is 0. SE style
                reservations allow an existing LSP tunnel to share bandwidth
                with itself. This argument only applies to ingress
                (incoming) tunnels.

session_attr_setup_priority
                Specifies the priority for taking resources. Possible values
                range from 0 to 7, with 0 representing the highest priority.
                The default is 7. RSVPTE uses the setup priority to
                determine whether this session can preempt another session.

                Note: The setup priority should never be higher than the
                      holding priority that you specified with the
                      session_attr_hold_priority argument for a given
                      session.

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

                Number of tunnels to create. Possible values range from 0 to
                65535. The default is 1.

tunnel_id_start
                Specifies the starting tunnel ID used in the RSVP session.
                Possible values range from 0 to 65535. The default is 1.

tunnel_id_step
                Specifies the increment to use to define the tunnel ID for
                multiple tunnels. If 0, all the tunnels belong to the same
                RSVP session. Possible values range from 0 to <max_int>. The
                default is 1.

tunnel_pool_handle
                Specifies the RSVP handle(s) to use when mode is set to
                modify or delete. This argument is not valid for create
                mode. Instead, use handle.

Arguments Unsupported by Save as HLTAPI:

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


  session_attr_flags
  session_attr_merge

Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper:

tunnel_id_count
The number of tunnels to create on a single tunnel handle. Possible values range from 0 to 65535.

Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper:

    ingress_enable_interface_creation
    emulation_type
    enable_append_connected_ip
    enable_prepend_tunnel_head_ip
    enable_prepend_tunnel_leaf_ip
    enable_send_as_rro
    enable_send_as_srro
    ingress_bandwidth
    ingress_bandwidth
    ingress_ip_count
    lsp_id_start
    path_tear_tlv
    path_tlv
    no_write
    egress_behavior
    reservation_style
    record_route
    egress_ip_count

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:

adspec
adspec_comp_mtu
adspec_csum
adspec_ctot
adspec_ctrl_load
adspec_dsum
adspec_dtot
adspec_est_path_bw
adspec_guaranteed_svc
adspec_hop_count
adspec_min_path_latency
destination_ip
duration
ero_list_as_num
ero_list_ipv6
extended_tunnel_id_type
interval
lsp_id_start
lsp_list
mtu
rro_list_flags
rro_list_ipv4
rro_list_ipv6
rro_list_label
rro_list_pfxlen
rro_list_type
sender_ad_spec
sender_cos
sender_ip_addr
session_attr_reroute
ttl
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):

tunnel_handle       A list of handles that identify the tunnels created by
                    the ``emulation rsvp tunnel config`` function.

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

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

The emulation rsvp tunnel config function creates, modifies, or deletes an LSP tunnel. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)

When you create an RSVP tunnel, use the handle argument. When you modify or delete a tunnel, use the tunnel_pool_handle argument to specify which tunnel to modify or delete.

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

  • The source IP address (ingress_ip_addr) for the tunnel’s ingress (start) point
  • The destination IP address (egress_ip_addr) for the tunnel’s egress (end) point
  • The router handle (the handle argument) from which to add tunnels

During the test, use the emulation rsvp control function to control individual LSP tunnels.

Examples:

The following example creates a tunnel for the specified RSVP session on the reserved port:

emulation rsvp tunnel config mode=create
       count= 1
       egress_ip_addr= 90.0.0.4
       egress_ip_step= 0.0.0.1
       ero= 1
       ero_list_ipv4= {220.1.1.1 12.0.1.0}
       ero_list_loose= {0 1}
       ero_list_pfxlen= {32 24}
       handle=  $rsvpSessionHandle
       ingress_ip_addr= 90.0.0.3
       ingress_ip_step= 0.0.0.1
       sender_tspec_max_pkt_size= 4096
       sender_tspec_min_policed_size= 64
       sender_tspec_peak_data_rate= 512000
       sender_tspec_token_bkt_rate= 128000
       sender_tspec_token_bkt_size= 256000
       session_attr= 1
       session_attr_bw_protect= 1
       session_attr_hold_priority= 0
       session_attr_label_record= 1
       session_attr_local_protect= 1
       session_attr_name= Tunnel1
       session_attr_node_protect= 1
       session_attr_ra_exclude_any= 0
       session_attr_ra_include_all= 0
       session_attr_ra_include_any= 0
       session_attr_resource_affinities= 0
       session_attr_se_style= 0
       session_attr_setup_priority= 7
       tunnel_id_start= 100
       tunnel_id_step= 5

Sample Output:

{tunnel_handle rsvpingresstunnelparams1} {status 1}

emulation rsvpte tunnel control

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

Purpose:
Opens or closes RSVP tunnel, that is, connects or shuts down the emulated egress or ingress tunnel.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation rsvpte tunnel control
        handle= <rsvp_tunnle_handle> M
        action= {connect | tear_down_outbound | tear_down_inbound} M

Arguments:

handle
                Specifies the RSVP tunnel to connect or shut down, which is
                returned by the emulation rsvp tunnel config command.
                This argument is `Mandatory`.

action
                Identifies the action to perform on the RSVP tunnel. Possible
                values are connect, tear_down_outbound, and tear_down_inbound.
                This argument is `Mandatory`. The actions are described below::

                  connect - Opens the RSVP tunnel that is specified by the handle
                         argument.

                  tear_down_outbound - Stops the ingress tunnel that is connected
                         to the emulated RSVP router which sends the outbound
                         traffic to SUT.

                  tear_down_inbound - Stops the egress tunnel that is connected
                         to the emulated RSVP router which sends the inbound
                         traffic to SUT.
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status    Success (1) or failure (0) of the operation.
log      An error message (if the operation failed).
Description:
The emulation rsvpte tunnel control function controls the connecting and tearing down of RSVP tunnels. When you call the emulation rsvpte tunnel control function, you specify a tunnel handle. Spirent HLTAPI applies the specified action to the specified RSVP tunnel.
Examples:

To connect an emulated RSVP tunnel:

emulation rsvpte tunnel control action=connect
           handle= rsvptunnel1

To tear down an inbound tunnel:

emulation rsvpte tunnel control action=tear_down_inbound
            handle= rsvptunnel1

To tear down an outbound tunnel:

emulation rsvpte tunnel control action=tear_down_outbound
           handle= rsvptunnel1

Sample Output:

{status 1}

emulation rsvp tunnel info

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

Purpose:
Returns information about both incoming and outgoing RSVP tunnels.

Synopsis:

Note: M indicates the argument is `Mandatory`.

    emulation rsvp tunnel info
        handle= <rsvp_handle> M

Arguments:

handle
                Specifies the router for which you want information. This
                argument is `Mandatory`.
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.

total_lsp_count          Number of reserve LSPs set up

inbound_lsp_count        Number of tailend (egress) LSPs set up

outbound_lsp_count       Number of headend (ingress) LSPs set up

outbound_up_count        Number of LSPs in the up state

outbound_down_count      Number of LSPs in the down state

outbound_connect_count   Number of LSPs connecting

source                   List of source IP addresses for the tunnels

direction                List of directions for each tunnel (inbound or
                         outbound)

ingress_ip               List of ingress IP addresses for the tunnels

egress_ip                List of egress IP address for the tunnels

tunnel_id                List of tunnel IDs

lsp_id                   List of tunnel LSP IDs

label                    List of tunnel labels

Ciscospecific returned values:

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

   outbound_lsps
   inbound_lsps
Description:
This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) 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 rsvp tunnel info handle=router1

Sample Output:

{source 90.0.0.3 90.0.0.4} {direction outbound inbound}
{ingress_ip 90.0.0.3 90.0.0.4} {egress_ip 90.0.0.4 90.0.0.3}
{tunnel_id 20001 20002} {lsp_id 1 1} {label 16 101}
{status 1}

End of Procedure Header