Cisco Service Layer API Documentation

SLBfdIPv6Oper

Service Description

Used for IPv6 BFD registrations, and BFD session operations and notifications.

Defines the RPC for adding, deleting, updating, and retrieving BFD sessions.

RPC Calls

rpc SLBfdv6Oper::SLBfdv6RegOp (SLBfdRegMsg) returns(SLBfdRegMsgRsp)
 BFD Registration Operations. More...
 
rpc SLBfdv6Oper::SLBfdv6Get (SLBfdGetMsg) returns(SLBfdGetMsgRsp)
 Used to retrieve global BFD info from the server.
 
rpc SLBfdv6Oper::SLBfdv6GetStats (SLBfdGetMsg) returns(SLBfdGetStatsMsgRsp)
 Used to retrieve global BFD stats from the server.
 
rpc SLBfdv6Oper::SLBfdv6GetNotifStream (SLBfdGetNotifMsg) returns(stream SLBfdv6Notif)
 BFD notifications. More...
 
rpc SLBfdv6Oper::SLBfdv6SessionOp (SLBfdv6Msg) returns(SLBfdv6MsgRsp)
 BFD session operations. More...
 
rpc SLBfdv6Oper::SLBfdv6SessionGet (SLBfdv6GetMsg) returns(SLBfdv6GetMsgRsp)
 Retrieve BFD session attributes and state. More...
 

Messages

message  SLBfdv6Key
 BFD unique key identifier. More...
 
message  SLBfdv6SessionCfg
 BFD session information. More...
 
message  SLBfdv6Msg
 Contains a List of BFD session objects. More...
 
message  SLBfdv6Res
 BFD result. More...
 
message  SLBfdv6MsgRsp
 BFD bulk result. More...
 
message  SLBfdv6GetMsg
 BFD Get Message. More...
 
message  SLBfdv6SessionCfgState
 BFD Session Config and State info. More...
 
message  SLBfdv6GetMsgRsp
 BFD Get Message Response. More...
 
message  SLBfdv6SessionState
 BFD Session and State info. More...
 
message  SLBfdv6Notif
 BFD Session and State info Message. More...
 

Variables

SLBfdType SLBfdv6Key::Type = 1
 BFD Session Type.
 
string SLBfdv6Key::VrfName = 2
 VRF name.
 
bytes SLBfdv6Key::NbrAddr = 3
 Neighbor Ipv6 address.
 
SLInterface SLBfdv6Key::Interface = 4
 Interface name and handle, needed for single-hop BFD.
 
bytes SLBfdv6Key::SourceAddr = 5
 Source Ipv6 address, needed for multi-hop BFD.
 
SLBfdv6Key SLBfdv6SessionCfg::Key = 1
 BFD unique key identifier.
 
SLBfdConfigCommon SLBfdv6SessionCfg::Config = 2
 BFD common features.
 
SLObjectOp SLBfdv6Msg::Oper = 1
 BFD Object Operations.
 
repeated SLBfdv6SessionCfg SLBfdv6Msg::Sessions = 2
 List of BFD session objects.
 
SLErrorStatus SLBfdv6Res::ErrStatus = 1
 Corresponding error code.
 
SLBfdv6Key SLBfdv6Res::Key = 2
 BFD unique key.
 
SLErrorStatus SLBfdv6MsgRsp::StatusSummary = 1
 Summary result of the bulk operation (refer to enum SLErrorStatus) In general, the StatusSummary implies one of 3 things: More...
 
repeated SLBfdv6Res SLBfdv6MsgRsp::Results = 2
 In case of errors, this field indicates which entry in the bulk was erroneous. More...
 
SLBfdv6Key SLBfdv6GetMsg::Key = 1
 BFD key. More...
 
uint64 SLBfdv6GetMsg::SeqNum = 2
 Global BFD event sequence number. More...
 
uint32 SLBfdv6GetMsg::EntriesCount = 3
 Number of entries requested.
 
bool SLBfdv6GetMsg::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
 
SLBfdv6Key SLBfdv6SessionCfgState::Key = 1
 BFD unique key identifier.
 
SLBfdConfigCommon SLBfdv6SessionCfgState::Config = 2
 BFD common features.
 
SLBfdCommonState SLBfdv6SessionCfgState::State = 3
 BFD session State.
 
bool SLBfdv6GetMsgRsp::Eof = 1
 End Of File. More...
 
SLErrorStatus SLBfdv6GetMsgRsp::ErrStatus = 2
 Status of the Get operation.
 
repeated SLBfdv6SessionCfgState SLBfdv6GetMsgRsp::Entries = 3
 Returned entries as requested in the Get operation. More...
 
SLBfdv6Key SLBfdv6SessionState::Key = 1
 BFD unique key identifier.
 
SLBfdCommonState SLBfdv6SessionState::State = 2
 BFD session State.
 
SLBfdNotifType SLBfdv6Notif::EventType = 1
 Event Type.
 
SLErrorStatus   SLBfdv6Notif::ErrStatus = 2
 case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More...
 
SLBfdv6SessionState   SLBfdv6Notif::Session = 3
 case EventType == SL_BFD_EVENT_TYPE_SESSION_STATE: => this field carries the session state info
 
oneof {
   SLErrorStatus   SLBfdv6Notif::ErrStatus = 2
 case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More...
 
   SLBfdv6SessionState   SLBfdv6Notif::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 SLBfdv6Oper::SLBfdv6GetNotifStream ( 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 SLBfdv6Oper::SLBfdv6RegOp ( 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 SLBfdv6Oper::SLBfdv6SessionGet ( SLBfdv6GetMsg  )

Retrieve BFD session attributes and state.

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

rpc SLBfdv6Oper::SLBfdv6SessionOp ( SLBfdv6Msg  )

BFD session operations.

SLBfdv6Msg.Oper = SL_OBJOP_ADD: Add one or multiple BFD sessions.

SLBfdv6Msg.Oper = SL_OBJOP_UPDATE: Update one or multiple BFD sessions.

SLBfdv6Msg.Oper = SL_OBJOP_DELETE: Delete one or multiple BFD sessions.


Message Documentation

message SLBfdv6Key

BFD unique key identifier.

Attributes

SLBfdType Type = 1
 BFD Session Type.
 
string VrfName = 2
 VRF name.
 
bytes NbrAddr = 3
 Neighbor Ipv6 address.
 
SLInterface Interface = 4
 Interface name and handle, needed for single-hop BFD.
 
bytes SourceAddr = 5
 Source Ipv6 address, needed for multi-hop BFD.
 
message SLBfdv6SessionCfg

BFD session information.

Attributes

SLBfdv6Key Key = 1
 BFD unique key identifier.
 
SLBfdConfigCommon Config = 2
 BFD common features.
 
message SLBfdv6Msg

Contains a List of BFD session objects.

Attributes

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

BFD result.

Attributes

SLErrorStatus ErrStatus = 1
 Corresponding error code.
 
SLBfdv6Key Key = 2
 BFD unique key.
 
message SLBfdv6MsgRsp

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 SLBfdv6Res Results = 2
 In case of errors, this field indicates which entry in the bulk was erroneous. More...
 
message SLBfdv6GetMsg

BFD Get Message.

Attributes

SLBfdv6Key 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 SLBfdv6SessionCfgState

BFD Session Config and State info.

Attributes

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

BFD Get Message Response.

Attributes

bool Eof = 1
 End Of File. More...
 
SLErrorStatus ErrStatus = 2
 Status of the Get operation.
 
repeated SLBfdv6SessionCfgState Entries = 3
 Returned entries as requested in the Get operation. More...
 
message SLBfdv6SessionState

BFD Session and State info.

Attributes

SLBfdv6Key Key = 1
 BFD unique key identifier.
 
SLBfdCommonState State = 2
 BFD session State.
 
message SLBfdv6Notif

BFD Session and State info Message.

Attributes

SLBfdNotifType EventType = 1
 Event Type.
 
oneof {
   SLErrorStatus   SLBfdv6Notif::ErrStatus = 2
 case EventType == SL_BFD_EVENT_TYPE_ERROR: => This field carries error info, if any error occurs during notification subscription. More...
 
   SLBfdv6SessionState   SLBfdv6Notif::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 SLBfdv6SessionCfgState SLBfdv6GetMsgRsp::Entries = 3

Returned entries as requested in the Get operation.

if Error is SL_SUCCESS, Entries contains the info requested

bool SLBfdv6GetMsgRsp::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 SLBfdv6Notif::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.

SLBfdv6Key SLBfdv6GetMsg::Key = 1

BFD key.

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

repeated SLBfdv6Res SLBfdv6MsgRsp::Results = 2

In case of errors, this field indicates which entry in the bulk was erroneous.

uint64 SLBfdv6GetMsg::SeqNum = 2

Global BFD event sequence number.

Return all BFD sessions with sequence number >= SeqNum.

SLErrorStatus SLBfdv6MsgRsp::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.