Cisco Service Layer API Documentation

SLBfdIPv4Oper

Service Description

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 Documentation

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 Documentation

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.
 

Variable Documentation

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:

  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.