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 |