Junos OS routing IDL - Protocol Documentation

Table of Contents

mpls_api_service.proto

Top

Public IDL for the Junos OS MPLS Service APIs

This IDL d

Copyright (c) 2016, Juniper Networks, Inc. All rights reserved.

LdpLspPingInfo

LDP information required to do an LSP ping to LDP LSP

FieldTypeLabelDescription
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

LdpLspPingInfoReply

Reply message for the LDP LSP ping information request

FieldTypeLabelDescription
status LspPingGetInfoStatus optional

Generic return status

ldp_info LdpLspPingInfo optional

LDP LSP ping information

LdpLspPingInfoRequest

Request message to get the LDP LspPing Info for the application to check the reachability to that LDP Lsp.

FieldTypeLabelDescription
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)

MplsForwardingInfo

MPLS forwarding info, label, interface and routing table info.

FieldTypeLabelDescription
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

RsvpLspFlags

RSVP LSP associated flags for manual and dynamic bypass.

FieldTypeLabelDescription
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

RsvpLspPingInfo

RSVP LSP information required to do a LspPing

FieldTypeLabelDescription
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

RsvpLspPingInfoReply

Reply message for the RSVP LspPing Info request

FieldTypeLabelDescription
status LspPingGetInfoStatus optional

Generic return status

rsvp_info RsvpLspPingInfo optional

RSVP LSP information retrieved

RsvpLspPingInfoRequest

Request message to get the RSVP LSP ping information to check the reachability to that RSVP LSP.

FieldTypeLabelDescription
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)

VpnLspPingInfo

Lsp ping information message format

FieldTypeLabelDescription
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

VpnLspPingInfoReply

Response message format for replies to VPN LSP ping information requests

FieldTypeLabelDescription
status LspPingGetInfoStatus optional

Generic return status

vpn_info VpnLspPingInfo optional

VPN LSP ping information

VpnLspPingInfoRequest

Request message to get the VPN LSP ping information to check the reachability to that VPN route.

FieldTypeLabelDescription
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]

LdpLspPingStatus

Return code for LDP LSP ping information request operations

NameNumberDescription
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

LspPingGetInfoStatus

LSP ping information retrieval associated generic status codes which are applicable to all types of LSPs

NameNumberDescription
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

RsvpLspPingStatus

Return error or status codes while retrieving RSVP Information

NameNumberDescription
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

RsvpLspPingSuccessStatus

Success status codes while retrieving RSVP Information

NameNumberDescription
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

VpnLspPingStatus

Return code for VPN LSP ping information request operations.

NameNumberDescription
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

MplsApi

MPLS Service

Following are services to get the appropriate information required to do a ping to the LSP.

Method NameRequest TypeResponse TypeDescription
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

Scalar Value Types

.proto TypeNotesC++ TypeJava TypePython 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