This service declares both the Vrf Registration, as well as adding, deleting and getting IPv6 routes.
rpc SLRoutev6Oper::SLRoutev6GetNotifStream |
( |
stream |
SLRouteGetNotifMsg | ) |
|
This call is used to get a stream of route notifications. It can be used to get "push" notifications for route adds/updates/deletes. The caller must maintain the GRPC channel as long as there is interest in route notifications.
The call takes a stream of per-VRF notification requests. The success/failure of the notification request is relayed in the SLRouteNotifStatus followed by a Start marker, any routes if present, and an End Marker.
Used to retrieve Global Route information
SLRoutev6Msg.Oper = SL_OBJOP_ADD: Route add. Fails if the route already exists.
SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: Route update. Creates or updates the route.
SLRoutev6Msg.Oper = SL_OBJOP_DELETE: Route delete. The route path is not necessary to delete the route.
rpc SLRoutev6Oper::SLRoutev6OpStream |
( |
stream |
SLRoutev6Msg | ) |
|
SLRoutev6Msg.Oper = SL_OBJOP_ADD: Route add. Fails if the route already exists.
SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: Route update. Creates or updates the route.
SLRoutev6Msg.Oper = SL_OBJOP_DELETE: Route delete. The route path is not necessary to delete the route.
SLVrfRegMsg.Oper = SL_REGOP_REGISTER: VRF registration: Sends a list of VRF registration messages and expects a list of registration responses. A client Must Register a VRF BEFORE routes can be added/modified in the associated VRF.
SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: VRF Un-registeration: Sends a list of VRF un-registration messages and expects a list of un-registration responses. This can be used to convey that the client is no longer interested in this VRF. All previously installed routes would be lost.
SLVrfRegMsg.Oper = SL_REGOP_EOF: VRF End Of File message. After Registration, the client is expected to send an EOF message to convey the end of replay of the client's known objects. This is especially useful under certain restart scenarios when the client and the server are trying to synchronize their Routes.
Specifying more than one path is allowed for ECMP/UCMP cases
uint64 SLRoutev6Msg::Correlator = 2 |
This can be used to correlate replies with requests. The Server simply reflects this field back in the reply.
uint64 SLRoutev6MsgRsp::Correlator = 1 |
This can be used to correlate replies with requests. The Server simply reflects this field back in the reply.
- SL_SUCCESS: signifies that the entire bulk operation was successful. In this case, the Results list is empty.
- SL_SOME_ERR: signifies that the operation failed for one or more entries. In this case, Results holds the result for each individual entry in the bulk.
- SL_RPC_XXX: signifies that the entire bulk operation failed. In this case, the Results list is empty.
Attributes |
uint64 | Correlator = 1 |
| Correlator. More...
|
|
string | VrfName = 2 |
| VRF name. More...
|
|
bytes | Prefix = 3 |
| IPv6 Prefix.
|
|
uint32 | PrefixLen = 4 |
| IPv6 prefix length, [0-32].
|
|
uint32 | EntriesCount = 5 |
| Number of entries requested.
|
|
bool | GetNext = 6 |
| if GetNext is FALSE: request up to 'EntriesCount' entries starting from the key If GetNext is TRUE, or if the key exact match is not found: request up to 'EntriesCount' entries starting from the key's next
|
|
uint64 SLRoutev6GetMsg::Correlator = 1 |
This can be used to correlate replies with requests. The Server simply reflects this field back in the reply.
string SLRoutev6GetMsg::VrfName = 2 |
If the Key is not specified, then request up to the first 'EntriesCount' entries.
message SLRoutev6GetMsgRsp |
uint64 SLRoutev6GetMsgRsp::Correlator = 1 |
This can be used to correlate replies with requests. The Server simply reflects this field back in the reply.
repeated SLRoutev6 SLRoutev6GetMsgRsp::Entries = 5 |
if ErrStatus is SL_SUCCESS, Entries contains the info requested
bool SLRoutev6GetMsgRsp::Eof = 2 |
When set to True, it indicates that the server has returned M, where M < N, of the original N requested Entries.
message SLRoutev6NotifRoute |
oneof SLRoutev6Notif::Event |