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 theemulation 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 router1Sample 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= 5Sample 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 theemulation 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=router1Sample 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