PCEP Functions¶
emulation pcep config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Spirent Extension (for Spirent HLTAPI only).
This is a Spirent Extension created to configure enable emulated PCEP device, configure, or modify PCEP LSPs or the LSP objects.
Path Computation Element Protocol (PCEP) is used for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs. Such interactions include path computation requests and path computation replies, as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.
Stateful PCE is also supported to provide mechanisms to effect LSP state synchronization between PCCs and PCEs, delegation of control over LSPs to PCEs, and PCE control of timing and sequence of path computations within and across PCEP sessions.
See RFC 5440 and PCEP Extensions for Stateful PCE for more information.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation pcep config
mode= {enable|add|modify|delete} M
PCEP Sessions Parameters
custom_dst_port= {true|false}
ttl= <1-255>
ipv6_traffic_class= <0x00-0xFF>
ip_version= {ipv4|ipv6}
speaker_entity_id= <string>
ipv4_tos= <0x00-0xFF>
is_session_initiator= {true|false}
is_fixed_dst_port= {true|false}
enable_negotiation= {true|false}
open_delay= <0-255>
enable_stateful= {true|false}
use_custom_message= {true|false}
pcep_capability= {lsp_update_capability|lsp_instantiation_capability}
min_acc_keep_alive_timer= <0-255>
max_acc_keepa_live_timer= <0-255>
min_acc_dead_timer= <0-255>
max_acc_dead_timer= <0-255>
pcep_device_role= {PCC|PCE}
peer_ipv4_addr= <a.b.c.d>
peer_ipv4_addr_step= <a.b.c.d>
peer_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
peer_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pcep_session_ip_address= {INTERFACE_IP|ROUTER_ID}
is_session_initiator= {true|false}
is_fixed_src_port= {true|false}
keep_alive_timer= <0 - 65535>
dead_timer= <0 - 65535>
enable_pc_results= {true|false}
authentication= {NONE|MD5}
password= <string>
enable_init_lsp= {true|false}
enable_segment_routing= {true|false}
max_sid_depth= < 0-255>
PCEP Global Options
session_out_standing= <1-65535>
session_retry_count= <1-65535>
session_retry_interval= <1-300>
lsp_per_message= <1-2000>
tcp_interval= <1-1000>
packet_align_to_mtu= {true|false}
PCC LSP Parameters
delegate_with_sync= {true|false}
path_setup_type= {rsvp|sr
pcc_lspcount= <1-65535>
pcc_characteristic= {report|allow_pce_init|enable_synchronization|enable_request}
enable_delegate= {true|false}
pcc_src_ipv4_addr= <a.b.c.d>
pcc_src_ipv4_addr_step= <a.b.c.d>
pcc_dst_ipv4_addr= <a.b.c.d>
pcc_dst_ipv4_addr_step= <a.b.c.d>
pcc_src_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pcc_src_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pcc_dst_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pcc_dst_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
PCE LSP Parameters
path_setup_type= {rsvp|sr
pce_lspcount= <1-65535>
pce_symbolic_name= <string>
pce_characteristic= {enable_update|enable_init|enable_reply}
enable_update= {true|false}
pce_src_ipv4_addr= <a.b.c.d>
pce_src_ipv4_addr_step= <a.b.c.d>
pce_dst_ipv4_addr= <a.b.c.d>
pce_dst_ipv4_addr_step= <a.b.c.d>
pce_src_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pce_src_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pce_dst_ipv6_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
pce_dst_ipv6_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
enable_no_path= {true|false}
PCE SRP Info
srp_auto_gen_id= {true|false}
srp_id= <0-4294967295>
srp_id_step= <0-4294967295>
PCC LSP Info
lsp_auto_gen_id= {true|false}
plsp_id= <0-1048575>
plsp_id_step= <0-4294967295>
aflag= {true|false}
init_lsp_state= {down|up|active|goingdown|goingup|reserved1|reserved2|reserved3}
ipv4_tunnel_addr= <a.b.c.d>
ipv4_tunnel_addr_step= <a.b.c.d>
ipv6_tunnel_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_tunnel_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
lsp_id= <0-65535>
lsp_id_step= <0-65535>
tunnel_id= <0-65535>
tunnel_id_step= <0-65535>
ipv4_ex_tunnel_id= <a.b.c.d>
ipv4_ex_tunnel_id_step= <a.b.c.d>
ipv6_ex_tunnel_id= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_ex_tunnel_id_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv4_tunnel_end_addr= <a.b.c.d>
ipv4_tunnel_end_addr_step= <a.b.c.d>
ipv6_tunnel_end_addr= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_tunnel_end_addr_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
PCE LSP Info
aflag= {true|false}
init_lsp_state= {down|up|active|goingdown|goingup|reserved1|reserved2|reserved3}
PCC RP Object
rp_pflag= {true|false}
rp_iflag= {true|false}
rp_auto_gen_id= {true|false}
requestid= <0-4294967295>
requestid_step= <0-4294967295>
priority= <0-7>
rp_flags= {pcep_rp_flag_bidirectional|pcep_rp_flag_strict_loose|0}
PCC Endpoint Object
endpoint_pflag= {true|false}
endpoint_iflag= {true|false}
ni_value= {no_satisfying_path|pce_chain_broken}
nopath_cflag= {true|false}
nopath_included= {received|suggested}
nopath_vector_tlv_flag= {none|pce_unavailable|unknown_destination|unknown_source}
PCEP Custom TLV
tlv_type= <0-0x3FFF>
tlv_value= <0x0-0xff>
customtlv_handle= <custom_tlv_handle>
PCC/PCE Command Edit Options
included_ero_handle= <ero_handle>
included_rro_handle= <rro_handle>
included_bw_handle= <bw_object_handle>
included_metric_handle= <metric_object_handle>
included_lspa_handle= <lspa_object_handle>
include_ero= {true|false}
include_rro= {true|false}
include_bw= {true|false}
include_metric= {true|false}
include_lspa= {true|false}
include_lsp= {true|false}
include_srp= {true|false}
include_rp= {true|false}
include_endpoints= {true|false}
cmd_use_custom_message= {true|false}
lsp_msg_obj_type= {custom|rp|nopath|endpoints|bandwidth|metric|ero|rro|lspa|lsp|srp}
lsp_msg_obj_handle= <PCEP custom object handle>
PCC ERO Object
ipv4_ero_pflag= {true|false}
ipv4_ero_iflag= {true|false}
ipv6_ero_pflag= {true|false}
ipv6_ero_iflag= {true|false}
PCC/PCE ERO Update Object
ipv4_update_ero_pflag= {true|false}
ipv4_update_ero_iflag= {true|false}
ipv6_update_ero_pflag= {true|false}
ipv6_update_ero_iflag= {true|false}
PCC/PCE Explicit Parameters for ERO/ERO Update Object
ipv4_explicit_start_ip_list= <a.b.c.d>
ipv4_explicit_prefix_length= <0-255>
ipv4_explicit_route_type= {pcep_ero_route_type_loose|pcep_ero_route_type_strict}
ipv6_explicit_start_ip_list= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_explicit_prefix_length= <type:u8>
ipv6_explicit_route_type= {pcep_ero_route_type_loose|pcep_ero_route_type_strict}
SR ERO Subobject
sr_ero_pflag= {true|false}
sr_ero_iflag= {true|false}
sr_route_type= {pcep_ero_route_type_loose|pcep_ero_route_type_strict}
explicit_sid_type= {ipv4_node_id|ipv6_node_id|ipv4_adjacency|ipv6_adjacency|
unnumbered_adjacency_ipv4_node_ids}]
explicit_mflag= {true|false}
explicit_cflag= {true|false}
explicit_sflag= {true|false}
explicit_fflag= {true|false}
explicit_sid_label= <16-1048575>
explicit_sid_tc= <0-7>
explicit_sid_sflag= {true|false}
explicit_sid_ttl= <0-255>
explicit_ipv4_address= <a.b.c.d>
explicit_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
explicit_local_ipv4_address= <a.b.c.d>
explicit_remote_ipv4_address= <a.b.c.d>
explicit_local_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
explicit_remote_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
explicit_local_node_id= <0-4294967295>
explicit_local_interface_id= <0-4294967295>
explicit_remote_node_id= <0-4294967295>
explicit_remote_interface_id= <0-4294967295>
PCC RRO Object
rro_flags= {pcep_rro_flag_local_protection_available|
pcep_rro_flag_local_protection_in_use|
pcep_rro_flag_bandwidth_protection|
pcep_rro_flag_node_protection|pcep_rro_flag_node_id}]
ipv4_rro_pflag= {true|false}
ipv6_rro_pflag= {true|false}
ipv4_rro_iflag= {true|false}
ipv6_rro_iflag= {true|false}
PCC Reported Parameters for RRO Object
ipv4_reported_start_ip_list= <a.b.c.d>
ipv4_reported_prefix_length= <0-255>
ipv6_reported_start_ip_list= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
ipv6_reported_prefix_length= <0-255>
PCC SR RRO Subobject
sr_rro_pflag= {true|false}
sr_rro_iflag= {true|false}
reported_sid_type= {ipv4_node_id|ipv6_node_id|ipv4_adjacency|
ipv6_adjacency|unnumbered_adjacency_ipv4_node_ids}]
reported_mflag= {true|false}
reported_cflag= {true|false}
reported_sflag= {true|false}
reported_fflag= {true|false}
reported_sid_label= <16-1048575>
reported_sid_tc= <0-7>
reported_sid_s_flag= {true|false}
reported_sid_ttl= <0-255>
reported_ipv4_address= <a.b.c.d>
reported_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
reported_local_ipv4_address= <a.b.c.d>
reported_remote_ipv4_address= <a.b.c.d>
reported_local_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
reported_remote_ipv6_address= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
reported_local_node_id= <0-4294967295>
reported_local_interface_id= <0-4294967295>
reported_remote_node_id= <0-4294967295>
reported_remote_interface_id= <0-4294967295>
PCC BW Object
bw_pflag= {true|false}
bw_iflag= {true|false}
bw_bandwidth= <0-4294967295>
PCE BW Object
bw_update_pflag= {true|false}
bw_update_iflag= {true|false}
bw_update_bandwidth= <0-4294967295>
PCC/PCE Metric Object
metric_cflag= {true|false}
metric_bflag= {true|false}
metric_type= {igp_metric|te_metric|hop_counts}
metric_value= <0-4294967295>
metriclist_pflag= {true|false}
metriclist_iflag= {true|false}
metriclist_update_pflag= {true|false}
metriclist_update_iflag= {true|false}
LSPA Object
lspa_pflag= {true|false}
lspa_iflag= {true|false}
lspa_exclude_any= <0-4294967295>
lspa_include_any= <0-4294967295>
lspa_include_all= <0-4294967295>
lspa_setup_prio= <0-7>
lspa_holding_prio= <0-7>
lspa_lflag= {true|false}
lspa_affinities_flag= {true|false}
LSPA Update Object
lspa_update_pflag= {true|false}
lspa_update_iflag= {true|false}
lspa_update_exclude_any= <0-4294967295>
lspa_update_include_any= <0-4294967295>
lspa_update_include_all= <0-4294967295>
lspa_update_setup_prio= <0-7>
[_lspa_update_holding_prio <0-7>]
lspa_update_lflag= {true|false}
lspa_update_affinities_flag= {true|false}
PCEP Custom Object
object_length= <0-65535>
custom_pflag= {true|false}
custom_iflag= {true|false}
object_class= <0-255>
object_data= <0-255>
reserved_flags= <NUMERIC>
object_class_selector= {custom|open|rp|nopath|endpoints|bandwidth|
metric|ero|rro|lspa|iro|svec|notification|error|
loadbalancing|close|lsp|srp}
auto_cal_object_length= {true|false}
custom_obj_type= <0-15>
PCEP Custom Message
open_msg_obj_type= {custom|open}
open_msg_obj_handle= <PCEP custom object handle>
keepalive_msg_obj_type= {custom|open}
keepalive_msg_obj_handle= <PCEP custom object handle>
PCEP Custom PDU
custom_pdu= <0x0-0xff>
Arguments:
modify
Specifies the action to perform on the test port. This argument is
`Mandatory`. Possible values are::
create Creates PCC/PCE devices and the related LSPs
modify Modifies the PECP device or LSP objects configurations based
on the handles provided. See Return Values for more
information on the handles returned.
delete Deletes the specified LSP
PCEP Sessions Parameters
pcep_device_role
Specifies the role of the device to create. Possible values are
PCC and PCE::
PCE Path Computation Element, an entity (component, application,
or network node) that is capable of computing a network
path or route based on a network graph and applying
computational constraints.
PCC Path Computation Client, any client application requesting
a path computation to be performed by a Path Computation
Element.
The default value is PCE.
ttl
Specifies the value for the TimeTo-Live field in the IP header.
Possible values range from 1 to 255. The default value is 64.
ipv6_traffic_class
Specifies the traffic class value in hex. The default value is 0.
This argument is valid when ip_version is set to ipv6.
ip_version
Specifies the IP version. Possible values are ipv4 and ipv6. The
default value is ipv4.
speaker_entity_id
Specifies the speaker entity ID used to maintain synchronization
for a PCEP session. The value must be a string of 0 to 32
characters. The default is ""(empty string).
ipv4_tos
Specifies the ToS value for IPv4 in hex. Possible values range
from 0x00 to 0xFF. The default value is 0xC0.
is_session_initiator
Specifies whether the emulated PCE attempts to initiate the
session. Possible values are true and false. If it is set to
true, the emulated PCE will initiate the session. When both sides
try to initiate a session, the one with the higher IP address
takes priority. The default value is false.
custom_dst_port
Specifies the destination TCP port when is_fixed_dst_port is set
to false. The default value is 4189.
is_fixed_dst_port
Determines whether to use the registered TCP port 4189 for PCEP
sessions. Possible values are true and false. If it is set
to true, Spirent HLTAPI will use the registered TCP port 4189 for
PCEP sessions. The default value is false.
enable_negotiation
Determines whether to negotiate values for KEEPALIVE timers and
dead timers when the PCEP peer includes values that are out of
the configured range. Possible values are true and false. If it
is set to true, Spirent HLTAPI will negotiate values for the two
timers. The default value is true.
open_delay
Number of seconds to wait before sending OPEN messages for a
session. Possible values range from 0 to 255. The default
value is 0.
enable_stateful
Determines whether to to include a Stateful PCE Capability TLV in
the OPEN message. Possible values are true and false. If it is
set to true, the Stateful PCE Capability TLV will be included in
the OPEN message. The default value is true.
use_custom_message
Enables/disables PCEP custom messages. Possible values are true
(enable) and false (disable). The default value is false.
pcep_capability
Specifies the Stateful PCE Capability values. This argument is
available when enable_stateful is true. Use | to combine multiple
values if you want to specify more than one flag. Possible values
are described below::
LSP_UPDATE_CAPABILITY When specified, it indicats that the
PCC allows modification of LSP
parameters, or the PCE is capable
of updating LSP parameters
LSP_INSTANTIATION_CAPABILITY Enables LSP with initilization
capability
The default value is LSP_UPDATE_CAPABILITY.
min_acc_keep_alive_timer
Specifies the minimum number of seconds for the KEEPALIVE timer.
Possible values range from 0 to 255. The default value is 0.
max_acc_keepa_live_timer
Specifies the maximum number of seconds for the KEEPALIVE timer.
Possible values range from 0 to 255. The default value is 255.
min_acc_dead_timer
Specifies the minimum number of seconds for the dead timer.
Possible values range from 0 to 255. The default value is 0.
max_acc_dead_timer
Specifies the maximum number of seconds for the dead timer.
Possible values range from 0 to 255. The default value is 255.
peer_ipv4_addr
IPv4 address of the PCE peer for the session
peer_ipv4_addr_step
Specifies the step value to generate subsequent IPv4 addresses
for PCE devices on the same port. The value must be in IPv4
format. The default is 0.0.0.1.
peer_ipv6_addr
IPv6 address of the PCE peer for the session
peer_ipv6_addr_step
Specifies the step value to generate subsequent IPv6 addresses
for PCE devices on the same port. The value must be in IPv6
format. The default is 0000::1.
pcep_session_ip_address
Specifies the source of the PCE session address. Possible values
are INTERFACE_IP and ROUTER_ID. The default is INTERFACE_IP.
is_session_initiator
Determines whether the emulated PCE will attempt to initiate the
session. Possible values are::
true Emulated PCE initiates the session
false Emulated PCE listens for the peer to initiate the session
When both sides initiate a session, the one with the higher IP
address takes priority. The default value is true.
is_fixed_src_port
Determines whether to use the registered TCP port 4189 for PCEP
sessions. Possible values are true and false. If it is set
to true, Spirent HLTAPI will use the registered TCP port 4189 for
PCEP sessions. The default value is false.
keep_alive_timer
Number of seconds between transmissions of KEEPALIVE messages by
the emulated PCE, in the absence of transmission of any other PCE
packets. Possible values range from 0 to 65535. The default
value is 30.
dead_timer
Number of seconds without traffic the peer should wait before
declaring the session dead. Possible values range from 0 to
65535. The default value is 120.
enable_pc_results
Enables/disables displaying the details of the sending LSPs.
Possible values are true (enable) and false (disable). The
default value is false.
authentication
Specifies the type of authentication to be used. Possible values
are::
NONE No authentication
MD5 Use the MD5 key ID for authentication
The default value is NONE.
password
Specifies the password used in the authentication. The value must
be in alphanumeric format. This argument is only valid when
authentication is set to MD5. The default value is Spirent.
enable_init_lsp
Enables/disables Iflag in the Stateful Capability TLV. Possible
values are true (enable) and false (disable). The default value is
true.
enable_segment_routing
Enables/disables the Segment Routing extension to PCEP. If it is
set to true, the SR PCE Capability TLV is included in the OPEN
message and the PATHSETUP-TYPE TLV is included in the Stateful
PCE Request Parameters (SRP) object.
max_sid_depth
Maximum number of nested segment IDs. This argument is only valid
when enable_segment_routing is set to true. Possible values
range from 0 to 255. The default value is 0. When this value is
changed, upon applying, the PCEP session is closed and
reestablished.
PCEP Global Options
session_out_standing
Maximum number of sessions simultaneously started by the Spirent
TestCenter port. Possible values range from 1 to 65535. The
default value is 100.
session_retry_count
Maximum number of times the system tries to establish a TCP
connection using the PCEPregistered TCP port before going back
to the IDLE state. Possible values range from 1 to 65535. The
default value is 100.
session_retry_interval
Number of seconds to wait before resending a TCP message.
Possible values range from 1 to 300. The default value is 5.
lsp_per_message
Maximum number of Label Switched Paths (LSPs) in one TCP message.
Possible values range from 1 to 2000. The default value is 100.
tcp_interval
Number of seconds to wait before sending another LSP TCP message.
Possible values range from 1 to 1000. The default value is 500.
packet_align_to_mtu
Determines whether to combine as many LSPs as will fit in the
MTU. Possible values are true and false. The default value is
false.
The following examples configure and enable PCEP (PCE and PCC) on
the created raw devices::
set dev_handle1 [keylget device_ret1 handle]
set dev_handle2 [keylget device_ret2 handle]
set device_ret_pcep1 [::emulation pcep config
mode create
handle $dev_handle1
pcep_device_role PCE
state NONE
pcep_mode ACTIVE
ip_version IPV4
peer_ipv4_addr null
peer_ipv4_addr_step 0.0.0.1
peer_ipv6_addr null
peer_ipv6_addr_step 0000::1
pcep_session_ip_address INTERFACE_IP
is_session_initiator true
is_fixed_src_port false
keep_alive_timer 40
dead_timer 150
enable_pc_results false
authentication MD5
password Spirent
enable_init_lsp true
enable_segment_routing true
session_out_standing 500
session_retry_count 50
session_retry_interval 50
lsp_per_message 500
tcp_interval 600
packet_align_to_mtu true \
]
Sample Output::
# This will return a PCE handle.
{pcep_handle pcepprotocolconfig1} {status 1}
keylget device_ret_pcep1 pcep_handle pcep_hnd1
To modify the PCE configurations::
set device_ret_pcep1 [::emulation pcep config
mode modify
handle $pcep_hnd1
pcep_session_ip_address ROUTER_ID
keep_alive_timer 40
dead_timer 150
enable_pc_results false
authentication NONE
enable_init_lsp false
enable_segment_routing false
session_out_standing 500
session_retry_count 50
session_retry_interval 50
lsp_per_message 500
tcp_interval 600
packet_align_to_mtu false \
]
To enable the PCC device::
set device_ret_pcep2 [::emulation pcep config
mode create
handle $dev_handle2
pcep_device_role PCC
state NONE
pcep_mode ACTIVE
ip_version IPV4
peer_ipv4_addr null
peer_ipv4_addr_step 0.0.0.1
peer_ipv6_addr null
peer_ipv6_addr_step 0000::1
pcep_session_ip_address INTERFACE_IP
is_session_initiator true
is_fixed_src_port false
keep_alive_timer 30
dead_timer 130
enable_pc_results false
authentication MD5
password Spirent
sync_timer 60
enable_init_lsp true
enable_segment_routing true
max_sid_depth 1
session_out_standing 400
session_retry_count 20
session_retry_interval 20
lsp_per_message 200
tcp_interval 300
packet_align_to_mtu true \
]
Sample Output::
# This will return a PCC handle (pcep_handle).
{pcep_handle pcepprotocolconfig2} {status 1}
keylget device_ret_pcep2 pcep_handle pcep_hnd2
PCC LSP Parameters (Use this group of arguments to configure PCC Label Switched
Paths (LSPs). Multiple blocks of LSPs can be configured in the PCC LSP
configuration.)
delegate_with_sync
When enabled, Spirent HLTAPI will automatically delegate and
synchronize control of the LSP to the PCE when the related
session is up. Possible values are true (enable) and false
(disable). The default value is false. This argument is valid
when enable_delegate is true and -pcc_characteristic is
ENABLE_SYNCHRONIZATION.
path_setup_type
Specifies the path setup type. Possible values are::
rsvp RSVP
sr Segment Routing
The default value is rsvp.
pcc_lspcount
Number of PCC LSPs to create. Possible values range from 1 to
65535. The default value is 1.
pcc_symbolic_name
Specifies a symbolic name or a wildcard pattern for creating a
list of symbolic names. The value must be a string of 1 to 32
characters. The default value is PLSP_@b.
pcc_characteristic
Specifies the method to initiate a PCC LSP. Possible values are
described below::
Report The LSPs are reserved at startup but are
not involved in synchronization
ALLOW_PCE_INIT The LSPs are not reserved, but will
wait for the PCE to initiate them at
startup
ENABLE_SYNCHRONIZATION The LSPs are reserved at startup and
participate in synchronization after the
session is established
ENABLE_REQUEST The LSPs are not reserved at startup, but
the PCE participates in synchronization
after the session is established and can
delegate LSPs via the report message
The default value is Report.
enable_delegate
Determines whether to automatically delegate control of the LSP
to the PCE when the related session is up. This argument is
available when pcc_characteristic is set to Report,
ENABLE_SYNCHRONIZATION, or ENABLE_REQUEST. Possible values are
true and false. The default is true.
pcc_src_ipv4_addr
Specifies the starting IPv4 source address for the
PCC. The default value is 192.85.1.1.
pcc_src_ipv4_addr_step
Specifies the step value to create additional IPv4 source
addresses for PCCs. The value must be in IPv4 format. The default
is 0.0.0.1.
pcc_dst_ipv4_addr
Specifies the starting IPv4 destination address for
the PCC. The default value is 193.85.1.1.
pcc_dst_ipv4_addr_step
Specifies the step value to create additional IPv4 destination
addresses for PCCs. The value must be in IPv4 format. The default
is 0.0.0.1.
pcc_src_ipv6_addr
Specifies the starting IPv6 source address for the
PCC. The default value is 2000::1.
pcc_src_ipv6_addr_step
Specifies the step value to create additional IPv6 source
addresses for PCCs. The value must be in IPv6 format. The default
is ::1.
pcc_dst_ipv6_addr
Specifies the starting IPv6 destination address for
the PCC. The default value is 2000::1.
pcc_dst_ipv6_addr_step
Specifies the step value to create additional IPv6 destination
addresses for PCCs. The value must be in IPv6 format. The default
is ::1.
PCE LSP Parameters (Use this group of arguments to configure PCE LSPs. Multiple
blocks of LSPs can be configured in the PCE LSP configuration.)
path_setup_type
Specifies the path setup type. Possible values are::
rsvp RSVP
sr Segment Routing
The default value is rsvp.
pce_lspcount
Number of PCE LSPs to create. Possible values range from 1 to
65535. The default value is 1.
pce_symbolic_name
Specifies a symbolic name or a wildcard pattern to create a list
of symbolic names for PCEs. The value must be a string of 1 to 32
characters. The default value is PLSP_@s.
pce_characteristic
Specifies the method to initiate a PCC LSP. Possible values are
described below::
ENABLE_UPDATE LSPs are not reserved at startup, but wait for
the PCC to delegate them
ENABLE_INIT LSPs are not reserved. After a session is
established and the synchronization completes,
the PCE can initiate LSPs by issuing a
PCInitiate message.
ENABLE_REPL LSPs are not reserved. After a session is
established and the synchronization completes,
the PCC can request LSPs.
The default value is ENABLE_UPDATE.
enable_update
Determines whether to automatically update control of the LSP
to the PCE when the related session is up. Possible values are
true and false. The default is true.
pce_src_ipv4_addr
Specifies the starting IPv4 source address for the PCE. The
default value is 192.85.1.1.
pce_src_ipv4_addr_step
Specifies the step value to create additional IPv4 source
addresses for PCEs. The value must be in IPv4 format. The default
is 0.0.0.1.
pce_dst_ipv4_addr
Specifies the starting IPv4 destination address for the PCE. The
default value is 193.85.1.1.
pce_dst_ipv4_addr_step
Specifies the step value to create additional IPv4 destination
addresses for PCEs. The value must be in IPv4 format. The default
is 0.0.0.1.
pce_src_ipv6_addr
Specifies the starting IPv6 source address for the PCE. The
default value is 2000::1.
pce_src_ipv6_addr_step
Specifies the step value to create additional IPv6 source
addresses for PCEs. The value must be in IPv6 format. The default
is ::1.
pce_dst_ipv6_addr
Specifies the starting IPv6 destination address for the PCE. The
default value is 2001::1.
pce_dst_ipv6_addr_step
Specifies the step value to create additional IPv6 destination
addresses for PCEs. The value must be in IPv6 format. The default
is ::1.
enable_no_path
Determines whether to specify possible reasons for why no path
could be found. This argument is available when
pce_characteristic is set to ENABLE_REPLY. Possible values are
true and false. The default is false.
The following example adds an LSP on the PCE device specified by the PCE
handle::
set pce_lsp [::emulation pcep config
mode create
handle $pcep_hnd1 \ # PCE handle
pce_lspcount 1
pce_symbolic_name PLSP_@b
pce_characteristic ENABLE_REPLY
enable_update true
pce_src_ipv4_addr 1.1.1.1
pce_src_ipv4_addr_step 0.0.0.1
pce_dst_ipv4_addr 2.2.2.2
pce_dst_ipv4_addr_step 0.0.0.1
enable_no_path false
]
Sample Output::
# This will return the PCE LSP handle, Stateful PCE Request Parameters
(SRP) handle, and Command Edit handles.
{srp_hnd pcepsrpobject1} {pce_lsp_hnd pcelspconfig1} {startcommand_hnd
{startdeviceupdatecommandconfig1 startdevicereplycommandconfig1}} {status 1}
keylget pce_lsp pce_lsp_hnd lsp_handle_pce
The following example modifies the LSP configuration specified
by lsp_handle_pce::
set pce_lsp [::emulation pcep config
mode modify
handle $lsp_handle_pce
pce_lspcount 1
pce_symbolic_name PLSP_@b22
enable_update false
pce_src_ipv4_addr 4.4.4.4
pce_src_ipv4_addr_step 0.0.0.1
pce_dst_ipv4_addr 3.3.3.3
pce_dst_ipv4_addr_step 0.0.0.1
pce_dst_ipv6_addr_step ::1
enable_no_path true
]
The following example adds an LSP on the PCC device specified by pcep_hnd1::
set pcc_lsp [::emulation pcep config
mode create
handle $pcep_hnd1 \ #PCC handle
pcep_device_role PCC
pcc_lspcount 1
pcc_symbolic_name PLSP_@b
pcc_characteristic ENABLE_REQUEST
enable_delegate true
pcc_src_ipv4_addr 1.1.1.1
pcc_src_ipv4_addr_step 0.0.0.1
pcc_dst_ipv4_addr 2.2.2.2
pcc_dst_ipv4_addr_step 0.0.0.1
pcc_src_ipv6_addr 2000::1
pcc_src_ipv6_addr_step ::1
pcc_dst_ipv6_addr 2001::1
pcc_dst_ipv6_addr_step ::1
]
Sample Output::
# This will return PCC related object handles and startcommand_hnd handles.
{startcommand_hnd {startdevicerequestcommandconfig1
startdevicedelegatecommandconfig1}} {rp_hnd pceprpobject1} {lsp_hnd
pceplspobject1} {pcc_lsp_hnd pcclspconfig1} {status 1}
PCE SRP Info (Use this group of arguments to configure SRP)
srp_auto_gen_id
Determines whether to configure SRP IDs automatically.
Possible values are true and false. If it is set to false, you
must configure SRP IDs manually. The default is true.
srp_id
Specifies the starting SRP ID. This argument is available when
srp_auto_gen_id is set to false. The default value is 1.
srp_id_step
Specifies the step value to generate subsequent SRP IDs. This
argument is available when srp_auto_gen_id is false. The default
value is 1.
The following example configures PCE SRP::
set pce_srp_info [::emulation pcep config
mode create
handle $lsp_handle_pce
srp_auto_gen_id false
srp_id 10
srp_id_step 2
]
Sample Output::
{srp_hnd pcepsrpobject1} {status 1}
PCC LSP Info (Use this group of arguments to configure the LSP object and the LSP
Identifiers TLV.)
lsp_auto_gen_id
Determines whether to configure PCEPspecific identifiers for the LSP
(PLSPIDs) automatically. Possible values are true and false. If
it is set to false, you must configure PLSPIDs manually. The
default is true.
plsp_id
Specifies the starting PLSPID. This argument is available when
srp_auto_gen_id is set to false. Possible values range from 0 to
1048575. The default value is 1.
plsp_id_step
The step value to generate subsequent PLSPIDs. This argument is
available when lsp_auto_gen_id is false. Possible values range
from 0 to 4294967295. The default value is 1.
aflag
Determines whether to mark the LSP as an administrative LSP.
Possible values are true and false. If it is set to true, the LSP
will be marked as administrative.
init_lsp_state
Initial state of the LSP. Possible values are described below::
DOWN LSP is down
UP LSP is up
ACTIVE LSP is active
GOINGDOWN LSP is in the process of going down
GOINGUP LSP is in the process of going up
RESERVED1 Reserved state value
RESERVED2 Reserved state value
RESERVED3 Reserved state value
The default value is GOINGUP.
ipv4_tunnel_addr
IPv4 source address for the tunnel. The default value is
192.85.1.1.
ipv4_tunnel_addr_step
IPv4 step value to create the next IP tunnel sender address. The
default value is 0.0.0.1.
ipv6_tunnel_addr
IPv6 source address for the tunnel. The default value is 2000::1.
ipv6_tunnel_addr_step
Step value to create the next IPv6 tunnel sender address. The value
must be in IPv6 format. The default value is ::1.
lsp_id
ID of the first LSP. Possible values range from 0 to 65535. The
default value is 1.
lsp_id_step
Step value to create the next LSP ID. Possible values range from
0 to 65535. The default value is 1.
tunnel_id
ID of the first tunnel. Possible values range from 0 to 65535.
The default value is 1.
tunnel_id_step
Step value to create the next tunnel ID. Possible values range
from 0 to 65535. The default value is 1.
ipv4_ex_tunnel_id
IPv4 extended tunnel ID. The value must be in IPv4 format. The
default value is 10.0.0.1.
ipv4_ex_tunnel_id_step
Step value to create the next extended tunnel ID. The value
must be in IPv4 format. The default value is 0.0.0.1.
ipv6_ex_tunnel_id
Ipv6 extended tunnel ID. The value
must be in IPv6 format. The default value is 2000:1::1.
ipv6_ex_tunnel_id_step
Step value to create the next extended tunnel ID. The value
must be in IPv6 format. The default value is ::1.
ipv4_tunnel_end_addr
IPv4 destination address for the tunnel endpoint. The default
value is 193.85.1.1.
ipv4_tunnel_end_addr_step
Step value to create the next IP tunnel endpoint address.
The value must be in IPv4 format. The default value is 0.0.0.1.
ipv6_tunnel_end_addr
Ipv6 destination address for the tunnel endpoint. The value must
be in IPv6 format. The default value is 2001::1.
ipv6_tunnel_end_addr_step
Step value to create the next IPv6 tunnel endpoint address. The
value must be in IPv6 format. The default value is ::1.
The following example configures the LSP object on the specified LSP handle::
set pcc_lsp_info [::emulation pcep config
mode create
handle $lsp_handle_pcc
lsp_auto_gen_id true
plsp_id 1
plsp_id_step 1
aflag true
init_lsp_state UP
ipv4_tunnel_addr 1.1.1.1
ipv4_tunnel_addr_step 0.0.0.1
ipv6_tunnel_addr 2000::1
ipv6_tunnel_addr_step ::1
lsp_id 1
lsp_id_step 1
tunnel_id 1
tunnel_id_step 1
ipv4_ex_tunnel_id 10.0.0.1
ipv4_ex_tunnel_id_step 0.0.0.1
ipv4_tunnel_end_addr 2.2.2.2
ipv4_tunnel_end_addr_step 0.0.0.1
]
Sample Output::
{lsp_hnd pceplspobject1} {status 1}
PCE LSP Info
aflag
Determines whether to mark the LSP as an administrative LSP.
Possible values are true and false. If it is set to true, the LSP
will be marked as administrative.
init_lsp_state
Initial state of the LSP. Possible values are described below::
DOWN LSP is down
UP LSP is up
ACTIVE LSP is active
GOINGDOWN LSP is in the process of going down
GOINGUP LSP is in the process of going up
RESERVED1 Reserved state value
RESERVED2 Reserved state value
RESERVED3 Reserved state value
The default value is GOINGUP.
PCC RP Object (Use this group of arguments to configure the Request Parameters
object of PCC. You must set pcc_characteristic to ENABLE_REQUEST.)
rp_pflag
Specifies the value of the ProcessingRule (P) flag for the RP
object. The P flag allows a PCC to specify in a PC Request (PCReq)
message sent to a PCE whether the object must be taken into
account by the PCE during path computation or is just optional.
Possible values are true and false. The default value is true.
rp_iflag
Specifies the value of the Ignore flag for the RP object. The I
flag is used by a PCE in a PC Reply (PCRep) message to indicate
to a PCC whether an optional object was processed.
Possible values are true and false. The default value is false.
rp_auto_gen_id
Determines whether to automatically configure the RP ID.
Possible values are true and false. If it is set to false, you
must configure RP IDs manually. The default value is true.
requestid
Specifies the starting RP ID. This argument is available when
rp_auto_gen_id is set to false. The default value is 1.
requestid_step
Specifies the step value to generate subsequent request IDs.
The default value is 1.
priority
Specifies the value of the Priority flag for the RP object. This
flag is used by the requesting PCC to specify to the PCE the
request's priority. Possible values range from 0 to 7. The
default value is 0.
rp_flags
Specifies flag options for the RP object. Use | to combine
multiple values if you want to specify more than one flag.
Possible values are described below::
PCEP_RP_FLAG_BIDIRECTIONAL Bidirectional (B) flag
PCEP_RP_FLAG_STRICT_LOOSE Strict/Loose (O) flag
0 No flag specified
The default value is 0.
PCC EndPoints Object (Use this group of arguments to configure the PCC
EndPoints object. You must set -pcc_characteristic to ENABLE_REQUEST).
endpoint_pflag
Specifies the value of the ProcessingRule flag for the
EndPoints object. Possible values are true and false. The
default value is true.
endpoint_iflag
Specifies the value of the Ignore flag for the EndPoints
object. Possible values are true and false. The default value is
false.
PCE NoPath Object (Use this group of arguments to configure the PCE NoPath object.
You must set pcc_characteristic to ENABLE_REPLY).
ni_value
Specifies the Nature of Issue (NI) field for the NoPath object.
Possible values are::
NO_SATISFYING_PATH No path satisfying the set of constraints
could be found
PCE_CHAIN_BROKEN PCE chain broken
The default value is NO_SATISFYING_PATH.
nopath_cflag
Specifies the Constraints (C) flag of the NoPath object.
Possible values are true and false. When set to true, the PCE
indicates the set of unsatisfied constraints (reasons why a path
could not be found) in the PCRep message by including the
relevant PCEP objects. When set to false, no failing constraints
are specified. The default value is false.
nopath_included
Specifies the method to include the unsatisfied PCEP objects.
This argument is only valid when nopath_cflag is set to true.
Possible values are RECEIVED and SUGGESTED. The default value is
RECEIVED.
nopath_vector_tlv_flag
Specifies the value of the NoPath-Vector TLV for the NoPath
object. Possible values are described below::
PCE_UNAVILABLE PCE currently unavailable
UNKNOWN_DESTINATION Unknown destination
UNKNOWN_SOURCE Unknown source
NONE None
The default value is NONE.
PCC ERO Object (Use this group of arguments to configure the Explicit Route Object.)
ipv4_ero_pflag
Specifies the value of the ProcessingRule flag for the IPv4 ERO
object. Possible values are true and false. The default value is
true.
ipv4_ero_iflag
Specifies the value of the Ignore flag for the IPv4 ERO object.
Possible values are true and false. The default value is false.
ipv6_ero_pflag
Specifies the value of the ProcessingRule flag for the IPv6 ERO
object. Possible values are true and false. The default value is
true.
ipv6_ero_iflag
Specifies the value of the Ignore flag for the IPv6 ERO object.
Possible values are true and false. The default value is false.
PCC/PCE ERO Update Object (Use this group of arguments to configure the
ERO update object.)
ipv4_update_ero_pflag
Specifies the value of the ProcessingRule flag for the IPv4 ERO
update object. Possible values are true and false. The default
value is true.
ipv4_update_ero_iflag
Specifies the value of the Ignore flag for the IPv4 ERO update
object. Possible values are true and false. The default value is
true.
ipv6_update_ero_pflag
Specifies the value of the ProcessingRule flag for the IPv6 ERO
update object. Possible values are true and false. The default
value is true.
ipv6_update_ero_iflag
Specifies the value of the Ignore flag for the IPv6 ERO object.
Possible values are true and false. The default value is false.
PCC/PCE ERO Explicit Parameters (Use this group of arguments to configure the
explicit parameters of ERO/ERO update object.)
ipv4_explicit_start_ip_list
Specifies the IP address of the next hop for the IPv4 ERO/ERO
update object. The value must be in IPv4 format. The default
value is 192.0.1.0.
ipv4_explicit_prefix_length
Specifies the prefix length of the IP routes in the block of
IPv4 ERO/ERO update objects. Possible values range from 0 to 255.
The default value is 24.
ipv4_explicit_route_type
Specifies the type of explicit routes to be included in the
IPv4 ERO/ERO update object. Possible values are:
PCEP_ERO_ROUTE_TYPE_LOOSE
Two nodes need not be adjacent.
IGP can be used to determine the best
path to the loose hop.
PCEP_ERO_ROUTE_TYPE_STRICT
Two nodes must be adjacent to one
another with no intermediate hops
separating them.
The default value is PCEP_ERO_ROUTE_TYPE_STRICT.
ipv6_explicit_start_ip_list
Specifies the IP address of the next hop for the IPv6 ERO/ERO
update object. The value must be in IPv6 format. The default
value is 2000::1.
ipv6_explicit_prefix_length
Specifies the prefix length of the IP routes in the block of
IPv6 ERO/ERO update objects. The default value is 64.
ipv6_explicit_route_type
Specifies the type of explicit routes to be included in the
IPv6 ERO/ERO update object. Possible values are::
PCEP_ERO_ROUTE_TYPE_LOOSE Two nodes need not be adjacent.
IGP can be used to determine the best
path to the loose hop.
PCEP_ERO_ROUTE_TYPE_STRICT Two nodes must be adjacent to one
another with no intermediate hops
separating them.
The default value is PCEP_ERO_ROUTE_TYPE_STRICT.
SR ERO Subobject (Use this group of arguments to configure the Segment Routing
ERO object, which is a subobject of ERO.)
sr_ero_pflag
Specifies the value of the ProcessingRule flag for the SR ERO
object. Possible values are true and false. The default
value is true.
sr_ero_iflag
Specifies the value of the Ignore flag for the SR ERO object.
Possible values are true and false. The default value is false.
sr_route_type
Specifies the type of explicit routes to be included in the
SR ERO object. Possible values are:
PCEP_ERO_ROUTE_TYPE_LOOSE
Two nodes need not be adjacent.
IGP can be used to determine the best
path to the loose hop.
PCEP_ERO_ROUTE_TYPE_STRICT
Two nodes must be adjacent to one
another with no intermediate hops
separating them.
The default value is PCEP_ERO_ROUTE_TYPE_STRICT.
explicit_sid_type
Specifies the type of the segment ID. Possible values are
described below::
IPV4_NODE_ID IPv4 Network Access Identifier (NAI) node ID
IPV6_NODE_ID IPv6 NAI node ID
IPV4_ADJACENCY NAI local IPv4 address
IPV6_ADJACENCY NAI local IPv6 address
UNNUMBERED_ADJACENCY_IPV4_NODE_IDS NAI local node ID
The default value is IPV4_NODE_ID.
explicit_mflag
Specifies the M bit to indicate whether the Segment ID (SID) is
an MPLS label stack entry with only the label value specified.
Possible values are true and false. The default value is true.
explicit_cflag
Specifies the C bit in conjunction with the M flag to indicate
whether the SID is an MPLS label stack entry with all the fields
specified. Possible values are true and false. The default value
is false.
explicit_sflag
Specifies the S bit to indicate whether the SID value in the
subobject body is null and whether the PCC is responsible for
choosing the SID value. Possible values are true and false. The
default value is false.
explicit_fflag
Specifies the F bit for the SR ERO object. Possible values are
true and false. The default value is false.
explicit_sid_label
Specifies the segment ID for the SR ERO object.
This argument is valid when explicit_sflag is set to false.
Possible values range from 16 to 1048575. The default value is
16.
explicit_sid_tc
Specifies the value of the traffic class field for the SR ERO
object. This argument is valid when explicit_sflag is false.
Possible values range from 0 to 7. The default value is 0.
explicit_sid_sflag
Specifies the value of the MPLS Bottom Of Stack (BOS) flag to
indicate whether the label is the last in the stack. This
argument is valid when explicit_sflag is false. Possible values
are true and false. The default value is false.
explicit_sid_ttl
Specifies the value of the TTL field for the SR ERO object.
Possible values range from 0 to 255. The default value is 255.
explicit_ipv4_address
Specifies the value of the IPv4 NAI node ID for the SR ERO
object. This argument is valid when explicit_sid_type is set to
IPV4_NODE_ID. The value must be in IPv4 format. The default value
is 192.85.1.1.
explicit_ipv6_address
Specifies the value of the IPv6 NAI node ID for the SR ERO
object. This argument is valid when explicit_sid_type is set to
IPV6_NODE_ID. The value must be in IPv6 format. The default value
is 2000::1.
explicit_local_ipv4_address
Specifies the value of the NAI local IPv4 address for the SR ERO
object. This argument is valid when explicit_sid_type is set to
IPV4_ADJACENCY. The default value is 192.85.1.1.
explicit_remote_ipv4_address
Specifies the value of the NAI remote IPv4 address for the SR ERO
object. The default value is 192.85.1.1.
explicit_local_ipv6_address
Specifies the value of the NAI local IPv6 address for the SR ERO
object. This argument is valid when explicit_sid_type is set to
IPV6_ADJACENCY. The default value is 2000::1.
explicit_remote_ipv6_address
Specifies the value of the NAI remote IPv6 address for the SR ERO
object. The default value is 2001::1.
explicit_local_node_id
Specifies the value of the NAI local node ID. This argument is
valid when explicit_sid_type is set to
UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from 0
to 4294967295. The default value is 0.
explicit_local_interface_id
Specifies the value of the NAI local interface node ID for the SR
ERO object. This argument is valid when explicit_sid_type is set
to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from
0 to 4294967295. The default value is 0.
explicit_remote_node_id
Specifies the value of the NAI remote node ID for the SR ERO
object. This argument is valid when explicit_sid_type is set to
UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from 0
to 4294967295. The default value is 0.
explicit_remote_interface_id
Specifies the value of the NAI remote interface node ID for the
SR ERO object. This argument is valid when explicit_sid_type is
set to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range
from 0 to 4294967295. The default value is 0.
The following example adds a PCC ERO and its subobjects to the specified LSP::
set pcc_ero_obj [::emulation pcep config
mode create
handle $lsp_handle_pcc \
ipv4_ero_pflag true
ipv4_ero_iflag true
ipv4_explicit_start_ip_list 192.0.1.0
ipv4_explicit_prefix_length 24
ipv4_explicit_route_type PCEP_ERO_ROUTE_TYPE_LOOSE
sr_ero_pflag true
sr_ero_iflag true
sr_route_type PCEP_ERO_ROUTE_TYPE_LOOSE
explicit_sid_type IPV4_ADJACENCY
explicit_mflag true
explicit_cflag true
explicit_sflag true
explicit_fflag true
explicit_sid_label 16
explicit_sid_tc 0
explicit_sid_sflag true
explicit_sid_ttl 255
explicit_ipv4_address 192.85.1.1
explicit_local_ipv4_address 192.85.1.1
explicit_remote_ipv4_address 193.85.1.1
explicit_local_node_id 0
explicit_local_interface_id 0
explicit_remote_node_id 0
explicit_remote_interface_id 0
]
Sample Output::
#This will return the PCC ERO and its subobjects handles.
{ero_hnd {pcepipv4eroobject1 pcepsreroobject1}} {status 1}
The following example adds a PCE ERO and its subobjects to the specified LSP::
set pce_ero_update [::emulation pcep config
mode create
handle $lsp_handle_pce
ipv4_update_ero_pflag "false false"
ipv4_update_ero_iflag "false true"
ipv4_explicit_start_ip_list "{192.85.0.1 192.85.1.1} 192.85.2.1"
ipv4_explicit_prefix_length "{16 24} 32"
sr_ero_pflag true
sr_ero_iflag true
sr_route_type PCEP_ERO_ROUTE_TYPE_STRICT
explicit_sid_type IPV4_ADJACENCY
explicit_mflag true
explicit_cflag true
explicit_sflag true
explicit_fflag true
explicit_sid_label 16
explicit_sid_tc 0
explicit_sid_sflag true
explicit_sid_ttl 255
explicit_ipv4_address 1.1.1.1
explicit_local_ipv4_address 1.1.1.1
explicit_remote_ipv4_address 2.2.2.2
explicit_local_node_id 0
explicit_local_interface_id 0
explicit_remote_node_id 0
explicit_remote_interface_id 0
]
Sample Output::
#This will return PCE ERO and its sub objects handles.
{ero_hnd pcepsreroobject1} {status 1}
PCC RRO object (Use this group of arguments to configure the Reported Route Object).
rro_flags
Specifies RRO flags. Use | to combine
multiple values if you want to specify more than one flag.
Possible values are listed below::
0 No flag specified
pcep_rro_flag_local_protection_available
Local Protection Available
pcep_rro_flag_local_protection_in_use
Local Protection in Use
pcep_rro_flag_bandwidth_protection
Bandwidth Protection
pcep_rro_flag_node_protection
Node Protection
pcep_rro_flag_node_id
Node ID
The default value is 0.
ipv4_rro_pflag
Specifies the value of the ProcessingRule flag for the IPv4 RRO
object. Possible values are true and false. The default value is
true.
ipv6_rro_pflag
Specifies the value of the ProcessingRule flag for the IPv6 RRO
object. Possible values are true and false. The default value is
true.
ipv4_rro_iflag
Specifies the value of the Ignore flag for the IPv4 RRO object.
Possible values are true and false. The default value is false.
ipv6_rro_iflag
Specifies the value of the Ignore flag for the IPv6 RRO object.
Possible values are true and false. The default value is false.
PCC Reported Parameters for RRO Object (Use this group of arguments to configure
reported parameters of the RRO.)
ipv4_reported_start_ip_list
Specifies the IP address for the next hop of the IPv4 RRO object.
The default value is 192.0.1.0.
ipv4_reported_prefix_length
Specifies the prefix length of the IP routes in the block of IPv4
RRO objects. Possible values range from 0 to 255. The default
value is 24.
ipv6_reported_start_ip_list
Specifies the IPv6 address for the next hop of the IPv6 RRO
object. The default value is 2000::1.
ipv6_reported_prefix_length
Specifies the prefix length of the IP routes in the block of IPv6
RRO objects. Possible values range from 0 to 255. The default
value is 64.
PCC SR RRO Subobject (Use this group of arguments to configure the SR RRO
object, which is a subobject of ERO.)
sr_rro_pflag
Specifies the value of the ProcessingRule flag for the SR RRO
object. Possible values are true and false. The default value is
true.
sr_rro_iflag
Specifies the value of the Ignore flag for the SR RRO object.
Possible values are true and false. The default value is false.
reported_mflag
Specifies the M bit to indicate that the SID value represents an
MPLS label stack entry with only the label value specified.
Possible values are true and false. The default value is true.
reported_cflag
Specifies the C bit to indicate that the SID value represents an
MPLS label stack entry with all fields specified. Possible values
are true and false. The default value is false.
reported_sid_type
Specifies the type of the segment ID for the SR RRO object.
Possible values are::
IPV4_NODE_ID IPv4 Network Access Identifier (NAI) node ID
IPV6_NODE_ID IPv6 NAI node ID
IPV4_ADJACENCY NAI local IPv4 address
IPV6_ADJACENCY NAI local IPv6 address
UNNUMBERED_ADJACENCY_IPV4_NODE_IDS NAI local node ID
The default value is IPV4_NODE_ID.
reported_mflag
Specifies the M bit to indicate that the SID value represents an
MPLS label stack entry with only the label value specified.
Possible values are true and false. The default value is true.
reported_cflag
Specifies the C bit to indicate that the SID value represents an
MPLS label stack entry with all fields specified. Possible values
are true and false. The default value is false.
reported_sflag
Specifies the value of the S flag for the SR RRO object. Possible
values are true and false. The default value is false.
reported_fflag
Specifies the value of the F flag for the SR RRO object. Possible
values are true and false. The default value is true.
reported_sid_label
Specifies the segment ID. This argument is valid when
explicit_sflag is set to false. Possible values range from 16 to
1048575. The default value is 16.
reported_sid_tc
Specifies the value of the traffic class field for the SR RRO
object. This argument is valid when reported_sflag is false.
Possible values range from 0 to 7. The default value is 0.
reported_sid_s_flag
Specifies the value of the MPLS Bottom Of Stack (BOS) flag to
indicate whether the label is the last in the stack. This
argument is valid when reported_sflag is false. Possible values
are true and false. The default value is false.
reported_sid_ttl
Specifies the value of the TTL field for the SR RRO object.
Possible values range from 0 to 255. The default value is 255.
reported_ipv4_address
Specifies the value of the IPv4 NAI node ID for the SR RRO
subobject. This argument is valid when reported_sid_type is set
to IPV4_NODE_ID. The value must be in IPv4 format. The default
value is 192.85.1.1.
reported_ipv6_address
Specifies the value of the IPv6 NAI node ID for the SR RRO
object. This argument is valid when reported_sid_type is set
to IPV6_NODE_ID. The value must be in IPv6 format. The default
value is 2000::1.
reported_local_ipv4_address
Specifies the value of the NAI local IPv4 address for the SR RRO
object. This argument is valid when reported_sid_type is set
to IPV4_ADJACENCY. The default value is 192.85.1.1.
reported_remote_ipv4_address
Specifies the value of the NAI remote IPv4 address for the SR RRO
object. The default value is 192.85.1.1.
reported_local_ipv6_address
Specifies the value of the NAI local IPv6 address for the SR RRO
object. This argument is valid when reported_sid_type is set
to IPV6_ADJACENCY. The default value is 2000::1.
reported_remote_ipv6_address
Specifies the value of the NAI remote IPv6 address for the SR RRO
object. The default value is 2001::1.
reported_local_node_id
Specifies the value of the NAI local node ID for the SR RRO
object. This argument is valid when reported_sid_type is set
to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from
0 to 4294967295. The default value is 0.
reported_local_interface_id
Specifies the value of the NAI local interface node ID for the SR RRO
object. This argument is valid when reported_sid_type is set
to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from
0 to 4294967295. The default value is 0.
reported_remote_node_id
Specifies the value of the NAI remote node ID for the SR RRO
object. This argument is valid when reported_sid_type is set
to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values range from
0 to 4294967295. The default value is 0.
reported_remote_interface_id
Specifies the value of the NAI remote interface node ID for the
SR RRO object. This argument is valid when reported_sid_type
is set to UNNUMBERED_ADJACENCY_IPV4_NODE_IDS. Possible values
range from 0 to 4294967295. The default value is 0.
The following example adds a PCC RRO object and its subobjects to the specified
LSP::
set pcc_rro_obj [::emulation pcep config
mode create
handle $lsp_handle_pcc
rro_flags PCEP_RRO_FLAG_LOCAL_PROTECTION_IN_USE
ipv4_rro_pflag true
ipv4_rro_iflag true
ipv4_reported_start_ip_list 192.0.1.0
ipv4_reported_prefix_length 24
sr_rro_pflag true
sr_rro_iflag true
reported_sid_type IPV4_ADJACENCY
reported_sflag true
reported_fflag true
reported_sid_label 16
reported_sid_tc 0
reported_sid_s_flag true
reported_sid_ttl 255
reported_ipv4_address 1.1.1.1
reported_local_ipv4_address 1.1.1.1
reported_remote_ipv4_address 2.2.2.2
reported_local_node_id 0
reported_local_interface_id 0
reported_remote_node_id 0
reported_remote_interface_id 0
]
Sample Output::
#This will return handles for the PCC RRO and its subobjects.
{rro_hnd {pcepipv4rroobject1 pcepsrrroobject1 pcepipv6rroobject1}} {status 1}
PCC BW Object (Use this group of arguments to configure the PCC Bandwidth object.)
bw_pflag
Specifies the value of the ProcessingRule flag for the BW object.
Possible values are true and false. The default value is true.
bw_iflag
Specifies the value of the Ignore flag for the BW object.
Possible values are true and false. The default value is true.
bw_bandwidth
Requested bandwidth in bytes per second. Possible values range
from 0 to 4294967295. A value of zero indicates the object is
optional. The default value is 0.
PCE BW Update Object (Use this group of arguments to configure the BW update object.)
bw_update_pflag
Specifies the value of the ProcessingRule flag for the BW update
object. Possible values are true and false. The default value is
true.
bw_update_iflag
Specifies the value of the Ignore flag for the BW update object.
Possible values are true and false. The default value is true.
bw_update_bandwidth
Requested bandwidth in bytes per second. Possible values range
from 0 to 4294967295. Value 0 indicates that the object is
optional. The default value is 0.
The following example adds a PCC BW object to the LSP::
set pcc_bw_obj [::emulation pcep config
mode create
handle $lsp_handle_pcc
bw_pflag true
bw_iflag true
bw_bandwidth 0
]
Sample Output::
# This will return a PCC BW object handle.
{bw_hnd pcepbwobject1} {status 1}
The following example adds a PCE BW update object::
set pce_bw_obj [::emulation pcep config
mode create
handle $lsp_handle_pce
bw_update_pflag true
bw_update_iflag false
bw_update_bandwidth 0
]
Sample Output::
# This will return a PCE BW update object handle.
{bw_hnd pcepbwtoupdateobject1} {status 1}
PCC/PCE Metric Object (Use this group of arguments to configure the
PCC/PCE Metric object.)
metric_cflag
Value of the Computed Metric (C) Flag. Possible values are true
and false. When set to true, it indicates that the PCE must
provide the computed path metric value for a valid path in the
PCRep message for the corresponding metric. The default value is
true.
metric_bflag
Value of the Bound (B) flag. Possible values are true and false.
When set to true, it indicates a bound (a maximum) for the path
metric that must not be exceeded for the PCC to consider the
computed path as acceptable. The default value is false.
metric_type
Specifies the type of metric corresponding to the flags. Possible
values are described below::
IGP_METRIC IGP metric
TE_METRIC TE metric
HOP_COUNTS Hop counts
The default value is IGP_METRIC.
metric_value
Maximum value of the metric. Possible values range from 0 to
4294967295. The default value is 10.
PCC Metric List Object (Use this group of arguments to configure the PCC Metric List
object, under which METRIC objects are configured.)
metriclist_pflag
Specifies the value of the ProcessingRule flag for the METRIC
List object. Possible values are true and false. The default
value is true.
metriclist_iflag
Specifies the value of the Ignore flag for the METRIC List object.
Possible values are true and false. The default value is false.
PCE Metric List Update Object (Use this group of arguments to configure the PCE
Metric List update object.)
metriclist_update_pflag
Specifies the value of the ProcessingRule flag for the Metric
List update object. Possible values are true and false. The
default value is true.
metriclist_update_iflag
Specifies the value of the Ignore flag for the Metric List update
object. Possible values are true and false. The default value is
false.
The following example adds PCC Metric object configurations to the specified LSP
handle::
set pcc_metric_obj [::emulation pcep config
mode create
handle $lsp_handle_pcc
metric_cflag true
metric_bflag true
metric_type HOP_COUNTS
metric_value 10
metriclist_pflag true
metriclist_iflag true
]
Sample Output::
{metric_hnd pcepmetriclistobject1} {status 1}
The following example adds PCE Metric object configurations to the specified LSP
handle::
set pce_metric_object [::emulation pcep config
mode create
handle $lsp_handle_pce
metric_cflag true
metric_bflag true
metric_type HOP_COUNTS
metric_value 10
metriclist_update_pflag true
metriclist_update_iflag true
]
Sample Output::
# This will return a PCE Metric object handle.
{metric_hnd pcepmetriclisttoupdateobject1} {status 1}
PCC LSPA Object (Use this group of arguments to configure the LSP Attributes object.)
lspa_pflag
Specifies the value of the ProcessingRule flag for the LSPA
object. Possible values are true and false. The default value is
true.
lspa_iflag
Specifies the value of the Ignore flag for the LSPA
object. Possible values are true and false. The default value is
false.
lspa_exclude_any
Specifies a value to exclude a link that matches any attributes in
the 32bit mask, based on the following equation::
(linkattr & excludeany) == 0
Possible values range from 0 to 4294967295. The default value is 0.
lspa_include_any
Specifies a value to include a link that matches any attributes in
the 32bit mask, based on the following equation::
(includeany == 0) | ((linkattr & includeany) != 0)
A null mask (all bits set to zero) automatically passes. Possible
values range from 0 to 4294967295. The default value is 0.
lspa_include_all
Specifies a value to include a link that matches all attributes in
the 32bit mask, based on the following equation::
(includeall == 0) | (((linkattr & includeall) ^ includeall) == 0)
A null mask (all bits set to zero) automatically passes. Possible
values range from 0 to 4294967295. The default value is 0.
lspa_setup_prio
Priority of the TE LSP with respect to taking resources. Possible
values range from 0 to 7. Value 0 indicates the highest priority.
The default value is 0.
lspa_holding_prio
Priority of the TE LSP with respect to holding resources.
Possible values range from 0 to 7. Value 0 indicates the highest
priority. The default value is 0.
lspa_lflag
Specifies the value of the Local Protection Desired (L) flag for
the LSPA object. Possible values are true and false. When set to
true, it indicates that the computed path must include links
protected with Fast Reroute as defined in RFC4090. The default
value is false.
lspa_affinities_flag
Determines whether to set values for including or excluding links
based on comparing a 32bit mask to the session attribute of a
link. Possible values are true and false. Set it to true if you
want to use lspa_exclude_any, lspa_include_any, or
lspa_include_all to exlude or include specified links. The
default is false.
PCE LSPA Update Object (Use this group of arguments to configure the LSPA
update object.)
lspa_update_pflag
Specifies the value of the ProcessingRule flag for the LSPA
update object. Possible values are true and false. The default
value is true.
lspa_update_iflag
Specifies the value of the Ignore flag for the LSPA update
object. Possible values are true and false. The default value is
false.
lspa_update_exclude_any
Specifies a value to exclude a link that matches any attributes in
the 32bit mask, based on the following equation::
(linkattr & excludeany) == 0
Possible values range from 0 to 4294967295. The default value is 0.
lspa_update_include_any
Specifies a value to include a link that matches any attributes in
the 32bit mask, based on the following equation::
(includeany == 0) | ((linkattr & includeany) != 0)
A null mask (all bits set to zero) automatically passes. Possible
values range from 0 to 4294967295. The default value is 0.
lspa_update_include_all
Specifies a value to include a link that matches all attributes in
the 32bit mask, based on the following equation::
(includeall == 0) | (((linkattr & includeall) ^ includeall) == 0)
A null mask (all bits set to zero) automatically passes. Possible
values range from 0 to 4294967295. The default value is 0.
lspa_update_setup_prio
Priority of the TE LSP with respect to taking resources. Possible
values range from 0 to 7. Value 0 indicates the highest priority.
The default value is 0.
lspa_update_holding_prio
Priority of the TE LSP with respect to holding resources.
Possible values range from 0 to 7. Value 0 indicates the highest
priority. The default value is 0.
lspa_update_lflag
Specifies the value of the Local Protection Desired (L) flag for
the LSPA update object. Possible values are true and false. The
default value is false.
lspa_update_affinities_flag
Determines whether to set values for including or excluding links
based on comparing a 32bit mask to the session attribute of a
link. Possible values are true and false. Set it to true if you
want to use lspa_update_exclude_any, lspa_update_include_any,
or lspa_update_include_all to exlude or include specified links.
The default value is false.
The following example adds PCC LSPA object configurations::
set pcc_lspa_obj [::emulation pcep config
mode create
handle $lsp_handle_pcc
lspa_pflag true
lspa_iflag true
lspa_exclude_any 1
lspa_include_any 1
lspa_include_all 1
lspa_setup_prio 1
lspa_holding_prio 1
lspa_lflag true
lspa_affinities_flag true
]
Sample Output::
# This will return a PCC LSPA object handle.
{lspa_hnd pceplspaobject1} {status 1}
The following example configures a PCE LSPA update object::
set pce_lspa_object [::emulation pcep config
mode create
handle $lsp_handle_pce
lspa_update_pflag true
lspa_update_iflag true
lspa_update_exclude_any 1
lspa_update_include_any 1
lspa_update_include_all 1
lspa_update_setup_prio 1
lspa_update_holding_prio 1
lspa_update_lflag true
lspa_update_affinities_flag true
]
Sample Output::
# This will return a PCE LSPA update object handle.
{lspa_hnd pceplspatoupdateobject1} {status 1}
PCEP Custom TLV (Use this group of arguments to configure custom TLVs for PCEP.)
tlv_type
Type of the TLV in hex. Possible values range from 0 to 0x3FFF.
The default value is 0.
tlv_value
Value of the TLV in hex. Possible values range from 0 0x0 to
0xff. The default value is 0.
customtlv_handle
A list of custom TLV handles
PCC/PCE Command Edit Parameters (Use this group of arguments to modify the
created PCC/PCE objects before auto delegation, synchronization (for PCC) or
update (for PCE) operations.)
included_ero_handle
The ERO object handle to be included
included_rro_handle
The RRO object handle to be included
included_bw_handle
The BW object handle to be included
included_metric_handle
The metric object handle to be included
included_lspa_handle
The LSPA object handle to be included
include_ero
Determines whether to include the ERO object handle. Possible
values are true and false. The default value is true.
include_rro
Determines whether to include the RRO object handle. Possible
values are true and false. The default value is true.
include_bw
Determines whether to include the BW object handle. Possible
values are true and false. The default value is true.
include_metric
Determines whether to include the metric object handle. Possible
values are true and false. The default value is true.
include_lspa
Determines whether to include the LSPA object. Possible values
are true and false. The default value is true.
include_lsp
Determines whether to include the LSP object. Possible values
are true and false. The default value is true.
include_srp
Determines whether to include the SRP object. Possible values
are true and false. The default value is true.
include_rp
Determines whether to include the RP object. Possible values
are true and false. The default value is true.
include_endpoints
Determines whether to include the EndPoints object. Possible
values are true and false. The default value is true.
cmd_use_custom_message
Enables/disables PCEP custom message for PCEP commands. Possible
values are true (enable) and false (disable). The default value
is false. When set to true, lsp_msg_obj_type and
lsp_msg_obj_handle are available to add LSP messages (a type
of custom message). When set to false, other Command Edit options
are valid. The default value is false.
lsp_msg_obj_type
Specifies the type of custom LSP message object. You must set
cmd_use_custom_message to true. Possible values are described
below::
CUSTOM Custom object
ENDPOINTS EndPoints object
ERO ERO object
RRO RRO object
LSP LSP object
LSPA LSPA object
METRIC METRIC object
NOPATH NoPath object
RP RP object
SRP SRP object
The default value is CUSTOM.
lsp_msg_obj_handle
LSP message handle returned from the current function
The following example modifies PCC/PCE objects with Command Edit
parameters::
keylget device_ret_pcep1 ero_hnd ero_handle
keylget device_ret_pcep1 startcommand_hnd cmd_handle2
set device_ret_pcep [::emulation pcep config
mode modify
handle lindex $cmd_handle2 0 \ # PCC or PCE start_command handle
include_lsp false
include_endpoints false
included_ero_handle lindex $ero_handle 1
]
Sample Output::
# This returns PCC/PCE startcommand_hnd handle with specified auto parameters.
{startcommand_hnd startdeviceupdatecommandconfig1} {status 1}
PCEP Custom Object (Use this group of arguments to create PCEP custom objects)
object_length
Length of the message in bytes, including the header. This
argument is available when auto_cal_object_length is set to
false. Possible values range from 0 to 65535. The default value
is 4.
custom_pflag
Determines whethet to allow a PCC to specify in the PCReq message
sent to a PCE, whether the object is optional (true) or must be
taken into account by the PCE (false) during path computation.
Possible values are true and false. The default value is true.
custom_iflag
Determines whethet to allow a PCE to indicate in a PCRep message
to a PCC, whether an optional object was processed (true) or
ignored (false) during path computation. Possible values are
true and false. The default value is false.
object_class
Value of the object class. This argument is available when
object_class_selector is set to CUSTOM. The default value is 0.
object_data
Value of the object body. The default value is 0.
reserved_flags
Specifies the value for reserved flags
object_class_selector
Specifies the class of the PCEP custom object. Possible values
are described below::
BANDWIDTH BANDWIDTH object
CLOSE CLOSE object
CUSTOM Custom object
ENDPOINTS EndPoints object
ERROR ERROR object
ERO ERO object
IRO Include Route Object (IRO) object
RRO RRO object
LOADBALANCING LoadBalancing object
LSP LSP object
LSPA LSPA object
METRIC METRIC object
NOTIFICATION NOTIFICATION object
NOPATH NoPath object
RP RP object
SRP SRP object
SVEC Synchronization VECtor (SVEC) object
The default value is CUSTOM.
auto_cal_object_length
Determines whether to automatically calculate the object length.
Possible values are true and false. When it is set to true, the
object length will be calculated by Spirent HLTAPI. The default
value is true.
custom_obj_type
Specifies the type of the custom object. Possible values range
from 0 to 15. The default value is 0.
The following example configures the custom objects on the PCEP device::
set device_ret_pcep [::emulation pcep config
object_class_selector "CUSTOM OPEN ERO"
object_length "4 4 4"
custom_pflag "true false true"
custom_iflag "true true true"
object_class "12 0 0"
object_data "0 0 100"
reserved_flags "0 2 1"
auto_cal_object_length "true false true"
custom_obj_type "0 0 0"
]
keylget device_ret_pcep customobj_hnd custom_obj
PCEP CUSTOM Message (Use this group of arguments to add OPEN message and
KEEPALIVE messages. You must set PCEP Sessions parameter use_custom_message to
true)
open_msg_obj_type
Specifies the object category for the OPEN message.
Possible values are CUSTOM and OPEN. The default value is
CUSTOM.
open_msg_obj_handle
The PCEP custom object handle returned from the current function
keepalive_msg_obj_category
Specifies the object category for the KEEPALIVE message.
Possible values are CUSTOM and OPEN. The default value is
CUSTOM.
keepalive_msg_obj_handle
The PCEP custom object handle returned from the current function
The following example configures custom messages on the PCEP device::
set device_ret_pcep [::emulation pcep config
mode create
handle $dev_handle
pcep_device_role PCC
peer_ipv4_addr 192.85.1.3
keep_alive_timer 5
dead_timer 10
use_custom_message true
keepalive_msg_obj_type "OPEN"
keepalive_msg_obj_handle lindex $custom_obj 0
PCEP Custom PDU (Use this argument to configure PCEP custom objects)
custom_pdu
Value of the custom PDU in hex. Possible values range from 0 0x0
to 0xff. The default value is 0.
The following example modifies the specified custom object on the PCEP
device::
set device_ret_pcep_2 [::emulation pcep config
mode modify
handle lindex $cmd_hnd 0
cmd_use_custom_message true
lsp_msg_obj_type CUSTOM
lsp_msg_obj_handle lindex $custom_obj 0
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):
customtlv_hnd Custom TLV handle pcep_handle PCC or PCE handle returned by the function pcc_lsp_hnd PCC LSP handle pce_lsp_hnd PCE LSP handle lsp_hnd LSP object handle ero_hnd ERO object handle rro_hnd RRO object handle srp_handle SRP handle lspa_hnd LSPA object handle startcommand_hnd Handle used to modify the existing PCC/PCE characteristics of the LSP ipv4_ero_hnd PCEP IPv4 ERO (Update) object handle ipv6_ero_hnd PCEP IPv6 ERO (Update) object handle sr_ero_hnd PCEP SR ERO object handle ipv4_rro_hnd PCEP IPv4 RRO object handle ipv6_rro_hnd PCEP IPv6 RRO object handle metric_hnd PCEP Metric List (Update) object handle bw_hnd PCEP BW (Update) object handle start_initcommand_hnd StartDeviceInitiateCommand configuration handle start_replycommand_hnd StartDeviceReplyCommand configuration handle start_synccommand_hnd StartDeviceSyncCommand configuration handle start_requestcommand_hnd StartDeviceRequestCommand configuration handle start_delegatecommand_hnd StartDeviceDelegateCommand configuration handle start_updatecommand_hnd StartDeviceUpdateCommand configuration handle customtlv_hnd PCEP custom TLV handle customobj_hnd PCEP custom object handle ipv4_reported_route_hnd PCEP IPv4 Reported Route Parameters handle ipv6_reported_route_hnd PCEP IPv6 Reported Route Parameters handle ipv4_explicit_route_hnd PCEP IPv4 Explicit Route Parameters handle ipv6_explicit_route_hnd PCEP IPv6 Explicit Route Parameters handle ipv6network_hnd IPv6 network block handle ipv4network_hnd IPv4 network block handle custompdu_hnd PCEP Custom PDU handle open_msg_hnd PCEP OPEN message configuration handle keep_alive_msg_hnd PCEP KEEPALIVE message configuration handle lsp_msg_hnd PCEP LSP message configuration handle status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation pcep config
function enables PCEP (PCC or PCE) on raw devices, adds, modifies, or deletes the PCC or PCE LSP. Use the mode argument to specify the operation to perform.When you enable the PCEP on raw devices, the function returns a PCEP handle based The device role (PCC or PCE). Use this handle as the input for further actions specified by mode. The mode you use determines the set of arguments you use to configure PCEP devices or LSPs.
When you specify mode create, you must also use the -handle argument to specify the PCEP device handle to create LSPs on that device.
When you specify mode modify, you must also use the -handle argument to specify the PCEP LSP handle to modify the LSP configurations.
When you specify mode delete, you must also use the -handle argument to specify the PCEP LSP handle to delete the LSP.
- Examples:
- See the examples under Arguments, or refer to Sample Script in the Release Package folder for full sample scripts of the function.
emulation pcep control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension to start, stop PCEP devices and the related LSPs, establish sessions between PCEP devices, or start the LSP on the established PCEP devices.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation pcep control
action= {start_sessions|stop_sessions|establish_sessions|
initiate_lsp|remove_delegate_lsp|remove_initiate_lsp} M]
handle= <pcep_handle_list> M
Arguments:
mode
Specifies the action to be performed. This argument is
`Mandatory`. Possible values are::
start_sessions Starts the PCEP devices and the related LSPs
stop_sessions Stops the PCEP devices and the related LSPs
establish_sessions Establishes a session between PCEP devices
initiate_lsp Starts the LSPs on the PCEP devices with
session established
remove_initiate_lsp
PCE will take back the initiated LSP, and send
a deletion request from the selected emulated
PCEs to the associated PCCs
remove_delegate_lsp
PCC will take back the delegate LSP, and remove
all states for the LSPs on the selected devices
The default value is start_sessions.
handle
Specifies a list of PCEP devices on which to perform the action.
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 Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation pcep control
function controls the PCEP sessions and the related LSPs. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)If the action performed fails, Spirent HLTAPI returns an error message.
- Examples:
The following example starts the specified PCEP sessions:
set ret [::emulation pcep control handle "$pcep_hnd1 $pcep_hnd2" action= start_sessions]
- Note:
- Spirent HLTAPI does not provide a protocol specific API for PCEP functions.
Instead, you can retrieve PCEP results using the
drv stats
function, as shown in the examples below.
To retrieve PCEP results by specified properties:
set drv_stats [::drv stats query_from= "$port1 $port2" drv_name= drv2 where= PcepProtocolConfig.BlockRole = 0 properties= "EmulatedDevice.PortName EmulatedDevice.Name PcepProtocolConfig.BlockState PcepProtocolConfig.BlockSessionCount PcepProtocolConfig.BlockSessionUpCount PcepProtocolConfig.BlockSessionIdleCount PcepProtocolConfig.BlockSessionPendingCount PcepProtocolConfig.BlockTxOpenCount PcepProtocolConfig.BlockRxOpenCount PcepProtocolConfig.BlockTxKeepAliveCount PcepProtocolConfig.BlockRxKeepAliveCount PcepProtocolConfig.BlockTxPCRptCount PcepProtocolConfig.BlockRxPCUpdCount PcepProtocolConfig.BlockTxPCReqCount PcepProtocolConfig.BlockRxPCRepCount PcepProtocolConfig.BlockTxNotifyCount PcepProtocolConfig.BlockRxNotifyCount PcepProtocolConfig.BlockTxErrorCount PcepProtocolConfig.BlockRxErrorCount PcepProtocolConfig.BlockTxCloseCount PcepProtocolConfig.BlockRxCloseCount PcepProtocolConfig.BlockRxPCInitCount PcepProtocolConfig.BlockFlapCount PcepProtocolConfig.BlockRole" ]
Sample Output:
{result_count 1} {item0 {{EmulatedDevicePortName {10.62.224.17412= //1/2}} {EmulatedDeviceName {Host 2}} {PcepProtocolConfigBlockState UP} {PcepProtocolConfigBlockSessionCount 1} {PcepProtocolConfigBlockSessionUpCount 1} {PcepProtocolConfigBlockSessionIdleCount 0} {PcepProtocolConfigBlockSessionPendingCount 0} {PcepProtocolConfigBlockTxOpenCount 1} {PcepProtocolConfigBlockRxOpenCount 1} {PcepProtocolConfigBlockTxKeepAliveCount 1} {PcepProtocolConfigBlockRxKeepAliveCount 1} {PcepProtocolConfigBlockTxPCRptCount 2} {PcepProtocolConfigBlockRxPCUpdCount 0} {PcepProtocolConfigBlockTxPCReqCount 0} {PcepProtocolConfigBlockRxPCRepCount 0} {PcepProtocolConfigBlockTxNotifyCount 0} {PcepProtocolConfigBlockRxNotifyCount 0} {PcepProtocolConfigBlockTxErrorCount 0} {PcepProtocolConfigBlockRxErrorCount 0} {PcepProtocolConfigBlockTxCloseCount 0} {PcepProtocolConfigBlockRxCloseCount 0} {PcepProtocolConfigBlockRxPCInitCount 0} {PcepProtocolConfigBlockFlapCount 0} {PcepProtocolConfigBlockRole PCC}}} {handle dynamicresultview1} {status 1}
To retrieve PCEP and LSP results by using an XML configuration file (saved from the DRV view configured in the GUI):
set drv_stats1 [::drv stats drv_xml= "C:/Desktop/pcep/drvxml/pcclsp_results.xml" ]
Sample Output:
{result_count 1} {item0 {{EmulatedDeviceName {Host 2}} {PcepProtocolConfigSymbolicName PLSP_report_0} {PcepProtocolConfigSrcIpAddr 1.1.1.1} {PcepProtocolConfigDstIpAddr 2.2.2.2} {PcepProtocolConfigLspState UP} {PcepProtocolConfigPlspState DELEGATED} {PcepProtocolConfigPlspId 1} {PcepProtocolConfigSrpId 0} {PcepProtocolConfigRpId 0} {PcepProtocolConfigPCRole PCC}}} {handle dynamicresultview2} {status 1}