Skip to content

mpls_route.proto

MplsRouteMgrService

watch

rpc watch(MplsRouteWatchRequest) MplsRouteWatchResponse

Subscription to monitor changes to MPLS routes in hardware. This request stays active until the client cancels or the server shuts down.

EosSdk reference: eos::mpls_route_handler (class)

watch_mpls_integrated

rpc watch_mpls_integrated(MplsIntegratedAckRequest) MplsIntegratedAckResponse

Subscription to monitor accurate programming of MPLS routes in hardware along with the NHG it was pointing to and its programmed version. This request stays active until the client cancels or the server shuts down.

MplsIntegratedAckResponse will be generated only for versioned MPLS routes that point to a single versioned nexthop group (NHG version could be explicitly set by the client or auto-versioned), i.e., 'version_id' field set as part of 'MplsRouteSetRequest' and 'MplsRouteVia' contains non-empty 'nexthop_group' field.

resync_init

rpc resync_init(MplsRouteResyncInitRequest) MplsRouteResyncInitResponse

Initiate a MPLS resync proccess. Starts a blank configuration to be applied once resync_complete is called.

EosSdk reference: eos::mpls_route_mgr::resync_init

resync_complete

rpc resync_complete(MplsRouteResyncCompleteRequest) MplsRouteResyncCompleteResponse

Ends the current MPLS resync process. Deletes the current configuration and applies all changes since resync_init was called.

EosSdk reference: eos::mpls_route_mgr::resync_complete

mpls_routes

rpc mpls_routes(MplsRoutesRequest) MplsRoutesResponse

Returns a list of all configured MPLS routes.

EosSdk reference: eos::mpls_route_mgr::mpls_route_iter

mpls_route_statuses

rpc mpls_route_statuses(MplsRouteStatusesRequest) MplsRouteStatusesResponse

Returns a list of all MPLS routes in hardware.

EosSdk reference: eos::mpls_route_mgr::mpls_route_status_iter_t

mpls_route_vias

rpc mpls_route_vias(MplsRouteViasRequest) MplsRouteViasResponse

Returns a list of configured MPLS vias for a specified route.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_iter_t

mpls_route_via_statuses

rpc mpls_route_via_statuses(MplsRouteViaStatusesRequest) MplsRouteViaStatusesResponse

Returns a list of MPLS vias in hardware for a specified MPLS route or FEC.

The vias returned for a MPLS FEC are unbound meaning they do not have a route key.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_status_iter_t

exists

rpc exists(MplsRouteExistsRequest) MplsRouteExistsResponse

Queries whether the specified route or via exists in the switch config.

EosSdk reference: eos::mpls_route_mgr::exists

mpls_route_set

rpc mpls_route_set(MplsRouteSetRequest) MplsRouteSetResponse

Inserts or updates an MPLS static route in the switch config.

EosSdk reference: eos::mpls_route_mgr::mpls_route_set

bulk_mpls_route_set

rpc bulk_mpls_route_set(BulkMplsRouteSetRequest) BulkMplsRouteSetResponse

Inserts or updates multiple MPLS static routes in the switch config in a single call.

EosSdk reference: eos::mpls_route_mgr::mpls_route_set

mpls_route_del

rpc mpls_route_del(MplsRouteDelRequest) MplsRouteDelResponse

Removes the MPLS route and all vias matching its route key.

EosSdk reference: eos::mpls_route_mgr::mpls_route_del

bulk_mpls_route_del

rpc bulk_mpls_route_del(BulkMplsRouteDelRequest) BulkMplsRouteDelResponse

Removes multiple MPLS routes and all vias matching their route keys in a single call.

EosSdk reference: eos::mpls_route_mgr::mpls_route_del

mpls_route_via_set

rpc mpls_route_via_set(MplsRouteViaSetRequest) MplsRouteViaSetResponse

Add the specified via to its associated MPLS route.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_set

bulk_mpls_route_via_set

rpc bulk_mpls_route_via_set(BulkMplsRouteViaSetRequest) BulkMplsRouteViaSetResponse

Adds multiple vias to their associated MPLS routes in a single call.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_set

mpls_route_via_del

rpc mpls_route_via_del(MplsRouteViaDelRequest) MplsRouteViaDelResponse

