Cisco Service Layer API Documentation

SLBfdIPv4Oper

Service Description

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.
 
oneof SLBfdv4Notif::Event
 Further info based on EventType. More...
 
SLBfdv4SessionState SLBfdv4Notif::Session = 3
 case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info
 

RPC Documentation

rpc SLBfdv4Oper::SLBfdv4GetNotifStream ( SLBfdGetNotifMsg  )

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  )

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.

rpc SLBfdv4Oper::SLBfdv4SessionGet ( SLBfdv4GetMsg  )

This call can be used to "poll" the current state of a session.

rpc SLBfdv4Oper::SLBfdv4SessionOp ( SLBfdv4Msg  )

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 Documentation

message SLBfdv4Key

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

Attributes

SLBfdv4Key Key = 1
 BFD unique key identifier.
 
SLBfdConfigCommon Config = 2
 BFD common features.
 
message SLBfdv4Msg

Attributes

SLObjectOp Oper = 1
 BFD Object Operations.
 
repeated SLBfdv4SessionCfg Sessions = 2
 List of BFD session objects.
 
message SLBfdv4Res

Attributes

SLErrorStatus ErrStatus = 1
 Corresponding error code.
 
SLBfdv4Key Key = 2
 BFD unique key.
 
message SLBfdv4MsgRsp

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

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

Attributes

SLBfdv4Key Key = 1
 BFD unique key identifier.
 
SLBfdConfigCommon Config = 2
 BFD common features.
 
SLBfdCommonState State = 3
 BFD session State.
 
message SLBfdv4GetMsgRsp

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

Attributes

SLBfdv4Key Key = 1
 BFD unique key identifier.
 
SLBfdCommonState State = 2
 BFD session State.
 
message SLBfdv4Notif

Attributes

SLBfdNotifType EventType = 1
 Event Type.
 
oneof Event
 Further info based on EventType. More...
 
SLBfdv4SessionState Session = 3
 case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info
 

Variable Documentation

repeated SLBfdv4SessionCfgState SLBfdv4GetMsgRsp::Entries = 3

if Error is SL_SUCCESS, Entries contains the info requested

bool SLBfdv4GetMsgRsp::Eof = 1

When set to True, it indicates that the server has returned M, where M < N, of the original N requested Entries.

oneof SLBfdv4Notif::Event
Initial value:
{
SLErrorStatus ErrStatus = 2
SLBfdv4Key SLBfdv4GetMsg::Key = 1

If the Key is not specified, then request up to the first 'EntriesCount' entries.

repeated SLBfdv4Res SLBfdv4MsgRsp::Results = 2
uint64 SLBfdv4GetMsg::SeqNum = 2

Return all BFD sessions with sequence number >= SeqNum.

SLErrorStatus SLBfdv4MsgRsp::StatusSummary = 1
  1. SL_SUCCESS: signifies that the entire bulk operation was successful. In this case, the Results list is empty.
  2. 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.
  3. SL_RPC_XXX: signifies that the entire bulk operation failed. In this case, the Results list is empty.