Public IDL for the Junos OS MPLS Service APIs
This IDL d
Copyright (c) 2016, Juniper Networks, Inc. All rights reserved.
LDP information required to do an LSP ping to LDP LSP
Field | Type | Label | Description |
status | LdpLspPingStatus | optional | LDP specific error or status code while retrieving the requested LSP |
bfd_discriminator | uint32 | optional | BFD discriminator to initiate a BFD session with remote side of LSP |
nexthop_info | MplsForwardingInfo | optional | MPLS forwarding information |
Reply message for the LDP LSP ping information request
Field | Type | Label | Description |
status | LspPingGetInfoStatus | optional | Generic return status |
ldp_info | LdpLspPingInfo | optional | LDP LSP ping information |
Request message to get the LDP LspPing Info for the application to check the reachability to that LDP Lsp.
Field | Type | Label | Description |
prefix | RoutePrefix | optional | Destination address - [REQUIRED] |
prefix_length | uint32 | optional | Prefix length - [REQUIRED] |
instance_name | string | optional | Name of instance to which the LDP LSP requested belongs. [OPTIONAL] (default: null) |
MPLS forwarding info, label, interface and routing table info.
Field | Type | Label | Description |
nexthop_address | RoutePrefix | optional | next-hop address corresponding to the LSP |
nexthop_router_id | RoutePrefix | optional | Router id as the source address of the ip pkt |
nexthop_route_idx | RoutePrefix | optional | Used in case of pseudo-wire BFD |
nexthop_control_channel_flag | uint32 | optional | Flag indicating the control channel type |
nexthop_label | LabelStack | optional | next-hop label information |
nexthop_interface_name | string | optional | next-hop interface name |
RSVP LSP associated flags for manual and dynamic bypass.
Field | Type | Label | Description |
rsvp_dynamic_bypass_lsp | bool | optional | Flag to indicate RSVP bypass type is dynamic |
rsvp_manual_bypass_lsp | bool | optional | Flag to indicate RSVP bypass type is manual |
RSVP LSP information required to do a LspPing
Field | Type | Label | Description |
status | RsvpLspPingStatus | optional | RSVP specific error/status code while retrieving the requested LSP |
success_status | RsvpLspPingSuccessStatus | optional | RSVP specific success status code while retrieving the requested LSP |
destination_address | RoutePrefix | optional | Destination address of LSP |
ext_tunnel_id | RoutePrefix | optional | External tunnel identifier, an address |
sender_address | RoutePrefix | optional | Sender address |
tunnel_id | uint32 | optional | LSP tunnel identifier |
lsp_id | uint32 | optional | LSP identifier |
nexthops | uint32 | optional | Represents ttl value by default 255, non-zero for CCC Lsp |
bfd_discriminator | uint32 | optional | BFD discriminator to initiate a BFD session with remote side of LSP |
lsp_from_address | RoutePrefix | optional | LSP source ip address |
sensor_id | uint64 | optional | Sensor id for RSVP LSP |
flags | uint32 | optional | Flag to indicate traffic class sensor attributes |
nexthop_info | MplsForwardingInfo | optional | MPLS forwarding information |
Reply message for the RSVP LspPing Info request
Field | Type | Label | Description |
status | LspPingGetInfoStatus | optional | Generic return status |
rsvp_info | RsvpLspPingInfo | optional | RSVP LSP information retrieved |
Request message to get the RSVP LSP ping information to check the reachability to that RSVP LSP.
Field | Type | Label | Description |
flags | RsvpLspFlags | optional | Flag associated with the request [OPTIONAL] (default: Null) |
lsp_name | string | optional | LSP name for which the info is requested - [REQUIRED] |
path_name | string | optional | Path name for which the info is requested. Indicates active path. [OPTIONAL] (default: Null) |
interface_name | string | optional | Interface name for which the info is requested. For manual bypass this should not be Null [OPTIONAL] (default: Null) |
instance_name | string | optional | Instance name for which the info is requested. [OPTIONAL] (default: Null) |
Lsp ping information message format
Field | Type | Label | Description |
status | VpnLspPingStatus | optional | VPN specific error or status code while retrieving the requested VPN LSP |
rd | RouteDistinguisher | optional | Route distinguisher |
nexthop_info | MplsForwardingInfo | optional | MPLS forwarding information |
Response message format for replies to VPN LSP ping information requests
Field | Type | Label | Description |
status | LspPingGetInfoStatus | optional | Generic return status |
vpn_info | VpnLspPingInfo | optional | VPN LSP ping information |
Request message to get the VPN LSP ping information to check the reachability to that VPN route.
Field | Type | Label | Description |
prefix | RoutePrefix | optional | Destination address - [REQUIRED] |
prefix_length | uint32 | optional | Prefix length - [REQUIRED] |
instance_name | string | optional | Name of instance to which the requested VPN LSP belongs - [REQUIRED] |
Return code for LDP LSP ping information request operations
Name | Number | Description |
LDP_LSP_PING_NOERROR | 0 | LDP FEC information is successfully retrieved |
LDP_LSP_PING_FEC_NOTFOUND | 1 | Requested LDP FEC LSP is not found |
LDP_LSP_PING_P2MP_FEC_NOTFOUND | 2 | Requested LDP P2MP FEC LSP is not found |
LDP_LSP_PING_INSTANCE_NOTFOUND | 3 | Requested routing instance is not found |
LSP ping information retrieval associated generic status codes which are applicable to all types of LSPs
Name | Number | Description |
LSP_PING_GET_SUCCESS | 0 | Indicates LSP get information was successfully called |
LSP_PING_GET_INTERNAL_ERROR | 1 | Internal error like malloc or read/write failure occurred |
LSP_PING_GET_INVALID_PARAMETER | 2 | Indicates that the input parameter is not valid |
Return error or status codes while retrieving RSVP Information
Name | Number | Description |
RSVP_LSP_PING_NOERROR | 0 | RSVP LSP information was successfully retrieved |
RSVP_LSP_PING_LSP_NOTFOUND | 1 | Requested LSP not found |
RSVP_LSP_PING_NO_RSVP_INFO | 2 | Requested LSP is not RSVP signaled |
RSVP_LSP_PING_NO_PATH_INFO | 3 | RSVP LSP has no path information |
RSVP_LSP_PING_NO_ROUTE_INFO | 4 | RSVP LSP has no route information |
RSVP_LSP_PING_NO_ACTIVE_PATH | 5 | RSVP LSP has no active path |
RSVP_LSP_PING_STANDBY_PATH_NOTFOUND | 6 | Requested standby path not found |
RSVP_LSP_PING_CCC_NORRO | 7 | Record route object for requested CCC LSP not found |
RSVP_LSP_PING_P2MP_NOSUP | 8 | Operation not supported for P2MP LSPs |
RSVP_LSP_PING_P2MP_NO_EGRESS | 9 | No Egress destinations found for P2MP LSP |
RSVP_LSP_PING_P2MP_NO_FLOOD_NHOP | 10 | No flood next-hop found for P2MP LSP |
RSVP_LSP_PING_BYPASS_NEED_IINTERFACE_NAME | 11 | IFL-name needs to be specified for manual bypass |
Success status codes while retrieving RSVP Information
Name | Number | Description |
RSVP_LSP_PING_LSP_PRIMARY | 0 | RSVP LSP path is primary |
RSVP_LSP_PING_LSP_SECONDARY | 1 | RSVP LSP path is secondary |
RSVP_LSP_PING_LSP_BYPASS | 2 | RSVP LSP is a bypass LSP |
Return code for VPN LSP ping information request operations.
Name | Number | Description |
VPN_LSP_PING_NOERROR | 0 | VPN Route distinguisher and next-hop information were successfully retrieved. |
VPN_LSP_PING_NOTFOUND | 1 | VPN is not found |
VPN_LSP_PING_PFX_NOTFOUND | 2 | Requested prefix not found in this VPN's table |
VPN_LSP_PING_NH_NOTFOUND | 3 | No next-hop information available for this prefix |
VPN_LSP_PING_NH_NOT_REMOTE | 4 | This prefix was not learned from a remote site |
VPN_LSP_PING_NH_NOT_RESOLVED | 5 | The next-hop for this prefix is not resolved |
VPN_LSP_PING_IN_GRACEFUL_RESTART | 6 | During graceful restart, cannot retrieve all the information necessary for issuing a L3VPN LSP ping |
MPLS Service
Following are services to get the appropriate information required to do a ping to the LSP.
Method Name | Request Type | Response Type | Description |
LspPingGetRsvpInfo | RsvpLspPingInfoRequest | RsvpLspPingInfoReply | Service to get the RSVP LSP information |
LspPingGetLdpInfo | LdpLspPingInfoRequest | LdpLspPingInfoReply | Service to get the LDP LSP information |
LspPingGetVpnInfo | VpnLspPingInfoRequest | VpnLspPingInfoReply | Service to get the VPN LSP information |
.proto Type | Notes | C++ Type | Java Type | Python Type |
double | double | double | float | |
float | float | float | float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
uint32 | Uses variable-length encoding. | uint32 | int | int/long |
uint64 | Uses variable-length encoding. | uint64 | long | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
sfixed32 | Always four bytes. | int32 | int | int |
sfixed64 | Always eight bytes. | int64 | long | int/long |
bool | bool | boolean | boolean | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |