Cisco Service Layer API Documentation

SLGlobal

Service Description

Global Initialization and Notifications.

The following RPCs are used in global initialization and capability queries.

RPC Calls

rpc SLGlobal::SLGlobalInitNotif (SLInitMsg) returns(stream SLGlobalNotif)
 Initialize the connection, and setup a application level heartbeat channel. More...
 
rpc SLGlobal::SLGlobalsGet (SLGlobalsGetMsg) returns(SLGlobalsGetMsgRsp)
 Get platform specific globals.
 

Messages

message  SLInitMsg
 Initialization message sent to the server. More...
 
message  SLInitMsgRsp
 Server's response to the SLInitMsg. More...
 
message  SLVrfRouteReplayErrorNotif
 Routes replay error notification. More...
 
message  SLGlobalNotif
 Globals query message. More...
 
message  SLGlobalsGetMsg
 Globals query message. More...
 
message  SLGlobalsGetMsgRsp
 Platform specific globals Response. More...
 

Enumerations

enum  SLGlobalNotifType { SL_GLOBAL_EVENT_TYPE_RESERVED = 0x0, SL_GLOBAL_EVENT_TYPE_ERROR = 0x1, SL_GLOBAL_EVENT_TYPE_HEARTBEAT = 0x2, SL_GLOBAL_EVENT_TYPE_VERSION = 0x3 }
 Global Event Notification types. More...
 

RPC Documentation

rpc SLGlobal::SLGlobalInitNotif ( SLInitMsg  )

Initialize the connection, and setup a application level heartbeat channel.

The caller must send its version information as part of the SLInitMsg message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION that tells the caller whether he can proceed or not. Refer to message SLGlobalNotif below for further details.

After the version handshake, the notification channel is used for "push" event notifications, such as:

  • SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT heartbeat notification messages are sent to the client on a periodic basis. Refer to SLGlobalNotif definition for further info.

Message Documentation

message SLInitMsg

Initialization message sent to the server.

If the client and server are running compatible version numbers, a connection will be made and the server response will be received with a successful status code.

Attributes

uint32 MajorVer = 1
 Client's Major version of service-layer API (refer to sl_version.proto)
 
uint32 MinorVer = 2
 Minor Version.
 
uint32 SubVer = 3
 Sub-Version.
 
message SLInitMsgRsp

Server's response to the SLInitMsg.

On Success (ErrStatus), the session with the server is established and the client is allowed to proceed.

Attributes

uint32 MajorVer = 1
 Server's version of service-layer API (refer to sl_version.proto) Major-number revisions are NOT backwards compatible, unless otherwise specified. More...
 
uint32 MinorVer = 2
 Minor Version.
 
uint32 SubVer = 3
 Sub-Version.
 

Member Data Documentation

uint32 SLInitMsgRsp::MajorVer = 1

Server's version of service-layer API (refer to sl_version.proto) Major-number revisions are NOT backwards compatible, unless otherwise specified.

The Server may reject a session if there is a version number mismatch or non-backwards compatibility.

message SLVrfRouteReplayErrorNotif

Routes replay error notification.

Attributes

string VrfName = 1
 VRF Name.
 
message SLGlobalNotif

Globals query message.

Attributes

SLGlobalNotifType EventType = 1
 Event Type.
 
SLErrorStatus ErrStatus = 2
 Status code, interpreted based on the Event Type. More...
 
oneof {
   SLInitMsgRsp   InitRspMsg = 3
 case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: => this field carries the Server version number. More...
 
   SLVrfRouteReplayErrorNotif   VrfReplayErrorNotif = 4 [deprecated = true]
 case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: case ErrStatus == SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR: case ErrStatus == SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR: case ErrStatus == SL_VRF_V4_ROUTE_REPLAY_OK: case ErrStatus == SL_VRF_V6_ROUTE_REPLAY_OK: => this field carries the failed VRF information. More...
 
}; 
 Further info based on EventType.
 

Member Data Documentation

SLErrorStatus SLGlobalNotif::ErrStatus = 2

Status code, interpreted based on the Event Type.

case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: case ErrStatus == (some error from SLErrorStatus) => Client must look into the specific error message returned.

case EventType == SL_GLOBAL_EVENT_TYPE_HEARTBEAT: case ErrStatus == SL_SUCCESS => Client can safely ignore this heartbeat message.

case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: case ErrStatus == SL_SUCCESS => Client version accepted. case ErrStatus == SL_INIT_STATE_READY => Client version accepted. Any previous state was sucessfully recovered. case ErrStatus == SL_INIT_STATE_CLEAR => Client version accepted. Any previous state was lost. Client must replay all previous objects to server. case ErrStatus == SL_UNSUPPORTED_VER => Client and Server version mismatch. The client is not allowed to proceed, and the channel will be closed. case ErrStatus == (some error from SLErrorStatus) => Client must either try again, or look into the specific error message returned.

SLInitMsgRsp SLGlobalNotif::InitRspMsg = 3

case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: => this field carries the Server version number.

SLVrfRouteReplayErrorNotif SLGlobalNotif::VrfReplayErrorNotif = 4 [deprecated = true]

case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: case ErrStatus == SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR: case ErrStatus == SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR: case ErrStatus == SL_VRF_V4_ROUTE_REPLAY_OK: case ErrStatus == SL_VRF_V6_ROUTE_REPLAY_OK: => this field carries the failed VRF information.

message SLGlobalsGetMsg

Globals query message.

message SLGlobalsGetMsgRsp

Platform specific globals Response.

Attributes

SLErrorStatus ErrStatus = 1
 Corresponding error code.
 
uint32 MaxVrfNameLength = 2
 Maximum vrf name length.
 
uint32 MaxInterfaceNameLength = 3
 Maximum interface name length.
 
uint32 MaxPathsPerEntry = 4
 Maximum paths per Route/ILM Entry.
 
uint32 MaxPrimaryPathPerEntry = 5
 Maximum primary paths per Route/ILM Entry.
 
uint32 MaxBackupPathPerEntry = 6
 Maximum backup paths per Route/ILM Entry.
 
uint32 MaxMplsLabelsPerPath = 7
 Maximum MPLS labels per Route/ILM Entry.
 
uint32 MinPrimaryPathIdNum = 8
 Minimum Primary path id number.
 
uint32 MaxPrimaryPathIdNum = 9
 Maximum Primary path id number.
 
uint32 MinBackupPathIdNum = 10
 Minimum Pure Backup path id number.
 
uint32 MaxBackupPathIdNum = 11
 Maximum Pure Backup path id number.
 
uint32 MaxRemoteAddressNum = 12
 Maximum number of remote addresses.
 
uint32 MaxL2BdNameLength = 13
 Maximum Bridge Domain name length - used for L2 routes.
 
uint32 MaxL2PmsiTunnelIdLength = 14
 Maximum Provider Multicast Service Interface (PMSI) tunnel ID length. More...
 
uint32 MaxLabelBlockClientNameLength = 15
 Maximum label block client name length.
 
uint32 MaxPathsInNexthopNotif = 16
 Maximum paths returned by the network element for a next hop notification.
 
uint32 MaxVrfRegPerMsg = 17
 Max SLVrfReg objects within a SLVrfRegMsg or SLAFVrfRegMsg.
 
uint32 MaxAFOpsPerMsg = 18
 Max Route or AF objects within a single RouteMsg or SLAFMsg.
 
uint32 MaxNotifReqPerSLAFNotifReq = 19
 Max SLAFNotifRegReq requests in SLAFNotifReq.
 

Member Data Documentation

uint32 SLGlobalsGetMsgRsp::MaxL2PmsiTunnelIdLength = 14

Maximum Provider Multicast Service Interface (PMSI) tunnel ID length.

Used for L2 Inclusive Multicast Ethernet Tag (IMET) routes.

Enumeration Type Documentation

Global Event Notification types.

Enumerator
SL_GLOBAL_EVENT_TYPE_RESERVED 

Reserved. 0x0.

SL_GLOBAL_EVENT_TYPE_ERROR 

Error. ErrStatus field elaborates on the message. 0x1.

SL_GLOBAL_EVENT_TYPE_HEARTBEAT 

HeartBeat. 0x2.

SL_GLOBAL_EVENT_TYPE_VERSION 

Version. SLInitMsgRsp field elaborates on the server version. 0x3.