Removes the specified via from its associated MPLS route. If all vias are removed from a route it will still exist but it will have no nexthop information.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_del

bulk_mpls_route_via_del

rpc bulk_mpls_route_via_del(BulkMplsRouteViaDelRequest) BulkMplsRouteViaDelResponse

Removes multiple vias from their associated MPLS routes in a single call. If all vias are removed from a route it will still exist but it will have no nexthop information.

EosSdk reference: eos::mpls_route_mgr::mpls_route_via_del

fec_id

rpc fec_id(MplsRouteFecIdRequest) MplsRouteFecIdResponse

Returns the FEC ID corresponding to the specified MPLS route key if the route is programmed in hardware. If it is not programmed in hardware then the FEC ID will be 0 denoting that it is not set.

EosSdk reference: eos::mpls_route_mgr::mpls_route_fec_id

metric

rpc metric(MplsRouteMetricRequest) MplsRouteMetricResponse

Returns the active metric that is being used in hardware to forward traffic for the specified MPLS route key, or 0 if the route key does not have any active vias programmed.

EosSdk reference: eos::mpls_route_mgr::mpls_route_metric

Messages

BulkMplsRouteDelRequest

Name Value Description
requests repeated MplsRouteDelRequest List of MplsRouteDelRequests.

BulkMplsRouteDelResponse

Name Value Description
processed uint64 Number of consecutive successful requests.
status RpcResponseStatus Success or error details in the event of failure.

BulkMplsRouteSetRequest

Name Value Description
requests repeated MplsRouteSetRequest List of MplsRouteSetRequests.

BulkMplsRouteSetResponse

Name Value Description
processed uint64 Number of consecutive successful requests.
status RpcResponseStatus Success or error details in the event of failure.

BulkMplsRouteViaDelRequest

Name Value Description
requests repeated MplsRouteViaDelRequest List of MplsRouteViaDelRequests.

BulkMplsRouteViaDelResponse

Name Value Description
processed uint64 Number of consecutive successful requests.
status RpcResponseStatus Success or error details in the event of failure.

BulkMplsRouteViaSetRequest

Name Value Description
requests repeated MplsRouteViaSetRequest List of MplsRouteViaSetRequests.

BulkMplsRouteViaSetResponse

Name Value Description
processed uint64 Number of consecutive successful requests.
status RpcResponseStatus Success or error details in the event of failure.

MplsIntegratedAckRequest

Empty message.

MplsIntegratedAckResponse

Name Value Description
stream_ready bool When this field is set to 'True' it indicates RPC server has registered for any future updates and streams them.
route_version_info MplsRouteViaSetVersionInfo

MplsRouteDelRequest

Name Value Description
route_key MplsRouteKey The route key of the route to remove.

MplsRouteDelResponse

Empty message.

MplsRouteExistsRequest

Name Value Description
oneof overloads.route_key MplsRouteKey The key of the route to query.
oneof overloads.route_via MplsRouteVia The route via to query.

MplsRouteExistsResponse

Name Value Description
exists bool True if the route or via exists in the switch config otherwise false.

MplsRouteFecIdRequest

Name Value Description
route_key MplsRouteKey The route key.

MplsRouteFecIdResponse

Name Value Description
fec_id MplsFecId The FEC ID if the route key is programmed in hardware otherwise 0.

MplsRouteFieldsControl

Name Value Description
fields repeated MplsRouteWatchedField

MplsRouteMetricRequest

Name Value Description
route_key MplsRouteKey The route key to query. Its metric value is not used.

MplsRouteMetricResponse

Name Value Description
metric uint32 The metric being used in hardware to forward traffic for the specified route key or 0 if it does not have any active vias programmed.

MplsRouteResyncCompleteRequest

Empty message.

MplsRouteResyncCompleteResponse

Empty message.

MplsRouteResyncInitRequest

Empty message.

MplsRouteResyncInitResponse

Empty message.

MplsRouteSetRequest

Name Value Description
route MplsRoute The MPLS route to insert or update.
vias repeated MplsRouteVia MPLS vias to be added to the route.
vias_action MplsRouteSetViasAction action associated with vias, i.e., ADD or REPLACE.

MplsRouteSetResponse

Empty message.

MplsRouteStatusesRequest

Empty message.

