MPLS Service API

mpls_api_service.proto

LdpLspPingInfo

LDP information required to do a LSP ping to LDP LSP

Field Type Label Description
status LdpLspPingStatus optional LDP specific error/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 LspPing Info request

Field Type Label Description
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.

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 to - [OPTIONAL], default: Null indicate master instance

MplsForwardingInfo

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

Field Type Label Description
nexthop_address RoutePrefix optional Nexthop address corresponding to the LSP
nexthop_router_id RoutePrefix optional Router id as the src addr 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 Nexthop label information
nexthop_interface_name string optional Nexthop interface name

RsvpLspFlags

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

RsvpLspPingInfo

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

RsvpLspPingInfoReply

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

RsvpLspPingInfoRequest

Request message to get the RSVP LSPing Info for the application 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 - [OPTIONAL], default: Null indicate active path
interface_name string optional Interface name for which the info is requested - [OPTIONAL], default: Null, for manual bypass this should not be Null
instance_name string optional Instance name for which the info is requested - [OPTIONAL], default: Null indicate master instance

VpnLspPingInfo

Field Type Label Description
status VpnLspPingStatus optional VPN specific error/status code while retrieving the requested LSP
rd RouteDistinguisher optional Route distinguisher
nexthop_info MplsForwardingInfo optional MPLS forwarding information

VpnLspPingInfoReply

Field Type Label Description
status LspPingGetInfoStatus optional Generic return status
vpn_info VpnLspPingInfo optional VPN LSP ping information

VpnLspPingInfoRequest

Request message to get the VPN LspPing Info for the application 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 VPN LSP requested belongs to - [REQUIRED]

LdpLspPingStatus

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

LspPingGetInfoStatus

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 occured
LSP_PING_GET_INVALID_PARAMETER 2 Indicates that the input paramter is not valid

RsvpLspPingStatus

Return error or status codes while retrieving RSVP Information

Name Number Description
RSVP_LSP_PING_NOERROR 0 RSVP LSP information was successuly 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 nexthop 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

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

VpnLspPingStatus

Return code for VPN LSP ping information request operations

Name Number Description
VPN_LSP_PING_NOERROR 0 VPN Route distinguisher and nexthop 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 nexthop information available for this prefix
VPN_LSP_PING_NH_NOT_REMOTE 4 This prefix was not learnt from a remote site
VPN_LSP_PING_NH_NOT_RESOLVED 5 The nexthop 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

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

Scalar Value Types

.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