Junos OS routing IDL - Protocol Documentation

Table of Contents

Flexible Tunnel Service

FlexibleTunnelService

RPC parameters for a request to add one or more flexible tunnel profiles. The FlexibleTunnelAdd RPC supports bulking of up to 1000 tunnel profiles per request.

Field Type Label Description
tunnel_profiles FlexibleTunnelProfile repeated List of one or more tunnel profiles to request addition for. Up to 1000 tunnel profiles may be contained in one request. REQUIRED.

FlexibleTunnelAddResponse

RPC return for a request to add flexible tunnel profiles.

Field Type Label Description
code StatusCode optional Top level return code
sub_code FlexibleTunnelAddResponse.StatusCode optional Detailed return code
message string optional Textual status message
operations_completed uint32 optional The number of requested operations for which the operation completed successfully.

FlexibleTunnelDeleteRequest

RPC parameters for a request to delete one or more flexible tunnel profiles. RPCs that use the DeleteRequest message support bulking of up to 1000 tunnel profiles per request.

Field Type Label Description
tunnel_profile_names string repeated List of one or more tunnel profile names to request delete(s) for. tunnel_profile_name is the unique client-assigned name for the profile provided at the time the profile was added. The tunnel profiles are searched by profile name and the tunnels exactly matching the those named in the request list are deleted. Up to 1000 tunnel profile may be contained in one request. REQUIRED.

FlexibleTunnelDeleteResponse

RPC return for a request to delete a flexible tunnel attribute.

Field Type Label Description
code StatusCode optional Top level return code
sub_code FlexibleTunnelDeleteResponse.StatusCode optional Detailed return code
message string optional Textual status message
operations_completed uint32 optional The number of requested operations for which the operation completed successfully.

FlexibleTunnelGetRequest

RPC parameters for a request to query a flexible tunnel profile.

Field Type Label Description
tunnel_profile_name string optional The unique profile name assigned by the client when the profile was added. The tunnel profiles are searched by profile name and the single tunnel exactly matching the queried name is returned. REQUIRED.

FlexibleTunnelGetResponse

RPC return for a request to query a flexible tunnel profile.

Field Type Label Description
code StatusCode optional Top level return code
sub_code FlexibleTunnelGetResponse.StatusCode optional Detailed return code
message string optional Textual status message
tunnel_profile FlexibleTunnelProfile optional

FlexibleTunnelUpdateRequest

RPC parameters for a request to update one or more flexible tunnel profiles. The FlexibleTunnelUpdate RPC supports bulking of up to 1000 tunnel profiles per request.

Field Type Label Description
tunnel_profiles FlexibleTunnelProfile repeated List of one or more tunnel profiles to request update(s) for. Up to 1000 tunnel profiles may be contained in one request. REQUIRED.

FlexibleTunnelUpdateResponse

RPC return for a request to update flexible tunnel profiles.

Field Type Label Description
code StatusCode optional Top level return code
sub_code FlexibleTunnelUpdateResponse.StatusCode optional Detailed return code
message string optional Textual status message
operations_completed uint32 optional The number of requested operations for which the operation completed successfully.

FlexibleTunnelAddResponse.StatusCode

Return sub_code for FlexibleTunnelAdd responses.

Name Number Description
SUCCESS 0 A new profile was successfully added
INTERNAL_ERROR 1 An internal error occured
ALREADY_EXISTS 2 The specified profile already exists
TOO_MANY_OPS 3 Request contained too many operations
INVALID_TUNNEL_PROFILE 4 Invalid flexible tunnel profile parameters
INVALID_TUNNEL_ACTION 5 Invalid flexible tunnel profile action
INVALID_PROFILE_NAME 6 Invalid profile name in request

FlexibleTunnelDeleteResponse.StatusCode

Return sub_code for FlexibleTunnelDelete responses.

Name Number Description
SUCCESS 0 An profile was successfully deleted
INTERNAL_ERROR 1 An internal error occured
NOT_FOUND 2 The specified profile does not exist
TOO_MANY_OPS 3 Request contained too many operations
INVALID_PROFILE_NAME 4 Invalid profile name in request

FlexibleTunnelGetResponse.StatusCode

Return sub_code for FlexibleTunnelGet responses.

Name Number Description
SUCCESS 0 The specified profile was returned
INTERNAL_ERROR 1 An internal error occured
NOT_FOUND 2 The specified profile does not exist
INVALID_PROFILE_NAME 3 Invalid profile name in request

FlexibleTunnelUpdateResponse.StatusCode

Return sub_code for FlexibleTunnelUpdate responses.

Name Number Description
SUCCESS 0 A new profile was successfully added or updated
INTERNAL_ERROR 1 An internal error occured
TOO_MANY_OPS 2 Request contained too many operations
INVALID_TUNNEL_PROFILE 3 Invalid flexible tunnel profile parameters
INVALID_TUNNEL_ACTION 4 Invalid flexible tunnel profile action
INVALID_PROFILE_NAME 5 Invalid profile name in request
ALREADY_EXISTS 6 A tunnel with the specified profile already exists

FlexibleTunnel

JET RPC service providing operations to manage flexible tunnel profiles as independent objects decopuled from routes that may use them.

Method Name Request Type Response Type Description
FlexibleTunnelAdd FlexibleTunnelAddRequest FlexibleTunnelAddResponse Request to add new flexible tunnel profiles. An error will be returned if either a profile with the given name or a profile with conflicting tunnel attributes already exists. See the specific tunnel attributes for the description of conflicting attributes for that tunnel type. The request may contain from one to 1000 tunnel profiles. If the request contains multiple tunnel profiles, the profiles will be processed in the order given and the first error encountered will cause the request to abort. The API always returns the final status (success or first error encountered) and the number of profiles that were successfully updated prior to any error or full completion of the request.
FlexibleTunnelUpdate FlexibleTunnelUpdateRequest FlexibleTunnelUpdateResponse Request to add new flexible tunnel profiles, or update the profile(s) if profiles matching the given name already exists. An error will be returned if a different profile with conflicting tunnel attributes already exists. See the specific tunnel attributes for the description of conflicting attributes for that tunnel type.. The request may contain from one to 1000 tunnel profiles. If the request contains multiple tunnel profiles, the profiles will be processed in the order given and the first error encountered will cause the request to abort. The API always returns the final status (success or first error encountered) and the number of profiles that were successfully updated prior to any error or full completion of the request.
FlexibleTunnelDelete FlexibleTunnelDeleteRequest FlexibleTunnelDeleteResponse Request to delete existing flexible tunnel profiles by name. The request may contain from one to 1000 tunnel profiles. If the request contains multiple tunnel profiles, the profiles will be processed in the order given and the first error encountered will cause the request to abort. The API always returns the final status (success or first error encountered) and the number of profiles that were successfully deleted prior to any error or full completion of the request.
FlexibleTunnelGet FlexibleTunnelGetRequest FlexibleTunnelGetResponse Request to query the paramaters of an existing flexible tunnel profile with the given name.

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