fib_override.proto¶
FibOverrideService¶
A service for managing FIB overrides.
The FIB contains mappings between a prefix (identifying a destination network) and its associated FEC, with the FEC containing one or more resolved Vias defining how traffic should be forwarded towards that destination network.
The FIB override service allows these FECs and their Vias to be modified/replaced by defining a number of Via-specific overrides. Each Via override contains a unique matcher which identifies those Vias in a FEC that should be modified as specified by the override (subject to any additional qualifying criteria).
A FEC will only be overridden when one or more of its Vias match a configured override, even if some of its other Vias have no matching override. Any unmatched Vias in the FEC will still be implicitly overridden by applying default values for the overridable properties (as mentioned below). It's important to note that FECs with no explicitly overridden Vias will remain unchanged.
At the moment, the following Via properties can be overridden: 1. The UCMP weight associated with the Via. If not specified, the configured default UCMP weight will be used. Note that a default UCMP weight must be configured before configuring a Via override with an explicit UCMP weight. Note the these overridden properties will take precedence over the equivalent properties in the matched Via.
default_ucmp_weight¶
rpc default_ucmp_weight(FibOverrideDefaultUcmpWeightRequest) FibOverrideDefaultUcmpWeightResponse
Returns the currently configured default UCMP weight.
When configured, this default weight will be used for any Vias in an overridden FEC without an explicitly overridden UCMP weight.
default_ucmp_weight_set¶
rpc default_ucmp_weight_set(FibOverrideDefaultUcmpWeightSetRequest) FibOverrideDefaultUcmpWeightSetResponse
Sets the default UCMP weight to the specified value.
This must be configured before attempting to configure any Via overrides with an explicitly overridden UCMP weight.
Note that modifying the default weight will cause the re-evaluation of any already overridden FECs.
via_overrides¶
rpc via_overrides(FibOverrideViasRequest) FibOverrideViasResponse
Enumerates all the configured per-Via FIB overrides.
bulk_via_override_set¶
rpc bulk_via_override_set(BulkFibOverrideViaSetRequest) BulkFibOverrideViaSetResponse
Set the FIB override for multiple Vias.
bulk_via_override_del¶
rpc bulk_via_override_del(BulkFibOverrideViaDelRequest) BulkFibOverrideViaDelResponse
Remove the FIB override for multiple Vias.
via_override_resync_init¶
rpc via_override_resync_init(FibOverrideViaResyncInitRequest) FibOverrideViaResyncInitResponse
Begins the process of resyncing the configured per-Via FIB overrides to the desired state.
Once called, the per-Via overrides can be modified in the usual way (and those modifications will be applied immediately). Once all desired modifications have been made, call via_override_resync_complete() to delete any per-Via overrides that were not added/modified during the resync.
via_override_resync_complete¶
rpc via_override_resync_complete(FibOverrideViaResyncCompleteRequest) FibOverrideViaResyncCompleteResponse
Completes the process of resyncing the configured per-Via FIB overrides to the desired states.
Any per-Via overrides that were not explicitly added/modified after calling via_override_resync_init() will now be deleted.
A FAILED_PRECONDITION error will be returned if this is called without first calling via_override_resync_init().
Messages¶
BulkFibOverrideViaDelRequest¶
Name | Value | Description |
---|---|---|
requests | repeated FibOverrideViaDelRequest | The FIB override delete requests for multiple Via matchers. |
BulkFibOverrideViaDelResponse¶
Name | Value | Description |
---|---|---|
processed | uint64 | The number of requests processed successfully. |
status | RpcResponseStatus | Success, or error details in the event of failure. |
BulkFibOverrideViaSetRequest¶
Name | Value | Description |
---|---|---|
requests | repeated FibOverrideViaSetRequest | The FIB override set requests for multiple Vias. |
BulkFibOverrideViaSetResponse¶
Name | Value | Description |
---|---|---|
processed | uint64 | The number of requests processed successfully. |
status | RpcResponseStatus | Success, or error details in the event of failure. |
FibOverrideDefaultUcmpWeightRequest¶
Empty message.
FibOverrideDefaultUcmpWeightResponse¶
Name | Value | Description |
---|---|---|
ucmp_weight | uint32 | The current default UCMP weight. A value of 0 indicates that no default UCMP weight is currently set. |
FibOverrideDefaultUcmpWeightSetRequest¶
Name | Value | Description |
---|---|---|
ucmp_weight | uint32 | The UCMP weight to use by default. An INVALID_ARGUMENT error will be returned if the specified weight is not within the range 1 to (2^24)-1 inclusive. |
FibOverrideDefaultUcmpWeightSetResponse¶
Empty message.
FibOverrideViaDelRequest¶
Name | Value | Description |
---|---|---|
via_matcher | FibOverrideViaMatcher | The Via matcher whose associated override should be removed. An INVALID_ARGUMENT error will be returned if no matcher is specified, or if any of its mandatory fields are missing/malformed. |
FibOverrideViaResyncCompleteRequest¶
Empty message.
FibOverrideViaResyncCompleteResponse¶
Empty message.
FibOverrideViaResyncInitRequest¶
Empty message.
FibOverrideViaResyncInitResponse¶
Empty message.
FibOverrideViaSetRequest¶
Name | Value | Description |
---|---|---|
via_override | FibOverrideVia | The FIB override to be set for a particular Via. An INVALID_ARGUMENT error will be returned if no override is specified, if any of its mandatory fields are missing or if any of its fields are malformed. A FAILED_PRECONDITION error will be returned if UCMP parameters are specified in the override without having first configured a default UCMP weight (using the default_ucmp_weight_set() RPC). |
FibOverrideViasRequest¶
Empty message.
FibOverrideViasResponse¶
Name | Value | Description |
---|---|---|
via_overrides | repeated FibOverrideVia | The FIB override for a particular Via. |