MplsRouteStatusesResponse

Name Value Description
route_key MplsRouteKey The keys of the MPLS routes in hardware.

MplsRouteViaDelRequest

Name Value Description
route_via MplsRouteVia The via to remove.

MplsRouteViaDelResponse

Empty message.

MplsRouteViaSetRequest

Name Value Description
route_via MplsRouteVia The via to add to the route.

MplsRouteViaSetResponse

Empty message.

MplsRouteViaSetVersionInfo

Name Value Description
mpls_route_key MplsRouteKey
mpls_route_version_id uint32
nexthop_group_version_info NexthopGroupVersionInfo
hw_state ViaSetProgrammedHwState

MplsRouteViaStatusesRequest

Name Value Description
oneof overloads.route_key MplsRouteKey The key of the route to query.
oneof overloads.fec_id MplsFecId The ID of the fec to query.

MplsRouteViaStatusesResponse

Name Value Description
route_via MplsRouteVia The vias in hardware for the MPLS route key or FEC.

MplsRouteViasRequest

Name Value Description
route_key MplsRouteKey The key of the route to query.

MplsRouteViasResponse

Name Value Description
route_via MplsRouteVia The vias configured for the route.

MplsRouteWatchRequest

Name Value Description
ack bool Set to true if an immediate acknowledgement is desired.
oneof overload.all bool True if all MPLS routes should be watched.
oneof overload.route_key MplsRouteKey The route key of a particular MPLS route to watch.
dump_fields MplsRouteFieldsControl

MplsRouteWatchResponse

Name Value Description
ack bool If true the agent is now actively watching for events.
oneof route_event.on_mpls_route_set OnMplsRouteSet The specified MPLS route has been programmed to hardware or assigned a new FEC ID.
oneof route_event.on_mpls_route_del OnMplsRouteDel The specified MPLS route has been deleted from hardware.
oneof fec_event.on_mpls_fec_set OnMplsFecSet The specified MPLS FEC has been created or updated in hardware.
oneof fec_event.on_mpls_fec_del OnMplsFecDel The specified MPLS FEC has been removed from hardware.
on_mpls_route_dump OnMplsRouteDump

MplsRoutesRequest

Name Value Description
report_vias bool If true, the stream response will also include vias for every reported MPLS route key.

MplsRoutesResponse

Name Value Description
route MplsRoute The configured MPLS routes.
vias repeated MplsRouteVia VIAs of a configured route.

NexthopGroupVersionInfo

Name Value Description
name string
version uint32

OnMplsFecDel

Notification for when an MPLS FEC is removed from hardware.

Name Value Description
fec_id MplsFecId The ID of the FEC which triggered the event.

OnMplsFecSet

Notification for when an MPLS FEC is created or updated in hardware.

Name Value Description
fec_id MplsFecId The ID of the FEC which triggered the event.

OnMplsRouteDel

Notification for when an MPLS route is deleted from hardware.

Name Value Description
route_key MplsRouteKey The route key of the MPLS route that triggered the event.

OnMplsRouteDump

Name Value Description
route MplsRoute
vias repeated MplsRouteVia

OnMplsRouteSet

Notification for when an MPLS route is to be programmed into hardware or when it is assigned a new FEC ID.

Name Value Description
route_key MplsRouteKey The route key of the MPLS route that triggered the event.
fec_id MplsFecId The ID of the MPLS route's associated FEC.
version_id uint32 The version of the MPLS route, 0 means version is unset.

Enums

MplsRouteSetViasAction

Name Value Description
MPLS_ROUTE_SET_VIAS_ADD 0 Use this convenience method to create routes and vias in a single RPC call. While primarily designed for route creation, when utilized with an existing route key, any vias present within the MplsRouteSetRequest message will be appended to the existing set of vias for that route. If adding the vias results in a failure, the route shall be deleted.
MPLS_ROUTE_SET_VIAS_REPLACE 1 Choosing this action with an existing route will replace vias in a make-before-break fashion within the RPC server, when possible. Vias that are common between the old set and the new set should remain untouched. If the operation fails, then the original via set is restored.

MplsRouteWatchedField

Name Value Description
MPLS_ROUTE_ALL_FIELDS 0
MPLS_ROUTE 1
MPLS_ROUTE_VIAS 2