Used for IPv4 BFD registrations, and BFD session operations and notifications.
Defines the RPC for adding, deleting, updating, and retrieving BFD sessions.
RPC Calls | |
rpc | SLBfdv4Oper::SLBfdv4RegOp (SLBfdRegMsg) returns(SLBfdRegMsgRsp) |
BFD Registration Operations. More... | |
rpc | SLBfdv4Oper::SLBfdv4Get (SLBfdGetMsg) returns(SLBfdGetMsgRsp) |
Used to retrieve global BFD info from the server. | |
rpc | SLBfdv4Oper::SLBfdv4GetStats (SLBfdGetMsg) returns(SLBfdGetStatsMsgRsp) |
Used to retrieve global BFD stats from the server. | |
rpc | SLBfdv4Oper::SLBfdv4GetNotifStream (SLBfdGetNotifMsg) returns(stream SLBfdv4Notif) |
BFD notifications. More... | |
rpc | SLBfdv4Oper::SLBfdv4SessionOp (SLBfdv4Msg) returns(SLBfdv4MsgRsp) |
BFD session operations. More... | |
rpc | SLBfdv4Oper::SLBfdv4SessionGet (SLBfdv4GetMsg) returns(SLBfdv4GetMsgRsp) |
Retrieve BFD session attributes and state. More... | |
Messages | |
message | SLBfdv4Key |
BFD unique key identifier. More... | |
message | SLBfdv4SessionCfg |
BFD session information. More... | |
message | SLBfdv4Msg |
Contains a List of BFD session objects. More... | |
message | SLBfdv4Res |
BFD result. More... | |
message | SLBfdv4MsgRsp |
BFD bulk result. More... | |
message | SLBfdv4GetMsg |
BFD Get Message. More... | |
message | SLBfdv4SessionCfgState |
BFD Session Config and State info. More... | |
message | SLBfdv4GetMsgRsp |
BFD Get Message Response. More... | |
message | SLBfdv4SessionState |
BFD Session and State info. More... | |
message | SLBfdv4Notif |
BFD Session and State info Message. More... | |
Variables | |
SLBfdType | SLBfdv4Key::Type = 1 |
BFD Session Type. | |
string | SLBfdv4Key::VrfName = 2 |
VRF name. | |
uint32 | SLBfdv4Key::NbrAddr = 3 |
Neighbor Ipv4 address. | |
SLInterface | SLBfdv4Key::Interface = 4 |
Interface name and handle, needed for single-hop BFD. | |
uint32 | SLBfdv4Key::SourceAddr = 5 |
Source Ipv4 address, needed for multi-hop BFD. | |
SLBfdv4Key | SLBfdv4SessionCfg::Key = 1 |
BFD unique key identifier. | |
SLBfdConfigCommon | SLBfdv4SessionCfg::Config = 2 |
BFD common features. | |
SLObjectOp | SLBfdv4Msg::Oper = 1 |
BFD Object Operations. | |
repeated SLBfdv4SessionCfg | SLBfdv4Msg::Sessions = 2 |
List of BFD session objects. | |
SLErrorStatus | SLBfdv4Res::ErrStatus = 1 |
Corresponding error code. | |
SLBfdv4Key | SLBfdv4Res::Key = 2 |
BFD unique key. | |
SLErrorStatus | SLBfdv4MsgRsp::StatusSummary = 1 |
Summary result of the bulk operation (refer to enum SLErrorStatus) In general, the StatusSummary implies one of 3 things: More... | |
repeated SLBfdv4Res | SLBfdv4MsgRsp::Results = 2 |
In case of errors, this field indicates which entry in the bulk was erroneous. More... | |
SLBfdv4Key | SLBfdv4GetMsg::Key = 1 |
BFD key. More... | |
uint64 | SLBfdv4GetMsg::SeqNum = 2 |
Global BFD event sequence number. More... | |
uint32 | SLBfdv4GetMsg::EntriesCount = 3 |
Number of entries requested. | |
bool | SLBfdv4GetMsg::GetNext = 4 |
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 | |
SLBfdv4Key | SLBfdv4SessionCfgState::Key = 1 |
BFD unique key identifier. | |
SLBfdConfigCommon | SLBfdv4SessionCfgState::Config = 2 |
BFD common features. | |
SLBfdCommonState | SLBfdv4SessionCfgState::State = 3 |
BFD session State. | |
bool | SLBfdv4GetMsgRsp::Eof = 1 |
End Of File. More... | |
SLErrorStatus | SLBfdv4GetMsgRsp::ErrStatus = 2 |
Status of the Get operation. | |
repeated SLBfdv4SessionCfgState | SLBfdv4GetMsgRsp::Entries = 3 |
Returned entries as requested in the Get operation. More... | |
SLBfdv4Key | SLBfdv4SessionState::Key = 1 |
BFD unique key identifier. | |
SLBfdCommonState | SLBfdv4SessionState::State = 2 |
BFD session State. | |
SLBfdNotifType | SLBfdv4Notif::EventType = 1 |
Event Type. | |
SLErrorStatus SLBfdv4Notif::ErrStatus = 2 | |
case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More... | |
SLBfdv4SessionState SLBfdv4Notif::Session = 3 | |
case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info | |
oneof { | |
SLErrorStatus SLBfdv4Notif::ErrStatus = 2 | |
case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More... | |
SLBfdv4SessionState SLBfdv4Notif::Session = 3 | |
case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info | |
}; | |
Further info based on EventType. | |
rpc SLBfdv4Oper::SLBfdv4GetNotifStream | ( | SLBfdGetNotifMsg | ) |
BFD notifications.
This call is used to get a stream of session state notifications. The caller must maintain the GRPC channel as long as there is interest in BFD session notifications. Only sessions that were created through this API will be notified to caller. This call can be used to get "push" notifications for session states. It is advised that the caller register for notifications before any sessions are created to avoid any loss of notifications.
rpc SLBfdv4Oper::SLBfdv4RegOp | ( | SLBfdRegMsg | ) |
BFD Registration Operations.
SLBfdRegMsg.Oper = SL_REGOP_REGISTER: Global BFD registration. A client Must Register BEFORE BFD sessions can be added/modified.
SLBfdRegMsg.Oper = SL_REGOP_UNREGISTER: Global BFD un-registration. This call is used to end all BFD notifications and unregister any interest in BFD session configuration. This call cleans up all BFD sessions previously requested.
SLBfdRegMsg.Oper = SL_REGOP_EOF: BFD End Of File. 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 BFD sessions.
The BFD registration operations can be used by the client to synchronize BFD sessions with the server. When the client re-registers with the server using SL_REGOP_REGISTER, server marks all BFD sessions as stale. Client can then reprogram BFD sessions. When client sends SL_REGOP_EOF, any session not reprogrammed by the client are removed from the device.
The client must perform all operations (BFD registration, BFD session operations) from a single execution context.
rpc SLBfdv4Oper::SLBfdv4SessionGet | ( | SLBfdv4GetMsg | ) |
Retrieve BFD session attributes and state.
This call can be used to "poll" the current state of a session.
rpc SLBfdv4Oper::SLBfdv4SessionOp | ( | SLBfdv4Msg | ) |
BFD session operations.
SLBfdv4Msg.Oper = SL_OBJOP_ADD: Add one or multiple BFD sessions.
SLBfdv4Msg.Oper = SL_OBJOP_UPDATE: Update one or multiple BFD sessions.
SLBfdv4Msg.Oper = SL_OBJOP_DELETE: Delete one or multiple BFD sessions.
message SLBfdv4Key |
BFD unique key identifier.
Attributes | |
SLBfdType | Type = 1 |
BFD Session Type. | |
string | VrfName = 2 |
VRF name. | |
uint32 | NbrAddr = 3 |
Neighbor Ipv4 address. | |
SLInterface | Interface = 4 |
Interface name and handle, needed for single-hop BFD. | |
uint32 | SourceAddr = 5 |
Source Ipv4 address, needed for multi-hop BFD. | |
message SLBfdv4SessionCfg |
BFD session information.
Attributes | |
SLBfdv4Key | Key = 1 |
BFD unique key identifier. | |
SLBfdConfigCommon | Config = 2 |
BFD common features. | |
message SLBfdv4Msg |
Contains a List of BFD session objects.
Attributes | |
SLObjectOp | Oper = 1 |
BFD Object Operations. | |
repeated SLBfdv4SessionCfg | Sessions = 2 |
List of BFD session objects. | |
message SLBfdv4Res |
BFD result.
Attributes | |
SLErrorStatus | ErrStatus = 1 |
Corresponding error code. | |
SLBfdv4Key | Key = 2 |
BFD unique key. | |
message SLBfdv4MsgRsp |
BFD bulk result.
Attributes | |
SLErrorStatus | StatusSummary = 1 |
Summary result of the bulk operation (refer to enum SLErrorStatus) In general, the StatusSummary implies one of 3 things: More... | |
repeated SLBfdv4Res | Results = 2 |
In case of errors, this field indicates which entry in the bulk was erroneous. More... | |
message SLBfdv4GetMsg |
BFD Get Message.
Attributes | |
SLBfdv4Key | Key = 1 |
BFD key. More... | |
uint64 | SeqNum = 2 |
Global BFD event sequence number. More... | |
uint32 | EntriesCount = 3 |
Number of entries requested. | |
bool | GetNext = 4 |
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 | |
message SLBfdv4SessionCfgState |
BFD Session Config and State info.
Attributes | |
SLBfdv4Key | Key = 1 |
BFD unique key identifier. | |
SLBfdConfigCommon | Config = 2 |
BFD common features. | |
SLBfdCommonState | State = 3 |
BFD session State. | |
message SLBfdv4GetMsgRsp |
BFD Get Message Response.
Attributes | |
bool | Eof = 1 |
End Of File. More... | |
SLErrorStatus | ErrStatus = 2 |
Status of the Get operation. | |
repeated SLBfdv4SessionCfgState | Entries = 3 |
Returned entries as requested in the Get operation. More... | |
message SLBfdv4SessionState |
BFD Session and State info.
Attributes | |
SLBfdv4Key | Key = 1 |
BFD unique key identifier. | |
SLBfdCommonState | State = 2 |
BFD session State. | |
message SLBfdv4Notif |
BFD Session and State info Message.
Attributes | |
SLBfdNotifType | EventType = 1 |
Event Type. | |
oneof { | |
SLErrorStatus SLBfdv4Notif::ErrStatus = 2 | |
case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More... | |
SLBfdv4SessionState SLBfdv4Notif::Session = 3 | |
case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info | |
}; | |
Further info based on EventType. | |
repeated SLBfdv4SessionCfgState SLBfdv4GetMsgRsp::Entries = 3 |
Returned entries as requested in the Get operation.
if Error is SL_SUCCESS, Entries contains the info requested
bool SLBfdv4GetMsgRsp::Eof = 1 |
End Of File.
When set to True, it indicates that the server has returned M, where M < N, of the original N requested Entries.
SLErrorStatus SLBfdv4Notif::ErrStatus = 2 |
case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription.
SLErrorStatus { ... } ::ErrStatus |
case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription.
SLBfdv4Key SLBfdv4GetMsg::Key = 1 |
BFD key.
If the Key is not specified, then request up to the first 'EntriesCount' entries.
repeated SLBfdv4Res SLBfdv4MsgRsp::Results = 2 |
In case of errors, this field indicates which entry in the bulk was erroneous.
uint64 SLBfdv4GetMsg::SeqNum = 2 |
Global BFD event sequence number.
Return all BFD sessions with sequence number >= SeqNum.
SLErrorStatus SLBfdv4MsgRsp::StatusSummary = 1 |
Summary result of the bulk operation (refer to enum SLErrorStatus) In general, the StatusSummary implies one of 3 things: