LDP Functions¶
emulation ldp config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Creates, enables, disables, modifies, or deletes an emulated Label Switched Router (LSR) on a Spirent HLTAPI chassis.
LDP (Label Distribution Protocol) is a protocol that defines a set of procedures and messages by which one LSR informs another of the label bindings it has made. LDP enables LSRs to find each other and establish communication.
Synopsis:
Note: 1. M indicates the argument is `Mandatory`.
2. S indicates the argument is for `scaling` scenarios.
emulation ldp config
mode= {create|enable|activate|disable|modify|delete|active|inactive} M
port_handle= <port_handle> |
handle= <device_handle>|<lsr_handle>|<ldp_session_handle>
affiliated_router_target= <router_session_handle>
adjacency_version= {ipv4 | ipv6 | ipv4_and_ipv6|first}
bfd_registration= {1|0}
count= <integer>
directed_hello_interval= <1-21845>
egress_label_mode= {nextlabel | imnull | exnull}
enable_lsp_results= {0 | 1}
enable_stateful_pseudowire_lsp_results= {0 | 1}
expand= {true|false} S
generalized_pwid_lsp_label_binding_mode= {tx_and_rx | tx_only | rx_only | none}
graceful_restart= {0|1}
reconnect_time= <0-4294967>
graceful_recovery_timer= <0-4294967>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
gateway_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
gateway_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
hello_version= {ipv4 | ipv6| ipv4_and_ipv6}
hello_interval= <1-65535>
hello_type= {ldp_directed_hello|ldp_targeted_hello|ldp_directed_targeted_hello}
intf_ip_addr= <a.b.c.d>
intf_ip_addr_step= <a.b.c.d>
intf_prefix_length= <1-32>
intf_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
intf_ipv6_prefix_length= <0-128>
ip_version= {ipv4 | ipv6 | ipv46}
ipv6_router_id= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_router_id_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
keepalive_interval= <1-21845>
label_adv= {unsolicited|on_demand}
label_start= <0-1046400>
label_step= <integer>
label_request_retry_count= <0-65535>
label_request_retry_interval= <0-65535>
ldp_version= {version_1 | version_2}
liveness_time= <120-600>
link_local_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
link_local_ipv6_prefix_length= <0-128>
lsr_id= <a.b.c.d>
lsr_id_step= <a.b.c.d>
mac_address_init= <aa:bb:cc:dd:ee>
authentication_mode= {none|simple|md5}
md5_key_id= <1-255>
password= <string>
peer_discovery= {link|targeted}
prefix_lsp_label_binding_mode= {tx_and_rx | tx_only | rx_only | none}
pseudowire_redundancy_mode= {none | independent | master | slave}
remote_ip_addr= <a.b.c.d>
remote_ip_addr_step= <a.b.c.d>
remote_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
remote_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
transport_tlv_mode= {none | tester_ip | router_id}
use_static_flow_label= {0 | 1}
use_gateway_as_dut_ip_addr= {true|false}
use_gateway_as_dut_ipv6_addr= {true|false}
vc_lsp_label_binding_mode= {tx_and_rx | tx_only | rx_only | none}
vci= <0-65535>
vci_step= <0-65535>
vlan_id= <0-4095>
vlan_cfi= {0|1}
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>
loopback_ip_addr= <a.b.c.d>
loopback_ip_addr_step= < a.b.c.d>
Arguments:
adjacency_version
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of adjacency to create. This argument available
when hello_version is set to ipv4_and_ipv6. Possible values are::
ipv4 IPv4 adjacency
ipv6 IPv6 adjacency
ipv4_and_ipv6 Dual stack adjacency
first First adjacency
The default value is ipv4.
affiliated_router_target
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the router to which the indirectly connected
router will be connected. The value for the router session
handle is alphanumeric. This option is used to support LDP
testing with peer discovery (peer_discovery) in targeted
mode. For example, you could create an OSPF router to
advertise IP routes. From this router, you could then create
an indirectly connected router to run LDP::
set retKeyList [::emulation ldp config mode=create
port_handle $p0
peer_discovery targeted
affiliated_router_target $ospf_router_handle
count 1
The value of "mac_address_init <mac_addr>" will be ignored
when you pass in a value for the affiliated_router_target
argument. Spirent HLTAPI fills in the MAC address of
the indirectly connected router using the MAC address
obtained from the router pointed to by the
affiliated router target handle. Note that there is no
support for the retrieval of the MAC address for a
router in the HLTAPI framework.
bfd_registration
Specifies to enable or disable Bidirectional Forwarding
Detection (BFD) registration. Possible values are 1 (enable)
and 0 (disable). The default is 0.
count
Defines the number of sessions to create on the interface by
incrementing the interface IP address (intf_ip_addr), Label
Switched Router ID (lsr_id), and remote IP address
(remote_ip_addr). Possible values are 0 to <max_int>. The
default is 1. If you specify a count greater than 1, then
the intf_ip_addr_step, -gateway_ip_addr_step, -lsr_id_step,
and remote_ip_addr_step arguments are `Mandatory`.
directed_hello_interval
`Spirent Extension (for Spirent HLTAPI only).`
Time interval used by the peer for Direct Hello packet transmission
Possible values range from 1 to 21845. The default value is 5.
egress_label_mode
Specifies the mode for egresstargeted label assignment. Possible
values are described below::
nextlabel - For each FEC, the LSR advertises the next available
label starting from label_start.
imnull - Implicit null is used for all LSPs. This label value is
used in an LDP or RSVP packet to enable penultimate hop
label popping.
exnull - Explicit null is used for all LSPs. Explicit null
instructions are signaled to the penultimate router by
the egress router.
enable_lsp_results
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to generate LSPlevel results. Possible values
are 0 and 1. When it is set to 1, LSPlevel results will be
generated. The default value is 0.
enable_stateful_pseudowire_lsp_results
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to generate stateful PW LSPlevel
results. Possible values are 0 and 1. When it is set to 1,
stateful pseudowire LSPlevel results will be generated. The
default value is 0.
expand
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to expand the specified LDP device parameters
into emulated LDP device objects. Possible values are true and
false. If it is set to true, a list of emulated LDP devices will
be created and their handles returned. If it is set to false, no
handles will be returned.
generalized_pwid_lsp_label_binding_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the generalized PW ID LSP label binding mode.
Possible values are tx_and_rx, tx_only, rx_only, and none.
The default value is tx_and_rx.
hello_type
`Spirent Extension (for Spirent HLTAPI only).`
Type of Hello packets to be transmitted by the emulated peer. Possible
values are ldp_directed_hello, ldp_targeted_hello, and
ldp_directed_targeted_hello. The default value is ldp_directed_hello.
hello_version
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the version of Hello messages to send. This argument is
available when ip_version is set to ipv46. Possible values
are ipv4, ipv6, and ipv4_and_ipv6. The default value is ipv4.
gateway_ip_addr
`Spirent Extension (for Spirent HLTAPI only).`
Configures the IPv4 gateway address of the label
switched router.
gateway_ip_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Configures the IPv4 gateway address for multiple routers.
This argument is used with the gateway_ip_addr argument.
gateway_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 gateway address of the label switched router.
gateway_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 gateway address for multiple routers. You must
use this argument with the gateway_ipv6_addr argument.
graceful_recovery_timer
Specifies the amount of time, in seconds, it takes Spirent
HLTAPI to recover after a graceful restart. To use
this option, you must also enable graceful restart and
specify a value for the reconnect_time argument. Possible
values are 0 to 4294967. The default is 140.
graceful_restart
`Spirent Extension (for Spirent HLTAPI only).`
Specifies if LDP graceful restart is enabled on the
emulated router. Possible values are 1 (enable Graceful
Restart) or 0 (disable Graceful Restart). The default is 0.
To use graceful_restart in LDP, you must also specify
values for the reconnect_time and -graceful_recovery_timer
arguments.
Example usage::
emulation ldp config mode=create
port_handle $p0
graceful_restart <0|1>
reconnect_time <0-4294967>
graceful_recovery_timer <0-4294967>
handle
Specifies the LDP handle to use. This argument is `Mandatory` for
the modify, delete, enable, disable, active and inactive modes.
When mode is set to create, Spirent HLTAPI creates LDP over the
provided device. (Please refer to the description of the mode
argument for more information)
hello_interval
Specifies the amount of time, in seconds, between HELLO messages.
Possible values range from 1 to 65535. The default is 5.
intf_ip_addr
Specifies the IP address of the interface for the LSR that
will establish an adjacency with the DUT. The default for
IPv4 is 192.85.1.3.
intf_ip_addr_step
Defines the interface IP addresses of consecutive routers
when multiple routers are created. The default is 0.0.0.0.
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.
intf_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 address of the router created.
intf_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the difference between interface IPv6 addresses of
consecutive routers when multiple emulated routers are created.
intf_ipv6_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the prefix length for the IPv6 address of the emulated
router. Possible values range from 0 to 128. The default is 64.
ip_version
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IP version of the device to be created.
Possible values are ipv4, ipv6, and ipv46.
The default value is ipv4.
ipv6_router_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the IPv6 router ID of the emulated router. The value
must be in IPv6 format.
ipv6_router_id_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the difference between IPv6 router IDs when multiple
emulated routers are created. The value must be in IPv6 format.
keepalive_interval
Specifies the amount of time, in seconds, between KEEPALIVE
messages. Possible values range from 1 to 21845. The default
is 60.
label_adv
Specifies the label advertisement mode for the router,
the mode by which the emulated router advertises its FEC
ranges. Possible values are::
unsolicited - The router distributes FEC ranges whenever it
has a new one. This is the default value.
on_demand - The router only distributes FEC ranges when
requested by a peer.
label_start
Specifies the starting value for the first label of the
route. Possible values range from 0 to 1046400. The default
is 16.
label_step
Specifies how to increment the next label.The default is 1.
label_request_retry_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of times to send a label request. This argument is
available when label_adv is set to on_demand. Possible values
range from 0 to 65535. The default is 0.
label_request_retry_interval
`Spirent Extension (for Spirent HLTAPI only).`
Number of seconds to wait between label request attempts.
This argument is available whenlabel_adv is set to on_demand.
Possible values range from 0 to 65535. The default is 60.
ldp_version
`Spirent Extension (for Spirent HLTAPI only).`
Version of LDP to use for this device block. This argument is
available when ip_version is set to ipv6, or when ip_version
is ipv46 and hello_version is ipv6. Possible values are
version_1 and version_2. The default value is version_1.
liveness_time
`Spirent Extension (for Spirent HLTAPI only).`
Neighbor liveness time interval, in second. Possible values range
from 120 to 600. The default is 360.
link_local_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting link local IPv6 address for emulated
routers. The value must be in IPv6 format. The default is FE80::0.
link_local_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the difference between link local IPv6 addresses of
consecutive routers when multiple emulated routers are created.
The value must be in IPv6 format. The default is ::1.
link_local_ipv6_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the prefix length for the link local IPv6 address of
the emulated router. Possible values range from 0 to 128.
The default is 64.
lsr_id
Specifies the router ID of the Label Switched Router (LSR)
to be emulated by the Spirent HLTAPI port. The LSR ID is a
32bit value represented in dot notation. The default is
192.85.1.3.
lsr_id_step
Defines the router ID of consecutive routers when multiple
routers are created. You must specify a step value when the
count value is greater than 1. The default is 0.0.0.0.
mac_address_init
Specifies the MAC address to use for the first session. When
count is greater than 1, the MAC address is automatically
incremented by one on the last octet.
mode
Specifies the action to perform. Possible values are create,
enable, disable, modify, or delete. This argument is
`Mandatory`. The modes are described below: :
create
Creates one or more emulated label switched routers, and
then starts all of the routers. When port_handle is
provided, Spirent HLTAPI creates one or more emulated
routers that are associated with the specified port. When
handle is provided, LDP will be created over the
specified device.
activate
1. Enables LDP devices and configures LDP 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::
bfd_registration
hello_type
hello_version
adjacency_version
graceful_restart
egress_label_mode
label_adv label_start
transport_tlv_mode
use_gateway_as_dut_ip_addr
use_gateway_as_dut_ipv6_addr
remote_ip_addr
remote_ip_addr_step
remote_ipv6_addr
remote_ipv6_addr_step
2. Creates devices and enables LDP 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_ipv6
router_id_ipv6_step
router_id
router_id_step
link_local_ipv6_prefix_len
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.
enable
Same as "create"
disable
Same as "delete"
modify
Changes the configuration for the LSR identified by
the handle argument
delete
Deletes the LSR specified in the handle argument
active
Enables the LDP router specified by the handle
argument. You must specify a valid LDP session handle.
inactive
Disables the LDP router specified by the handle
argument. You must specify a valid LDP session handle.
The configuration for the router is retained,
when it is inactive and is available as configured if the
router is active.
Note: For mode create, when -handle is provided, the following
options will be obsoleted::
count
affiliated_router_target
mac_address_init
intf_ip_addr
intf_ip_addr_step
gateway_ip_addr
gateway_ip_addr_step
intf_prefix_length
cfi
vlan_cfi
vlan_id
vlan_id_mode
vlan_id_step
vlan_user_priority
vlan_outer_id
vlan_outer_id_mode
vlan_outer_id_step
vlan_outer_user_priority
tunnel_handle
vci
vci_step
vpi
vpi_step
loopback_ip_addr
loopback_ip_addr_step
authentication_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of authentication to be used. Possible
values are::
none No authentication
simple Use simple authentication
md5 Use the MD5 key ID for authentication
password
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the password when authentication_mode is set
to simple or md5. Possible values are alphanumeric
characters. The length of the value ranges from 1 to 253
in simple mode, or from 1 to 16 in md5 mode. The default
value is "Spirent".
md5_key_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the MD5 key ID to use for the MD5 authentication mode. You
must specify authentication_mode MD5. Possible values range from
1 to 255. The default is 1.
peer_discovery
Specifies whether the emulated router sends a link or a
targeted hello. Possible values are::
link - A Basic Discovery mechanism used to locate directly-
connected neighbors. "Link" is the default.
targeted - An Extended Discovery mechanism used to locate
neighbors not directly connected.
port_handle
Specifies the handle of the port on which to create the label
switched router (LSR). (Please refer to the description of the
mode argument for more information)
reconnect_time
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the amount of time, in seconds, it takes Spirent
HLTAPI to reconnect after a graceful restart. To use
this option, you must also enable graceful_restart and
specify a value for the graceful_recovery_timer argument.
Possible values are 0 to 4294967. The default is 60.
prefix_lsp_label_binding_mode
`Spirent Extension (for Spirent HLTAPI only).`
Label binding mode for the Prefix FEC type. Possible values are
tx_and_rx, tx_only, rx_only, and none. The default value is
tx_and_rx.
pseudowire_redundancy_mode
`Spirent Extension (for Spirent HLTAPI only).`
Pseudowire redundancy mode. Possible values are::
none No mode specified
independent PW endpoint nodes independently select which PW
they intend to make active and which PWs they
intend to make standby
master Responsible for selecting which PW both endpoints
must use to forward user traffic
slave Follows the decision of the Master node based on
the received status bits
The default value is none.
remote_ip_addr
Specifies either the IPv4 address of the DUT interface that
is connected to the Spirent HLTAPI port for the emulated
LSR or the DUT router ID. The default is 192.85.1.1. This argument is
available when use_gateway_as_dut_ip_addr is set to false.
remote_ip_addr_step
Configures either the IPv4 address of the DUT interface for
multiple routers or the DUT router ID. You must specify the
remote_ip_address_step when the -count argument is greater
than 1. The format of the remote_ip_addr_step value is an IP
address, for example, 0.0.0.1. This argument is available when
use_gateway_as_dut_ip_addr is set to false. The default value is
0.0.0.0.
remote_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
IPv6 address of the DUT interface. This argument is
available when use_gateway_as_dut_ipv6_addr is set to
false.
remote_ipv6_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the difference between IPv6 interface addresses of
consecutive routers when multiple emulated routers are created.
The value must be in IPv6 format. The default value is ::1. This
argument is available when use_gateway_as_dut_ipv6_addr is set to
false.
transport_tlv_mode
`Spirent Extension (for Spirent HLTAPI only).`
Transport TLV mode. Possible values are::
none Transport Address TLV will not be included in LDP Hellos
tester_ip Emulated router interface address
router_id Emulated router ID
The default value is none.
use_static_flow_label
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables the use of static labels. Possible values
are 0 (disable) and 1 (enable). The default value is 0.
use_gateway_as_dut_ip_addr
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables using the gateway address defined on the
emulated devices as the IPv4 address of the DUT. Possible values
are true and false. The default value is false.
use_gateway_as_dut_ipv6_addr
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables using the gateway address defined on the
emulated devices as the IPv6 address of the DUT. Possible values
are true and false. The default value is false.
vc_lsp_label_binding_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the label binding mode for the VC FEC type.
Possible values are tx_and_rx, tx_only, rx_only, and none.
The default value is tx_and_rx.
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). 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. Possible values
range from 0 to 4095. When the mode is either "create" or
"enable", Spirent HLTAPI checks for a VLAN object on the
port with the given VLAN ID. If no VLAN object with that ID
exists, Spirent HLTAPI creates a VLAN object with the
specified VLAN ID.
vlan_id_mode
If you configure more than one interface on Spirent
HLTAPI with VLAN, you can choose to either automatically
increment the VLAN tag (mode "increment") or leave it idle
for each interface (mode "fixed"). If you set this argument
to "increment", then you must also specify the vlan_id_step
argument to indicate the step size. The default is
increment.
vlan_id_step
The step size by which the VLAN value is incremented when
you set vlan_id_mode to "increment". Possible values range
from 1 to 4094. You must specify the step when the count
argument is greater than 1. The default is 1.
vlan_user_priority
VLAN priority for the VLANs on this port. 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.
loopback_ip_addr
Defines the loopback IP address. The value must be in IPv4
format.
loopback_ip_addr_step
Specifies the step size in which the loopback IP address is
incremented.The default is 0.0.1.0. The value must be in IPv4
format.
Arguments Unsupported by Save as HLTAPI:
The following Spirent HLTAPI arguments are currently not supported by the Save as
HLTAPI function::
loopback_ip_addr
Note: lsr_id is supported by Save as HLTAPI and provides the same
functionality as loopback_ip_addr.
- Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper:
- None
Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper:
reset
hello_hold_time
keepalive_holdtime
targeted_hello_hold_time
vlan
label_space
enable_l2vpn_vc_fecs
reset
keepalive_interval
hello_interval
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:
atm_merge_cap atm_range_max_vci atm_range_max_vpi atm_range_min_vci atm_range_min_vpi atm_vc_dir cfi config_seq_no discard_self_adv_fecs hello_hold_time keepalive_holdtime label_space label_type loop_detection max_lsps max_pdu_length max_peers message_aggregation mtu path_vector_limit timeout transport_ip_addr user_priofity
- 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 handle that identifies the LDP router created by the ``emulation ldp config`` function. handle_list The list of emulated device handles with enabled LDP configuration 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 ldp config
function creates, enables, disables, modifies, or deletes the specified LSR. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)To create an LSR, use the create or enable modes with the
emulation ldp config
port_handle=argument to specify the Spirent HLTAPI port that the emulated LSR will use. (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 LSR:
- The port handle (port_handle argument)
- The IP address for the router (the intf_ip_addr argument)
- The IP address for the router (DUT) to communicate with (the gateway_ip_add and remote_ip_addr arguments)
For Spirent HLTAPI to start the router communication, use the emulation ldp control mode “start” to start either an individual router or all emulated routers.
Two LSRs (Label Switched Routers) which use LDP to exchange label mapping information are known as LDP peers and they have an LDP session between them. In a session, each peer learns about the other’s label mappings.
LDP has four types of LDP messages: discovery (HELL0), adjacency (KEEPALIVE), label advertisement, and notification (error messages).
LSRs announce their presence in the network by sending HELLO messages at specified intervals. HELLO messages are transmitted as UDP packets. All other messages are sent over TCP.
Once you start an LDP session, Spirent HLTAPI handles all of the messages for the emulated routers. During the test, use the
emulation ldp control
start=individual routers. To delete all of the routers associated with a particular port, use the disable or delete modes with the emulation ldp config function. After you have created the routers for your test, use theemulation ldp route config
function to set up routes.
Examples:
The following example creates and starts an LSR on an LDP port:
emulation ldp config mode= create count= 5 hello_interval= 15 intf_ip_addr= 192.168.1.11 intf_ip_addr_step= 0.0.1.0 intf_prefix_length= 24 keepalive_interval= 70 label_adv= on_demand label_start= 7 label_step= 7 lsr_id= 12.1.1.1 lsr_id_step= 0.0.0.1 peer_discovery= link port_handle= $port_handle1 gateway_ip_addr= 192.168.1.1 gateway_ip_addr_step= 0.0.1.0 remote_ip_addr= 1.1.1.4 remote_ip_addr_step= 0.0.0.0 vlan_cfi= 0 vlan_id= 7 vlan_id_mode= increment vlan_id_step= 7 vlan_user_priority= 7Sample Output:
{handle router1} {handles router1} {status 1}To modify the created LDP router:
emulation ldp config handle=$ldpRouterHandle hello_interval= 5 mode= modifySample Output:
{handle router1} {handles router1} {status 1}To delete the created LDP router:
emulation ldp config handle=$ldpRouterHandle mode= deleteSample Output:
{status 1}The following example enables LDP over a provided device:
puts "Config ISIS-------------------" set routerStatus [emulation isis config port_handle= $port mode= create ip_version= 4 area_id= 000000000001 count= 1 hello_interval= 11 holding_time= 40 intf_ip_addr= 13.25.0.2 intf_ip_prefix_length= 16 intf_metric= 10 bfd_registration= 1 gateway_ip_addr= 13.25.0.1 vlan_id= 100 vlan_outer_id= 200 ] puts "ISIS: $routerStatus" keylget routerStatus handle router puts "Config LDP--------------------" set routerStatus [emulation ldp config mode=create handle= $router graceful_recovery_timer= 55 egress_label_mode= exnull label_adv= on_demand bfd_registration= 1 ] puts "LDP: $routerStatus"Sample output for example shown above:
Config ISIS-------------------- ISIS: {handle router1} {handles router1} {session_router isislspconfig1} {status 1} Config LDP-------------------- LDP: {handle router1} {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 ldp_ret [emulation ldp config mode= activate handle= $int_ret0 egress_label_mode= exnull use_gateway_as_dut_ip_addr= true bfd_registration= 1 adjacency_version= ipv4 hello_type= ldp_directed_hello authentication_mode= none label_adv= on_demand hello_version= ipv4 label_start= 1 expand= trueSample 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 ldp_ret [emulation ldp config mode= activate port_handle= $port1 block_mode= ONE_DEVICE_PER_BLOCK block_name_index= 1 count= 5 intf_ip_addr= 192.85.1.2 egress_label_mode= exnull use_gateway_as_dut_ip_addr= true bfd_registration= 1 adjacency_version= ipv4 hello_type= ldp_directed_hello authentication_mode= none label_adv= on_demand hello_version= ipv4 label_start= 1 expand= trueSample 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 ldp control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts, stops, or restarts an LSR
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ldp control
handle= <LDP_session_handle_list> M
mode= {stop|start|restart} M
port_handle= <port_handle_list>
Arguments:
handle
Identifies a list of router handles, returned from the
emulation_ldp_config function when creating an LSR. This
argument is `Mandatory`. The router handle value is
alphanumeric.
port_handle
Identifies a list of ports on which to stop, start, or restart
the routers.
mode
Specifies the action to be taken. Possible values are
stop, start, or restart the LSR, This argument is `Mandatory`.
The modes are described below::
stop - Stops the router with the specified handle.
start - Starts the router with the specified handle.
restart - Stops the router with the specified handle
and then starts it again. If graceful restart is
enabled (emulation ldp config graceful_restart=1),
the restart mode restarts the router without stopping
the router first.
- Ciscospecific Arguments:
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
advertise flap_count flap_down_time flap_interval_time flap_router withdraw
- 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 ldp control
function controls the starting and stopping of LSRs as well as deleting them.
Examples:
To start an LSR:
emulation ldp control mode=start handle $ldpRouterHandleTo stop an LSR:
emulation ldp control mode=stop handle $ldpRouterHandleTo restart an LSR:
emulation ldp control mode=restart handle $ldpRouterHandleSample Output:
{status 1}
emulation ldp info¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns information about the LDP session.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ldp info
handle= <ldp_handle> M
mode= {state|stats|settings|lsp_labels} M
Arguments:
handle
The handle of the LDP session for which you want
information.
mode
Specifies the kind of information you want to see.
Possible values are state, stats, settings, and lsp_labels.
You must specify a mode; there is no default.
- 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):
state Returns the state of an LSR and a summary of LSPs configured on each LSR (see list below). This is a Spirentadded key. stats Retrieves the IP address of the specified port and the number of messages transmitted and received (see list below). settings Retrieves the IP address of the specified port and the configuration settings for the LDP session (see list below). lsp_labels Retrieves the list of LSP labels, information about them, and their FEC type (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 state:
session_state State of the LDP router:: LDP_SESSION_STATE_NO_ STATE ------ >nonexist LDP_SESSION_STATE_DOWN -----> init LDP_SESSION_STATE_UP -----> operational LDP_SESSION_STATE_FAILED -----> disabled LDP_SESSION_STATE_OPEN ------> opensent LDP_SESSION_STATE_CONNECT -----> openrec num_incoming_ingress_lsps Specifies number of opened ingress LSPs. num_incoming_egress_lsps Specifies number of opened egress LSPs. lsp_pool_handle Specifies LSP handles. type Type of LSP: egress or ingress. num_opened_lsps Specifies number of opened LSPs.
The following keys are returned when you specify mode stats:
routing_protocol Not supported in Spirent HLTAPI. elapsed_time Time in seconds measured when the router session is started until the time the statistics are retrieved or when the router session has stopped. ip_address IP address of the port on the interface card. linked_hellos_tx Number of direct HELLO messages sent. linked_hellos_RX Number of direct HELLO messages received. targeted_hellos_tx Number of targeted HELLO messages sent. targeted_hellos_RX Number of targeted HELLO messages received. total_setup_time Not supported in Spirent HLTAPI. min_setup_time Not supported in Spirent HLTAPI. max_setup_time Not supported in Spirent HLTAPI. num_lsps_setup Number of LSPs configured on the LDP session. req_rx Number of label requests received. req_tx Number of label requests sent. map_rx Number of label mappings sent. map_tx Number of label mappings received. release_rx Number of label release received. release_tx Number of label release sent. withdraw_rx Number of label withdraws received. withdraw_tx Number of label withdraws sent. abort_rx Number of label aborts received. abort_tx Number of label aborts sent. notif_rx Number of notifications received. notif_tx Number of notifications 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. label_type Not supported in Spirent HLTAPI. transport_address Not supported in Spirent HLTAPI. targeted_hello Not supported in Spirent HLTAPI. label_adv Specified type of label advertisement. Spirent HLTAPI always runs in unsolicited mode loop_detection Not supported in Spirent HLTAPI. hello_hold_time Not supported in Spirent HLTAPI. hello_interval Number of seconds between HELLO messages. keepalive_interval Number of seconds between KEEPALIVE messages. keepalive_holdtime Not supported in Spirent HLTAPI. path_vector_limit Not supported in Spirent HLTAPI. max_pdu_length Not supported in Spirent HLTAPI. label_space Not supported in Spirent HLTAPI. vpi Not supported in Spirent HLTAPI. vci Not supported in Spirent HLTAPI. vc_direction Not supported in Spirent HLTAPI. atm_merge_capability Not supported in Spirent HLTAPI. fr_merge_capability Not supported in Spirent HLTAPI. atm_range_min_vci Not supported in Spirent HLTAPI. atm_range_max_vci Not supported in Spirent HLTAPI. atm_range_min_vpi Not supported in Spirent HLTAPI. atm_range_max_vpi Not supported in Spirent HLTAPI.
The following keys are returned when you specify mode lsp_labels:
source The list of LSP pool handles. fec_type The list of FEC types belonging to each source. (The FEC type specified in the fec_type argument for the emulation ldp route config function.) prefix The list of prefixes belonging to each source. prefix_length The list of prefix lengths belonging to each source. label The list of MPLS labels belonging to each source.
- Description:
The
emulation ldp info
function provides information about either the state of the LDP session, the settings specified for the LDP configuration, the statistics returned by it, or the list of LSP labels.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:
To get results for mode= stats:
emulation ldp info mode= stats handle= $ldpSessionHndSample Output:
{ip_address 41.1.0.2} {abort_rx 0.000000} {map_tx 5.000000} {abort_tx 0.000000} {withdraw_rx 0.000000} {withdraw_tx 0.000000} {linked_hellos_rx 27.000000} {targeted_hellos_rx 0.000000} {linked_hellos_tx 24.000000} {notif_rx 0.000000} {targeted_hellos_tx 0.000000} {req_rx 0.000000} {release_rx 0.000000} {notif_tx 0.000000} {req_tx 0.000000} {release_tx 0.000000} {map_rx 1774.000000} {elapsed_time 123.418951035} {num_lsps_setup 5} {status 1}To get results for mode= state:
emulation ldp info mode=state handle $ldpSessionHndSample Output:
{type egress} {session_state operational} {lsp_pool_handle ipv4prefixlsp1} {num_incoming_ingress_lsps 0.000000} {num_opened_lsps 5.000000} {num_incoming_egress_lsps 5.000000} {status 1}To get results for mode= lsp_labels:
emulation ldp info mode=lsp_labels handle $ldpSessionHndSample Output:
{source {ldplspresults1 ldplspresults2 ldplspresults3 ldplspresults4 ldplspresults5}} {label {50 51 52 53 54}} {prefix_length {24 24 24 24 24}} {prefix {10.0.0.0 10.0.1.0 10.0.2.0 10.0.3.0 10.0.4.0}} {fec_type {ipv4_prefix ipv4_prefix ipv4_prefix ipv4_prefix ipv4_prefix}} {status 1}
emulation ldp route config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Creates, modifies, or deletes Link State Path (LSP) pools or Forwarding Equivalent Class (FEC) ranges on an emulated Label Switched Router (LSR) on a Spirent HLTAPI chassis.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ldp route config
mode= {create|modify|delete} M
handle= <ldp_handle_list>
lsp_handle= <lsp_handle>
address_family= <ipv4>
custom_opaque_value= <0-65535>
custom_opaque_type= <1-255>
enable_extended_type= {true|false}
extended_opaque_type= <0-65535>
lsp_type= {ipv4_egress|ipv4_ingress|ipv6_egress|ipv6_ingress|pwid|
generalized_pwid|p2mp}]
num_lsps= <integer>
num_routes= <integer>
fec_host_addr= <a.b.c.d>
fec_host_step= <integer>
fec_host_prefix_length= <1-32>
fec_type= {prefix|host_addr|vc}
fec_ip_prefix_length= <1-128>
fec_ip_prefix_start= <a.b.c.d>
fec_ip_prefix_step= <integer>
fec_ip_prefix_device_step= <integer>
fec_vc_cbit= {0|1}
fec_vc_count= <integer>
fec_vc_group_id= <0-0xFFFFFFFFF>
fec_vc_id_start= <0-0xFFFFFFFFF>
fec_vc_id_step= <0-0xFFFFFFFFF>
fec_vc_intf_mtu= <0-65535>
fec_vc_type= {none|fr_dlci|eth_vlan|eth|hdlc|ppp|cem|eth_vpls}
fec_vc_id_count= <1-65535>
fec_vc_bfd_msg_format= {bfd_cc|bfd_cv}
fec_vc_bfd_my_dis= <0-4294967295>
fec_vc_ctrl_pre= {not_preferred|preferred}
fec_vc_custom_status_en= {true|false}
fec_vc_custom_status= <integer>
fec_vc_dst_ipv4_addr= <a.b.c.d>
fec_vc_bfd_enable= {true|false}
fec_vc_gal_enable= {true|false}
fec_vc_label_sub_tlv_en= {true|false}
fec_vc_label_sub_tlv= {0|1|2|3}
fec_vc_if_des= <ANY>
fec_vc_status_tlv_en= {true|false}
fec_vc_redundant_set_role= {none|primary_pseudowire|secondary_pseudowire}
fec_vc_req_vlan_id= <0-4095>
fec_vc_req_vlan_id_incr= <0-4095>
fec_vc_signal_req_switchover_status_bit= {true|false}
fec_vc_vccv_connectivity_verification= {0|icmp_ping|lsp_ping|
bfd_ip_udp_pw_fault_detection_only|
bfd_ip_udp_pw_fault_detection_with_status_signaling|
bfd_pw_ach_pw_fault_detection_only|
bfd_pw_ach_pw_fault_detection_with_status_signaling}]
fec_vc_vccv_ctrl_channel= {0|mpls_pw_label_with_ttl|mpls_router_alert_label|
pwe3_control_word_with_0001b_as_first_nibble}]
fec_vc_count= <integer>
fec_vc_mac_start= <aa:bb:cc:dd:ee:ff>
fec_gen_pwid_attachment_group_id= <integer::integer>
fec_gen_pwid_attachment_group_id_incr= <integer::integer>
fec_gen_pwid_target_individual_id= <a.b.c.d>
fec_gen_pwid_target_individual_id_incr= <a.b.c.d>
fec_gen_pwid_src_individual_id= <a.b.c.d>
fec_gen_pwid_src_individual_id_incr= <a.b.c.d>
fec_gen_pwid_ctrl_pre= {not_preferred|preferred}
fec_gen_pwid_type= {none|fr_dlci|eth_vlan|eth|hdlc|ppp|cem|eth_vpls}
fec_gen_pwid_group_id= <0-0xFFFFFFFFF>
fec_gen_pwid_intf_mtu= <0-65535>
fec_gen_pwid_id_count= <0-5000000>
fec_gen_pwid_bfd_my_dis= <0-4294967295.>
fec_gen_pwid_custom_status_en= {true|false}
fec_gen_pwid_custom_status= <integer>
fec_gen_pwid_dst_ipv4_addr= <a.b.c.d>
fec_gen_pwid_bfd_enable= {true|false}
fec_gen_pwid_bfd_msg_format= {bfd_cc|bfd_cv}
fec_gen_pwid_gal_enable= {true|false}
fec_gen_pwid_label_sub_tlv_en= {true|false}
fec_gen_pwid_label_sub_tlv= {0|1|2|3}
fec_gen_pwid_if_des= <ANY>
fec_gen_pwid_status_tlv_en= {true|false}
fec_gen_pwid_redundant_set_role= {none|primary_pseudowire|secondary_pseudowire}
fec_gen_pwid_req_vlan_id <04095= >
fec_gen_pwid_req_vlan_id_incr= <0-4095>
fec_gen_pwid_signal_req_switchover_status_bit= {true|false}
fec_gen_pwid_vccv_connectivity_verification= {0 icmp_ping|lsp_ping|
bfd_ip_udp_pw_fault_detection_only|
bfd_ip_udp_pw_fault_detection_with_status_signaling|
bfd_pw_ach_pw_fault_detection_only|
bfd_pw_ach_pw_fault_detection_with_status_signaling}]
fec_gen_pwid_vccv_ctrl_channel= {0|mpls_pw_label_with_ttl|mpls_router_alert_label|
pwe3_control_word_with_0001b_as_first_nibble}]
fec_gen_pwid_pw_count= <0-5000000>
global_id_reserved= <0-15>
global_id_table_id= <0-16383>
global_id_tree_id= <NUMERIC>
multicast_group_handle= <multicast group handle>
opaque_type_selector= {type3_s_g|type250_s_g_rd|custom}
source_address= <a.b.c.d>
root_node_address= <a.b.c.d>
route_distinguisher= <AS:Number>
Arguments:
fec_host_addr
The first host address to be advertised. You must specify
"fec_type host_addr" with this argument. The default is
192.0.1.0.
fec_host_step
The amount by which the host address to be advertised should
be increased. The default is 1. You must specify fec_type
host_addr with this argument. When num_lsps is greater than
1, you must also specify this argument.
fec_host_prefix_length
Defines the prefix length for the host address to be advertised.
Possible values range from 1 to 32. The default value is 24.
You must specify "fec_type host_addr" with this argument.
fec_type
`Spirent Extension (for Spirent HLTAPI only).`
The type of FEC element to use. Possible values are::
prefix Configure FECs to be advertised by the
emulated LSR
host_addr Configure FECs to be advertised by a single host
vc VC ID with a label assigned to it
The default value is prefix.
fec_ip_prefix_length
`Spirent Extension (for Spirent HLTAPI only).`
The prefix length for the IPv4prefix or IPv6prefix FEC range
to be advertised. This argument is available when lsp_type is
set to ipv4_egress, ipv4_ingress, ipv6_egress, or ipv6_ingress.
Possible values range from 1 to 128.
fec_ip_prefix_start
`Spirent Extension (for Spirent HLTAPI only).`
The first prefix to be advertised in the IPv4prefix and
IPv6prefix FEC range. This argument is available when -lsp_type
is set to ipv4_egress, ipv4_ingress, ipv6_egress, or ipv6_ingress.
The value must be in IPv4 format.
fec_ip_prefix_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which the prefix to be advertised should be
increased. This argument is available when lsp_type is set to
ipv4_egress, ipv4_ingress, ipv6_egress, or ipv6_ingress.
fec_ip_prefix_device_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which the prefix to be advertised should be
increased across devices. This argument is available when
lsp_type is set to ipv4_egress, ipv4_ingress, ipv6_egress, or
ipv6_ingress. The default value is 1.
The following group of arguments configure VC LSPs. You must specify lsp_type
pwid.
fec_vc_cbit
Enables the generation of a control bit in the VC. Possible
values are 0 (disable) and 1 (enable). The default is 0
(disabled). You must specify fec_type vc with this
argument.
fec_vc_group_id
`Spirent Extension (for Spirent HLTAPI only).`
The group ID associated with all VC FEC elements for this
interface. Possible values range from 0 to 0xFFFFFFFFF. The
default is 0.
fec_vc_id_start
The virtual circuit ID, together with the value of the
fec_vc_type option, identifies a unique VC. Possible values range
from 0 to 0xFFFFFFFFF. The default is 1.
fec_vc_id_step
The step value applied between uses of VC ID. Possible values
range from 0 to 0xFFFFFFFFF. The default value is 1.
fec_vc_intf_mtu
The size of the interface MTU, in bytes, for the VC. Possible
values range from 0 to 65535. The default value is 1500.
fec_vc_type
The type of virtual circuit to be used. Possible values are::
Value Description
none Do not use a virtual circuit
fr_dlci Frame Relay Data Link Connection Identifier (DLCI)
eth_vlan Ethernet VLAN
eth Ethernet
hdlc HighLevel Data Link Control (HDLC)
ppp PPP
cem CEM
eth_vpls Ethernet VPLS
The Default value is eth_vlan.
fec_vc_id_count
Specifies the number of VC IDs to be configured. Possible values
range from 1 to 65535. The default value is 0.
fec_vc_bfd_msg_format
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the BFD message format. This argument is available when
fec_vc_bfd_enable is set to true.
Possible values are::
bfd_cc BFD Control Channel (CC) message format
bfd_cv BFD Connection Verification (CV) message format
The default value is bfd_cc.
fec_vc_bfd_my_dis
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the beginning discriminator value for the BFD. This
argument is available when fec_vc_bfd_enable is set to true.
Possible values range from 0 to 4294967295. The default value is 1.
fec_vc_ctrl_pre
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the control word preference (C bit) in the FEC TLV.
Possible values are not_preferred and preferred. The default value
is not_preferred.
fec_vc_custom_status_en
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables custom status code. Possible values are true
(enable) and false (disable). The default value is false.
fec_vc_custom_status
`Spirent Extension (for Spirent HLTAPI only).`
Custom status code. This argument is available when
fec_vc_custom_status_en is set to true. The default value is 0.
fec_vc_dst_ipv4_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the destination IPv4 address. This argument is
available when fec_vc_bfd_enable is set to true. The default
value is 127.0.0.1.
fec_vc_bfd_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables BFD for the VC LSP. Possible values are true
(enable) and false (disable). The default value is false.
fec_vc_gal_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables Generic Associated Label (GAL) for the VC LSP.
Possible values are true (enable) and false (disable). The
default value is false.
fec_vc_label_sub_tlv_en
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to include the flow label subTLV. Possible
values are true and false. If it is set to true, flow label
subTLV will be included in the PDU. The default value is false.
fec_vc_label_sub_tlv
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the flags for the flow label subTLV. This argument is
available when fec_vc_label_sub_tlv_en is set to true.
Possible values are:
Value Description
0 none
1 Tbit
2 RBit
3 Tbit.RBit
The default value is 0.
fec_vc_if_des
`Spirent Extension (for Spirent HLTAPI only).`
Userdefined interface description
fec_vc_status_tlv_en
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to include or exclude the pseudowire status
TLV. Possible values are true (include) and false (exclude).
The default value is false.
fec_vc_redundant_set_role
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the backup role that the LSP plays.
Possible values are:
none No role set
primary_pseudowire Primary pseudowire
secondary_pseudowire Secondary pseudowire
The default value is none.
fec_vc_req_vlan_id
`Spirent Extension (for Spirent HLTAPI only).`
ID of the first requested VLAN. Possible values range from 0 to
4095.
fec_vc_req_vlan_id_incr
`Spirent Extension (for Spirent HLTAPI only).`
Step value for additional VLAN IDs. Possible values range from 0
to 4095.
fec_vc_signal_req_switchover_status_bit
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the value for the Signal Request Switchover Status
bit. Possible values are true and false. The default value is
false.
fec_vc_vccv_connectivity_verification
`Spirent Extension (for Spirent HLTAPI only).`
Control verification type of Virtual Circuit Connectivity
Verification (VCCV) as specified in RFC 5085. Possible values are
listed below::
0
icmp_ping
lsp_ping
bfd_ip_udp_pw_fault_detection_only
bfd_ip_udp_pw_fault_detection_with_status_signaling
bfd_pw_ach_pw_fault_detection_only
bfd_pw_ach_pw_fault_detection_with_status_signaling
Value 0 indicates no type is specified. The default is 0.
fec_vc_vccv_ctrl_channel
`Spirent Extension (for Spirent HLTAPI only).`
Control channel type of VCCV as specified in RFC 5085.
Possible values are listed below::
0
mpls_pw_label_with_ttl
mpls_router_alert_label
pwe3_control_word_with_0001b_as_first_nibble
Value 0 indicates no type is specified. The default is 0.
fec_vc_count
Specifies the number of pseudowires to be configured on each LDP
VC range.
fec_vc_mac_start
Specifies the first MAC address. The default value is
00:00:00:00:00:00.
The following group of arguments configure Generalized PWid LSPs. You must
specify lsp_type generalized_pwid.
fec_gen_pwid_attachment_group_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting value for the attachment group identifier
field of the generalized PWid FEC (FEC 129). The value must be in the
format of integer::integer. The default value is 100::1.
fec_gen_pwid_attachment_group_id_incr
`Spirent Extension (for Spirent HLTAPI only).`
Increment value for the attachment group identifier field. The
value must be in the format of integer::integer. The default
value is 0::1.
fec_gen_pwid_target_individual_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting value for the target attachment individual
identifier (TAII) field of the generalized PWid FEC (FEC 129). The
value must be in IPv4 format. The default value is 192.0.0.1.
fec_gen_pwid_target_individual_id_incr
`Spirent Extension (for Spirent HLTAPI only).`
Increment value for the TAAI field. The value must be in
IPv4 format. The default value is 0.0.0.1.
fec_gen_pwid_src_individual_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting value for the source attachment individual
identifier (SAII) field of the generalized PWid FEC (FEC 129). The
value must be in IPv4 format. The default value is 192.0.0.1.
fec_gen_pwid_src_individual_id_incr
`Spirent Extension (for Spirent HLTAPI only).`
Increment value for the SAAI field. The value must be in IPv4
format. The default value is 0.0.0.1.
fec_gen_pwid_ctrl_pre
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the control word preference (C bit) in the FEC TLV.
Possible values are not_preferred and preferred. The default value
is not_preferred.
fec_gen_pwid_type
`Spirent Extension (for Spirent HLTAPI only).`
The type of virtual circuit used. Possible values are::
Value Description
none Do not use a virtual circuit
fr_dlci Frame Relay DLCI
eth_vlan Ethernet VLAN
eth Ethernet
hdlc HDLC
ppp PPP
cem CEM
eth_vpls Ethernet VPLS
The default value is eth_vlan.
fec_gen_pwid_group_id
`Spirent Extension (for Spirent HLTAPI only).`
Pseudowire group ID of the generalized PWid FEC
(FEC 129). Possible values range from 0 to 0xFFFFFFFFF. The
default is 0.
fec_gen_pwid_intf_mtu
`Spirent Extension (for Spirent HLTAPI only).`
The size of the interface MTU, in bytes. Possible values range
from 0 to 65535. The default value is 1500.
fec_gen_pwid_id_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of generalized PWid (FEC 129) PWs to advertise. Possible
values range from 0 to 5000000. The default value is 1.
fec_gen_pwid_bfd_my_dis
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the beginning discriminator value. Possible values
range from 0 to 4294967295. The default value is 1.
fec_gen_pwid_custom_status_en
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables custom status code. This argument is available
when fec_gen_pwid_status_tlv_en is set to true. Possible values
are true (enable) and false (disable). The default value is false.
fec_gen_pwid_custom_status
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the status code. This argument is available when
fec_gen_pwid_custom_status_en is set to true.
fec_gen_pwid_dst_ipv4_addr
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the destination IPv4 address. This argument is
available when fec_gen_pwid_bfd_enable is set to true. The
default value is 127.0.0.1.
fec_gen_pwid_bfd_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables BFD for the Generalized PWid LSP. Possible
values are true (enable) and false (disable). The default value
is false.
fec_gen_pwid_bfd_msg_format
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the BFD message format. This argument is available when
fec_vc_bfd_enable is set to true.
Possible values are::
bfd_cc BFD Control Channel (CC) message format
bfd_cv BFD Connection Verification (CV) message format
The default value is bfd_cc.
fec_gen_pwid_gal_enable
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables Generic Associated Label (GAL) for the
generalized PWid LSP. Possible values are true (enable) and false
(disable). The default value is false.
fec_gen_pwid_label_sub_tlv_en
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to include the flow label subTLV in the PDU.
Possible values are true and false. If it is set to true, flow
label subTLVs will be included in the PDU. The default value is
false.
fec_gen_pwid_label_sub_tlv
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the flags for the flow label subTLV. This argument is
available when fec_gen_pwid_label_sub_tlv_en is set to true.
Possible values are:
Value Description
0 None
1 Tbit
2 RBit
3 Tbit.RBit
The default value is 0.
fec_gen_pwid_if_des
`Spirent Extension (for Spirent HLTAPI only).`
Usergenerated interface description. This argument is available
when fec_gen_pwid_label_sub_tlv_en is set to true.
fec_gen_pwid_status_tlv_en
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to include or exclude the pseudowire status TLV
in the label mapping message. Possible values are true (include)
and false (exclude). The default value is false.
fec_gen_pwid_redundant_set_role
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the backup role that the LSP plays.
Possible values are::
none No role set
primary_pseudowire Primary pseudowire
secondary_pseudowire Secondary pseudowire
The default value is none.
fec_gen_pwid_req_vlan_id
`Spirent Extension (for Spirent HLTAPI only).`
ID of the first requested VLAN. Possible values range from 0 to
4095.
fec_gen_pwid_req_vlan_id_incr
`Spirent Extension (for Spirent HLTAPI only).`
Step value for additional VLAN IDs. Possible values range from 0
to 4095.
fec_gen_pwid_signal_req_switchover_status_bit
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the value for the Signal Request Switchover Status
bit. Possible values are true and false. The default value is
false.
fec_gen_pwid_vccv_connectivity_verification
`Spirent Extension (for Spirent HLTAPI only).`
Control verification type of VCCV as specified in RFC 5085.
Possible values are listed below::
0
icmp_ping
lsp_ping
bfd_ip_udp_pw_fault_detection_only
bfd_ip_udp_pw_fault_detection_with_status_signaling
bfd_pw_ach_pw_fault_detection_only
bfd_pw_ach_pw_fault_detection_with_status_signaling
Value 0 indicates no type is specified. The default is 0.
fec_gen_pwid_vccv_ctrl_channel
`Spirent Extension (for Spirent HLTAPI only).`
Control channel type of VCCV as specified in RFC 5085. Possible
values are listed below::
0
mpls_pw_label_with_ttl
mpls_router_alert_label
pwe3_control_word_with_0001b_as_first_nibble
Value 0 indicates no type is specified. The default is 0.
fec_gen_pwid_pw_count
`Spirent Extension (for Spirent HLTAPI only).`
Number of generalized PWid (FEC 129) pseudowires (PW) to
advertise. Possible values range from 0 to 5000000. The default
value is 1.
handle
Identifies a list of LDP router handles on which to create, modify,
or delete LSP (FEC) pools or FEC ranges. This argument is
`Mandatory`. The value is alphanumeric.
lsp_handle
Specifies the LSP for which to configure the LSP pools and FEC
range options. This argument is `Mandatory` for modify and delete
modes, but not for create mode. When you use mode create, Spirent
HLTAPI will return a handle for the newly created LSP.
mode
Specifies whether to create, modify, or delete LSPs from the
emulated router's LSR database. Possible values are::
create - Creates a new LSP for the LDP session. The handle
for the LSP is returned in the lsp_handle key (see
Return Values).
modify - Modifies the setup for the LSP specified in the
lsp_handle argument.
delete - Removes the LSP specified in the lsp_handle
argument.
lsp_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of LSP to create. Possible values are::
ipv4_egress IPv4 prefix/host LSP
ipv4_ingress IPv4 ingress prefix LSP
ipv6_egress IPv6 prefix/host LSP
ipv6_ingress IPv6 ingress prefix LSP
pwid Virtual Circuit (VC) LSP
generalized_pwid Generalized PWid (FEC129) LSP
p2mp Point to Multiple Point (P2MP) LSPs (FEC 6)
The default value is ipv4_egress.
address_family
`Spirent Extension (for Spirent HLTAPI only).`
IP version of the address. The available option is ipv4. The
default value is ipv4.
custom_opaque_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the custom opaque type. This argument is available when
opaque_type_selector is set to custom. Possible values range from
1 to 255. The mapping is listed as below::
1-254 Custom type
255 Extended type
The default value is 1.
custom_opaque_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the value of the custom opaque element. This argument
is available when element_type is set to custom. Possible values
range from 0 to 65535. The default value is 0. The default value
is 0.
enable_extended_type
`Spirent Extension (for Spirent HLTAPI only).`
Enables/disables extended opaque type.
This argument is available when opaque_type_selector is set to custom.
Possible values are true (enable) and false (disable). The
default value is false.
extended_opaque_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the value of the extended opaque element. This argument
is available when element_type is set to custom. Possible values
range from 0 to 65535. The default value is 0.
global_id_reserved
`Spirent Extension (for Spirent HLTAPI only).`
Reserved bits (4 bits) of the global ID. Possible values range
from 0 to 15. The default value is 0.
global_id_table_id
`Spirent Extension (for Spirent HLTAPI only).`
Table ID (12 bits) field of the global ID. Possible values range
from 0 to 16383. The default value is 0.
global_id_tree_id
`Spirent Extension (for Spirent HLTAPI only).`
Tree ID (12 bits) field of the global ID. The default value is 1.
multicast_group_handle
`Spirent Extension (for Spirent HLTAPI only).`
Multicast group handle received from the
``emulation multicast group config`` function. This argument is
available when opaque_type_selector is set to type3_s_g or
type250_s_g_rd.
num_lsps
The number of label bindings to be advertised. The default
is 1. When num_lsps is greater than 1, you must also
specify the fec_host_step, and fec_ip_prefix_step
arguments.
num_routes
Indicates the number of routes per LSP that will be advertised
when fec_type is set to ipv4_egress, ipv4_ingress, ipv6_egress,
or ipv6_ingress.
root_node_address
`Spirent Extension (for Spirent HLTAPI only).`
Root node address of the P2MP LSP. The value must be in IPv4
format. The default value is 192.85.1.1.
opaque_type_selector
`Spirent Extension (for Spirent HLTAPI only).`
Type of the opaque FEC element. Possible values are described
below::
type3_s_g Type 3 (S, G)
type250_s_g_rd Type (S, G, RD)
custom Custom type
The default value is type3_s_g.
route_distinguisher
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the route distinguisher. This argument is available when
opaque_type_selector is type250_s_g_rd. The value must be in the
format of AS:Number or IPv4:Number. The default value is 100:1.
source_address
`Spirent Extension (for Spirent HLTAPI only).`
Source address of the P2MP LSP. This argument is available when
opaque_type_selector is set to type3_s_g or type250_s_g_rd. The
value must be in IPv4 format. The default value is 192.85.1.3.
Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper:
None
Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper:
egress_label_mode
label_msg_type
fec_vc_intf_desc
fec_vc_intf_mtu_enable
hop_count_tlv_enable
hop_count_value
path_vector_tlv
path_vector_tlv_lsr
label_value_start
packing_enable
no_write
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:
egress_label_mode fec_vc_intf_desc fec_vc_intf_mtu_enable hop_count_tlv_enable hop_count_value label_msg_type path_vector_tlv path_vector_tlv_lsr
- 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):
lsp_handle The handle that identifies the LSP created by the ``emulation ldp route config`` function. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation ldp route config
function creates and configures LSPs. Use the lsp_handle argument to identify the router for which to create, modify, or delete an LSP. (The router handle value is contained in the keyed list returned by the emulation ldp config function.) Use the mode argument to specify the action to perform. See the mode argument for a description of the actions.FEC is a group of IP packets which are forwarded in the same way, over the same path, and with the same forwarding treatment. An FEC (Forwarding Equivalence Class) is associated with each LSP created. The FEC specifies which packets are mapped to that LSP.
Note:
The fec_vc_intf_mtu_enable is not supported in the Spirent HLTAPI. The VC Fec interface MTU option (fec_vc_intf_mtu) is always enabled in the Spirent HLTAPI.
Examples:
Assume we already have a list of LDP router handles:
set device_ret1_route1 [emulation ldp route config mode= create handle= $device_ret1_hdl $device_ret0_hdl lsp_type= ipv4_egress fec_type= prefix fec_ip_prefix_step= 1 fec_ip_prefix_length= 24 fec_ip_prefix_start= 192.7.1.0 num_routes= 10 ]The following example creates an LSP pool with two LSPs in it on the LDP router (ldpRouterHandle) on port1:
emulation ldp route config mode=create handle= $ldpRouterHandle num_lsps= 2 fec_type= ipv4_prefix fec_ip_prefix_step= 1 fec_ip_prefix_length= 24 fec_ip_prefix_start= 32.25.0.0Sample Output:
{lsp_handle ipv4prefixlsp1} {status 1}MLDP type 3 configuration with a multicast group:
set device_ret0_macstgroup_1 [emulation multicast group config mode= create ip_prefix_len= 32 ip_addr_start= 225.0.0.1 ip_addr_step= 1 num_groups= 1 pool_name= Ipv4Group_1 ] set macstgroup "[keylget device_ret0_macstgroup_1 handle]" set device_ret1_route0 [emulation ldp route config mode= create handle= $device_ret1_hdl lsp_type= p2mp address_family= ipv4 root_node_address= 1.1.1.1 opaque_type_selector= type3_s_g global_id_reserved= 3 global_id_table_id= 100 global_id_tree_id= 10 source_address= 2.2.2.2 multicast_group_handle= $macstgroup ]Sample Output:
{lsp_handle p2mplsp1} {status 1}
emulation ldp route element config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
Configures, modifies, or deletes LDP route elements.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation ldp route element config
mode= {create|modify|delete} M
lsp_handle= <ALPHANUM>
element_handle= <ALPHANUM>
element_type= {p2mp_custom_element | generalized_pwid_switch_tlv}
enable_extended_type= {true | false}
extended_opaque_type= <0-65535>
custom_opaque_value= <0-65535>
custom_opaque_type= <1-255>
Arguments:
mode
Specifies the action to perform. This argument is `Mandatory`.
The modes are described below::
create Creates a new LDP element. See the
description of the element_type argument for the
types of elements you can create. Use the
lsp_handle argument to specify the LDP route
handle under which the specified element must be
created.
modify Modifies an existing LDP route element.
Use the element_handle argument to specify the
element to modify.
delete Deletes an existing LDP route element. Use
the element_handle argument to specify the element
to delete.
lsp_handle
The LSP handle received from the emulation ldp route config
function. This argument is `Mandatory` for mode create.
element_handle
The LDP element handle received from the current function.
This argument is `Mandatory` for the modify and delete modes.
element_type
Specifies the type of route elements to be configured. This
argument is `Mandatory`. Possible values are described below::
p2mp_custom_element Specify this type to create, modify, or
delete custom opaque elements under P2MP
generalized_pwid_switch_tlv Specify this type to create,
modify, or delete Switching Point
TLVs under Generalized PWID
enable_extended_type
Enables/disables the extended opaque type. This argument is
available when element_type is set to p2mp_custom_element.
Possible values are true (enable) and false (disable). The
default value is false.
extended_opaque_type
Specifies the value of the extended opaque element. This argument
is available when element_type is set to
p2mp_custom_element. Possible values range from 0 to 65535. The
default value is 0.
custom_opaque_type
Specifies the opaque type. This argument is available when
element_type is set to p2mp_custom_element. Possible values
range from 1 to 255. The mapping is listed as below::
1-254 Custom type
255 Extended type
The default value is 1.
custom_opaque_value
Specifies the value of the custom opaque element. This argument
is available when element_type is set to p2mp_custom_element.
Possible values range from 0 to 65535. The default value is 0.
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):
element_handle The LDP route element handle status Success (1) or failure (0) of the operation log An error message (if the operation failed )
- Description:
The emulation_ldp_route_element_config function creates, modifies, or deletes an LDP route element. Use the mode argument to specify the operation to perform. When you create a route element, the function returns a handle to the newly created element. Use this handle as the input for modify and delete operations. The mode you use determines the set of arguments you use to configure the required element.
When you specify mode create or modify, you must also use the -element_type argument to specify the type of element to create or modify. Refer to Examples and Arguments for detailed information.
Examples:
The following example creates an Opaque type element:
set device_ret1_route1 [emulation ldp route config mode= create handle= $device_ret1_hdl lsp_type= p2mp address_family= ipv4 root_node_address= 1.1.1.1 opaque_type_selector= custom global_id_reserved= 3 global_id_table_id= 100 global_id_tree_id= 10 custom_opaque_type= 1 enable_extended_type= true extended_opaque_type= 3 custom_opaque_value= 4 ]To get P2MP handle:
set p2mp_custom_hnd "[keylget device_ret1_route1 lsp_handle]"To create Opaque type:
set device_ret1_route1 [emulation ldp route element config mode= create lsp_handle= $p2mp_custom_hnd element_type= p2mp_custom_element custom_opaque_type= 8 enable_extended_type= false extended_opaque_type= 8 custom_opaque_value= 8 ]Sample Output:
{element_handle ldpmldpcustomopaque2} {status 1}The following example modifies the specified Opaque type element:
set p2mp_custom_opaque_hnd "[keylget device_ret1_route1 element_handle]" set device_ret1_route2 [emulation ldp route element config mode= modify element_handle= $p2mp_custom_opaque_hnd element_type= p2mp_custom_element custom_opaque_type= 3 enable_extended_type= true extended_opaque_type= 2 custom_opaque_value= 3 ]Sample output:
{status 1}The following example modifies the specified Opaque type element:
set device_ret1_route3 [emulation ldp route element config mode= delete element_handle= $p2mp_custom_opaque_hnd ]Sample output:
{status 1}
emulation lsp switching point tlvs config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension created to configure, modify, or delete switching point TLVs for VC LSP (FEC128) or generalized PWid (FEC129) LSP
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation lsp switching point tlvs config
mode= {create|modify|delete} M
lsp_handle= <lsp_handle>
tlv_handle= <tlv_handle>
attachment_group_id= <integer::integer>
attachment_group_id_incr= <integer::integer>
last_segment_traversed_subtlv_enable= {true | false}
last_pseudowire_segment_fec_type= {fec_128 | fec_129}
local_ipv4_addr= <a.b.c.d>
pseudowire_addr_enable= {true | false}
pseudowire_addr_attachment_circuit_id= <a.b.c.d>
pseudowire_addr_attachment_circuit_id_incr= <a.b.c.d>
pseudowire_addr_global_id= <integer>
pseudowire_addr_prefix= <a.b.c.d>
remote_ipv4_addr= <a.b.c.d>
remote_ipv4_addr_increment= <a.b.c.d>
remote_ipv4_addr_repeat_count= <integer>
remote_ipv4_unique_addr_count= <integer>
start_vc_id= <integer>
src_attachment_individual_id= <a.b.c.d>
src_attachment_individual_id_incr= <a.b.c.d>
switching_point_description= <string>
target_attachment_individual_id= <a.b.c.d>
target_attachment_individual_id_incr= <a.b.c.d>
vc_id_incr= <integer>
Arguments:
mode
Specifies the action to perform. This argument is `Mandatory`.
Possible values are::
create Creates a new SPE TLV. The handle
for the TLV is returned in the tlv_handle key (see
Return Values)
modify Modifies the setup for the Switching point TLV specified
in the tlv_handle argument
delete Removes the Switching point TLV specified in the
tlv_handle argument
tlv_handle
Specifies the switching point TLV under which to configure the
TLV options. This argument is `Mandatory` for the modify and delete
modes, but not for create mode. When you use mode create,
Spirent HLTAPI will return a handle for the newly created
switching point TLV.
lsp_handle
Specifies the LSP under which to create the switching point TLV.
This argument is required for mode create. The LSP handle is
returned from the ``emulation ldp route config`` function, with
lsp_type set to pwid or generalized_pwid.
attachment_group_id
Starting attachment group identifier for the last pseudowire
segment traversed. This argument is available when
last_pseudowire_segment_fec_type is set to fec_129. The value
must be in the format of integer::integer. The default value is
100:1.
attachment_group_id_incr
Attachment Group Identifier (AGI) increment for the last
pseudowire segment traversed. This argument is available when
last_pseudowire_segment_fec_type is set to fec_129. The value
must be in the format of integer::integer. The default value is
0:1.
last_segment_traversed_subtlv_enable
Enables/disables subTLV to specify the FEC of the last
pseudowire segment traversed for the multisegment pseudowire
(MSPW). Possible value are true (enable) and false (disable).
The default value is true.
last_pseudowire_segment_fec_type
FEC type of the last pseudowire segment traversed. This argument
is available when last_segment_traversed_subtlv_enable is set to
true. Possible values are::
fec_128 VC/PWid FEC (FEC 128)
fec_129 Generalized PWid FEC (FEC 129)
The default value is fec_128.
local_ipv4_addr
A subTLV to specify the router ID/loopback IPv4 address of the
local switching point. The value must be in IPv4 format.
pseudowire_addr_enable
Enables/Disables subTLV for specifying Layer 2 address of the PW
switching point. Possible values are true (enable) and false
(disable). The default value is false.
pseudowire_addr_attachment_circuit_id
Starting value for the attachment circuit ID. It is used
in the subTLV for specifying Layer 2 address of the PW switching
point. This argument is available when
pseudowire_addr_subtlv_enable is set to true. The value must be
in IPv4 format. The default value is 0.0.0.1.
pseudowire_addr_attachment_circuit_id_incr
Increment value for subsequent attachment circuit IDs. This
argument is available when pseudowire_addr_subtlv_enable is set
to true. The value must be in IPv4 format. The default value is
0.0.0.1.
pseudowire_addr_global_id
Global ID that should be used in the subTLV for specifying Layer
2 address of the PW switching point. This argument is available
when pseudowire_addr_subtlv_enable is set to true. The value
must an integer. The default value is 1.
pseudowire_addr_prefix
Pseudowire address prefix used in the subTLV for specifying
Layer 2 address of the PW switching point. This argument is
available when pseudowire_addr_subtlv_enable is set to true. The
value must be in IPv4 format. The default value is 192.0.0.1.
remote_ipv4_addr
Specifies the router ID/loopback IPv4 address of the last PW
switching point traversed or of the TPE.
remote_ipv4_addr_increment
Increment value for subsequent remote IPv4 addresses. The value
must be in IPv4 format. The default value is 0.0.0.0.
remote_ipv4_addr_repeat_count
Number of times a created remote IPv4 address should be repeated
as the TLV value of the remote IPv4 subTLV, before the next
created remote IPv4 address is used. Value 0 indicates no
repetition. The default value is 0.
remote_ipv4_unique_addr_count
Number of remote IPv4 unique addresses. The default value is 0.
start_vc_id
Starting VC ID of the last pseudowire segment traversed. This
argument is available when last_pseudowire_segment_fec_type is
set to fec_128. The default value is 1.
src_attachment_individual_id
Starting source attachment individual identifier (SAII) for the
last pseudowire segment traversed. This argument is available
when last_pseudowire_segment_fec_type is set to fec_129. The
default value is 192.0.0.1.
src_attachment_individual_id_incr
Source SAII increment for the last pseudowire segment traversed.
This argument is available when last_pseudowire_segment_fec_type
is set to fec_129. The value must be in IPv4 format. The default
value is 0.0.0.0.
switching_point_description
PW switching point description, in string format. 0 to 80
characters are supported. This argument is available when
pseudowire_addr_subtlv_enable is set to true.
target_attachment_individual_id
Starting target attachment individual identifier (TAII) for the
last pseudowire segment traversed. This argument is available
when last_pseudowire_segment_fec_type is set to fec_129. The
value must be in IPv4 format. The default value is 192.0.0.1
target_attachment_individual_id_incr
Target TAII increment for the last pseudowire segment traversed.
This argument is available when last_pseudowire_segment_fec_type
is set to fec_129. The value must be in IPv4 format. The default
value is 0.0.0.0.
vc_id_incr
VC ID increment for the last pseudowire segment traversed. This
argument is available when last_pseudowire_segment_fec_type is
set to fec_128. The default value is 1.
Arguments Unsupported by Save as HLTAPI:
This function is currently not supported by Save as HLTAPI.
- 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):
- tlv_handle The handle that identifies the switching point TLV created by
- the function
- status
- Success (1) or failure (0) of the operation
- log
- An error message (if the operation failed)
- Description:
- The
emulation lsp switching point tlvs config
function creates, modifies, or deletes switching point TLVs for VC LSP (FEC128) or generalized PWid (FEC129) LSP. (The LSP handle value is contained in the keyed list returned by theemulation ldp route config
mode=argument to specify the action to perform. See the mode argument for a description of the actions. - Examples:
The following examples create a generalized PWid LSP, and then the switching point TLV using the LSP handle returned:
set device_ret0_route0 [emulation ldp route config mode= create handle= $device_ret0_hdl lsp_type= generalized_pwid fec_gen_pwid_label_sub_tlv_en= false fec_gen_pwid_custom_status_en= false fec_gen_pwid_ctrl_pre= not_preferred fec_gen_pwid_src_individual_id= 192.0.0.1 fec_gen_pwid_label_sub_tlv= 0 fec_gen_pwid_custom_status= 0 fec_gen_pwid_src_individual_id_incr= 0.0.0.0 fec_gen_pwid_redundant_set_role= none fec_gen_pwid_gal_enable= false fec_gen_pwid_type= eth_vlan fec_gen_pwid_signal_req_switchover_status_bit= false fec_gen_pwid_target_individual_id_incr= 0.0.0.0 fec_gen_pwid_req_vlan_id_incr= 1 fec_gen_pwid_pw_count= 1 fec_gen_pwid_attachment_group_id= 100:1 fec_gen_pwid_bfd_enable= false fec_gen_pwid_bfd_msg_format= bfd_cc fec_gen_pwid_status_tlv_en= false fec_gen_pwid_dst_ipv4_addr= 127.0.0.1 fec_gen_pwid_vccv_connectivity_verification= 0 fec_gen_pwid_attachment_group_id_incr= 0:1 fec_gen_pwid_id_count= 1 fec_gen_pwid_group_id= 0 fec_gen_pwid_vccv_ctrl_channel= 0 fec_gen_pwid_intf_mtu= 1500 fec_gen_pwid_target_individual_id= 192.0.0.1 ] set device_ret0_lsp0_hdl [lindex [keylget device_ret0_route0 lsp_handle] 0] set device_ret0_route0_tlv0 [emulation lsp switching point tlvs config mode= create lsp_handle= $device_ret0_lsp0_hdl remote_ipv4_addr_repeat_count= 0 last_pseudowire_segment_fec_type= fec_128 remote_ipv4_addr_increment= 0.0.0.0 remote_ipv4_unique_addr_count= 0 vc_id_incr= 1 last_segment_traversed_subtlv_enable= true start_vc_id= 1 pseudowire_addr_enable= false ]
Sample Output:
{tlv_handle pseudowireswitchingpointtlv1} {status 1}
End of Procedure Header