SR Linux NDK 0.2.0 Protobuf Documentation[src]

AppIdentData

Represents appid data.

Field Type Label Description
name string

Application name

author string

Author name

is_connected bool

Connected to IDB or not

version string

Version string

AppIdentKey

Represents appid key.

Field Type Label Description
id uint32

Application id

AppIdentNotification

Represents appid notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key AppIdentKey

AppIdent key

data AppIdentData

AppIdent data

AppIdentSubscriptionRequest

Represents appid subscription request.

Field Type Label Description
key AppIdentKey

Optional, to filter on name

BfdSessionNotification

Represents BFD session notification.

Field Type Label Description
op SdkMgrOperation

Operation such as session create, delete, or update

key BfdmgrGeneralSessionKeyPb

Session key

data BfdmgrGeneralSessionDataPb

Session data

BfdSessionSubscriptionRequest

Represents BFD session subscription request.

Field Type Label Description
key BfdmgrGeneralSessionKeyPb

Optional, to filter on name

BfdmgrGeneralSessionDataPb

Represents BFD session data.

Field Type Label Description
status BfdmgrSessionStatus

Status of the session

sub_type BfdmgrGeneralSessionDataPb.BfdmgrSessionSubType

Subtype of the session

src_if_id uint32

src_if_id is only populated for P2P type Source interface ID

BfdmgrGeneralSessionKeyPb

Represents BFD session key.

Field Type Label Description
type BfdmgrSessionType

type is always present, other key field presence is determined by type Session type

p2p BfdmgrGeneralSessionKeyPb.P2pKey

microbfd BfdmgrGeneralSessionKeyPb.MicrobfdKey

sbfdecho BfdmgrGeneralSessionKeyPb.SbfdechoKey

BfdmgrGeneralSessionKeyPb.MicrobfdKey

Field Type Label Description
interface_name string

BfdmgrGeneralSessionKeyPb.P2pKey

Field Type Label Description
src_ip_addr IpAddressPb

Source IP address of the session

dst_ip_addr IpAddressPb

Destination IP address of the session

instance_id uint32

Network instance identifier

ipv6_ll_if_id uint32

Global if id for ipv6 link local session, otherwise 0

specified_discr bool

True if discriminators are specified

BfdmgrGeneralSessionKeyPb.SbfdechoKey

Field Type Label Description
instance_id uint32

Network instance identifier

sr_policy_segment_list_id uint32

sr_policy_color uint32

sr_policy_endpoint IpAddressPb

BfdmgrGeneralSessionDataPb.BfdmgrSessionSubType

Represents BFD session subtype.

NameNumberDescription
SESSION_SUB_TYPE_UNKNOWN 0

Session subtype unknown

SESSION_SUB_TYPE_SINGLE_HOP 1

Single-hop session

SESSION_SUB_TYPE_MULTI_HOP 2

Multi-hop session

SESSION_SUB_TYPE_MICROBFD 3

microbfd session

SESSION_SUB_TYPE_SBFD_ECHO 4

microbfd session

BfdmgrSessionStatus

Represents BFD session status.

NameNumberDescription
INVALID 0

Session invalid

ADMIN_DOWN 1

Admin down

DOWN 2

Status down

INIT 3

Status initializing

UP 4

Status up and running

BfdmgrSessionType

Represents BFD session type.

NameNumberDescription
SESSION_TYPE_UNKNOWN 0

Unknown session type

SESSION_TYPE_P2P 1

Peer-to-peer session type

SESSION_TYPE_MICROBFD 2

microbfd session type

SESSION_TYPE_SBFD_ECHO 3

seamless BFD session type, echo initiator

ConfigData

Represents configuration data.

Field Type Label Description
json string

Entire configuration fragment as JSON string

data bytes

Entire configuration fragment as binary data

ConfigKey

Represents configuration key.

Field Type Label Description
js_path string

JSON path formatted string from YANG; for example, interface.my_field

keys string repeated

Value for keys

js_path_with_keys string

JSON path formatted string from YANG; for example, interface{.name==ethernet1/1}.my_field

ConfigNotification

Represents configuration notification message to subscribe to configuration events

Field Type Label Description
op SdkMgrOperation

Operation indicating create, delete, or update

key ConfigKey

Configuration key

data ConfigData

Configuration data

ConfigSubscriptionRequest

Represents configuration subscription request.

Field Type Label Description
key ConfigKey

Optional, to filter on name

InterfaceData

Represents interface data.

Field Type Label Description
admin_is_up uint32

Admin state

mtu uint32

Maximum transmission unit

if_type IfMgrIfType

Interface type; for example, loopback, physical, or LAG

port_id PortIdPb

Port identifier

description string

Interface description

mac_addr MacAddressPb

MAC address

aggregate_id string

associated aggregate id

oper_is_up uint32

Operational state

InterfaceKey

Represents interface key.

Field Type Label Description
if_name string

Interface name; for example, ethernet 1/1

InterfaceNotification

Represents interface notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key InterfaceKey

Interface key

data InterfaceData

Interface data

InterfaceSubscriptionRequest

Represents interface subscription request.

Field Type Label Description
key InterfaceKey

Optional, to filter on name

LldpNeighborDataPb

Represents LLDP neighbor data.

Field Type Label Description
port_id string

Port identifier

port_type LldpNeighborDataPb.PortSubType

Port type

source_mac MacAddressPb

Port MAC address

bgp_peer_address IpAddressPb repeated

LLDP BGP autodiscovered addresses

bgp_group_id uint32

BGP group identifier

system_name string

System name

system_description string

System description

LldpNeighborKeyPb

Represents LLDP neighbor key.

Field Type Label Description
interface_name string

Local interface name

chassis_id string

Chassis identifier

chassis_type LldpNeighborKeyPb.ChassisIdType

Chassis type

LldpNeighborNotification

Represents LLDP neighbor notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key LldpNeighborKeyPb

LLDP neighbor key

data LldpNeighborDataPb

LLDP neighbor data

LldpNeighborSubscriptionRequest

Represents LLDP neighbor subscription request.

Field Type Label Description
key LldpNeighborKeyPb

Optional, to filter on name

LldpNeighborDataPb.PortSubType

Represents port subtype.

NameNumberDescription
RESERVED 0

Reserved for future use

INTERFACE_ALIAS 1

Alias of the interface

PORT_COMPONENT 2

Port identifier based on a locally defined port component

MAC_ADDRESS 3

MAC address

NETWORK_ADDRESS 4

Network address

INTERFACE_NAME 5

Name of the interface

AGENT_CIRCUIT_ID 6

Port identifier based on the circuit ID in the DHCP relay agent information option

LOCALLY_ASSIGNED 7

Port identifier based on a locally defined alphanumeric string

LldpNeighborKeyPb.ChassisIdType

Represents chassis type.

NameNumberDescription
RESERVED 0

Reserved for future use

CHASSIS_COMPONENT 1

Chassis identifier based on a locally defined chassis component

INTERFACE_ALIAS 2

Alias of the interface

PORT_COMPONENT 3

Chassis identifier based on a locally defined port component

MAC_ADDRESS 4

MAC address

NETWORK_ADDRESS 5

Network address

INTERFACE_NAME 6

Name of the interface

LOCALLY_ASSIGNED 7

Chassis identifier based on a locally defined value

MplsRouteAddRequest

Represents MPLS route add request, which can include one or more MPLS routes.

Field Type Label Description
routes MplsRouteInfo repeated

MPLS routes

MplsRouteAddResponse

Represents MPLS route add response.

Field Type Label Description
status SdkMgrStatus

Status of MPLS route add request

error_str string

Detailed error string

MplsRouteDeleteRequest

Represents MPLS route delete request, which can include one or more MPLS routes.

Field Type Label Description
routes MplsRouteKeyPb repeated

MPLS routes

MplsRouteDeleteResponse

Represents MPLS route delete response.

Field Type Label Description
status SdkMgrStatus

Status of MPLS route delete request

error_str string

Detailed error string

MplsRouteInfo

Represents MPLS route information; contains key and data.

Field Type Label Description
key MplsRouteKeyPb

MPLS route key

data MplsRoutePb

MPLS route data

MplsRouteKeyPb

Represents MPLS route key.

Field Type Label Description
top_label MplsLabel

Top label

net_inst_name string

Network instance name

MplsRoutePb

Represents MPLS route data.

Field Type Label Description
nexthop_group_name string

Next hop group name

operation MplsRoutePb.Operation

Operation such as POP or SWAP

preference uint32

Route preference

MplsRoutePb.Operation

Represents MPLS operation.

NameNumberDescription
INVALID_OP 0

Invalid operation

POP 1

Pop operation

SWAP 2

Swap operation

SdkMgrMplsRouteService

Represents service for MPLS programming.

Method NameRequest TypeResponse TypeDescription
MplsRouteAddOrUpdate MplsRouteAddRequest MplsRouteAddResponse

MPLS route add or update; can add or update more than one MPLS route in one request

MplsRouteDelete MplsRouteDeleteRequest MplsRouteDeleteResponse

MPLS route delete; can delete more than one MPLS route in one request

SyncStart SyncRequest SyncResponse

Synchronization start to begin synchronization operation

SyncEnd SyncRequest SyncResponse

Synchronization end to close synchronization operation

Methods with deprecated option

Method Name Option
MplsRouteAddOrUpdate

true

MplsRouteDelete

true

NetworkInstanceData

Represents network instance data.

Field Type Label Description
net_inst_id uint32

Network instance identifier

base_name string

Base name

oper_is_up bool

Operation status

router_id string

Router identifier

inst_type NetworkInstanceData.NetInstType

Network instance type

NetworkInstanceKey

Represents network instance key.

Field Type Label Description
inst_name string

Network instance name

NetworkInstanceNotification

Represents network instance notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key NetworkInstanceKey

Network key

data NetworkInstanceData

Network data

NetworkInstanceSubscriptionRequest

Represents network instance subscription request.

NetworkInstanceData.NetInstType

Represents network instance type.

NameNumberDescription
DEFAULT 0

Default network instance type

L3VRF 1

L3VRF network instance type

MplsNextHop

Represents MPLS next hop.

Field Type Label Description
ip_nexthop IpAddressPb

Next-hop IP address

label_stack MplsLabel repeated

MPLS label stack

NextHop

Represents next-hop.

Field Type Label Description
resolve_to NextHop.ResolveToType

Resolve-to type

type NextHop.ResolutionType

Resolution type

ip_nexthop IpAddressPb

IP next-hop address

mpls_nexthop MplsNextHop

MPLS next-hop

NextHopGroup

Represents next-hop group.

Field Type Label Description
next_hop NextHop repeated

Next-hops

NextHopGroupDeleteRequest

Represents next-hop group delete request.

Field Type Label Description
group_key NextHopGroupKey repeated

Next-hop group key details

NextHopGroupDeleteResponse

Represents next-hop group delete response.

Field Type Label Description
status SdkMgrStatus

Response for next-hop group request

error_str string

Detailed error string

NextHopGroupInfo

Represents next-hop group information.

Field Type Label Description
key NextHopGroupKey

Next-hop group key

data NextHopGroup

Next-hop group data

NextHopGroupKey

Represents next-hop group key.

Field Type Label Description
name string

Next-hop group name

network_instance_name string

Next-hop group network instance name

NextHopGroupNotification

Represents next-hop group notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key uint64

Next-hop group key

data NextHopGroup

Next-hop group data

NextHopGroupRequest

Represents next-hop group request.

Field Type Label Description
group_info NextHopGroupInfo repeated

Next-hop group details

NextHopGroupResponse

Represents next-hop group response.

Field Type Label Description
status SdkMgrStatus

Response for next-hop group request

error_str string

Detailed error string

NextHopGroupSubscriptionRequest

Represents next-hop group subscription request.

Field Type Label Description
key NextHopGroupKey

Optional, to filter on name

NextHop.ResolutionType

Represents resolution type.

NameNumberDescription
INVALID 0

Invalid resolution

REGULAR 1

Regular resolution

MPLS 2

MPLS resolution

NextHop.ResolveToType

Represents resolve-to type.

NameNumberDescription
LOCAL 0

Resolve to local routes

DIRECT 1

Resolve to direct routes

INDIRECT 2

Resolve to indirect routes

SdkMgrNextHopGroupService

Represents service for next-hop group operations.

Method NameRequest TypeResponse TypeDescription
NextHopGroupAddOrUpdate NextHopGroupRequest NextHopGroupResponse

Add or update one or more next-hop groups.

NextHopGroupDelete NextHopGroupDeleteRequest NextHopGroupDeleteResponse

Delete next-hop group.

SyncStart SyncRequest SyncResponse

Synchronization start to open synchronization operation.

SyncEnd SyncRequest SyncResponse

Synchronization end to close synchronization operation.

IpRouteNotification

Represents IP route notification.

Field Type Label Description
op SdkMgrOperation

Operation such as create, delete, or update

key RouteKeyPb

IP route key

data RoutePb

IP route data

IpRouteSubscriptionRequest

Represents IP route subscription request.

Field Type Label Description
key RouteKeyPb

Optional, to filter on name

RouteAddRequest

Represents route add request; can contain more than one route.

Field Type Label Description
routes RouteInfo repeated

IP routes

RouteAddResponse

Represents route add response.

Field Type Label Description
status SdkMgrStatus

Status of route add operation

error_str string

Detailed error string

RouteDeleteRequest

Represents route delete request; can contain more than one route.

Field Type Label Description
routes RouteKeyPb repeated

IP routes

RouteDeleteResponse

Represents route delete response.

Field Type Label Description
status SdkMgrStatus

Status of route delete operation

error_str string

Detailed error string

RouteInfo

Represents route information.

Field Type Label Description
key RouteKeyPb

Route key

data RoutePb

Route data

RouteKeyPb

Represents route key.

Field Type Label Description
net_inst_name string

Network instance name

ip_prefix IpAddrPrefLenPb

IP prefix

RoutePb

Represents route data.

Field Type Label Description
nexthop_group_name string

Next hop group name

preference uint32

Preference

metric uint32

Metric

nexthop NextHop repeated

List of next hops

owner_id uint32

Next hop owner identifier returned only on notification.

nhg_id uint64

Next-hop group identifier returned only on notification.

SdkMgrRouteService

Represents service for IP route operations.

Method NameRequest TypeResponse TypeDescription
RouteAddOrUpdate RouteAddRequest RouteAddResponse

Add or update IP routes.

RouteDelete RouteDeleteRequest RouteDeleteResponse

Delete IP routes.

SyncStart SyncRequest SyncResponse

Synchronization start for IP routes

SyncEnd SyncRequest SyncResponse

Synchronization end for IP routes

AgentReply

Empty message from agent.

EvpnEthSegIdPb

Field Type Label Description
es_id bytes

Type 0 for now. hard-coded id

GlobalIfId

Represents global interface identifier.

Field Type Label Description
global_if_id uint32

Global interface identifier

IpAddrPrefLenPb

Represents IP prefix.

Field Type Label Description
ip_addr IpAddressPb

IP address

prefix_length uint32

IP address prefix length

IpAddressPb

Represents IP address.

Field Type Label Description
addr bytes

IP address

IpInterfaceAddrPrefixPb

Represents IP prefix state.

Field Type Label Description
prefix IpAddrPrefLenPb

IP prefix

state IpAddressState

IP prefix state

MacAddressPb

Represents MAC address.

Field Type Label Description
mac_address bytes

MAC address

MplsLabel

Represents MPLS label.

Field Type Label Description
mpls_label uint32

MPLS label

NetInstanceId

Represents network instance identifier.

Field Type Label Description
instance_id uint32

Network instance identifier

PortIdPb

Represents port identifier.

Field Type Label Description
port_id uint64

Port identifier

SyncRequest

Empty message for synchronization request.

SyncResponse

Empty message for synchronization end.

Field Type Label Description
status SdkMgrStatus

Error code

error_str string

Detailed error string

IfEthernetDuplexModeType

Represents interface ethernet duplex mode. Corresponds to yang values

NameNumberDescription
IF_ETH_DUPLEX_MODE_UNSET 0

duplex mode not supported

IF_ETH_DUPLEX_MODE_FULL 1

IF_ETH_DUPLEX_MODE_HALF 2

IfEthernetPortSpeedType

Represents interface ethernet port speed. Corresponds to yang values

NameNumberDescription
IF_ETH_PORT_SPEED_UNSET 0

Speed unknown

IF_ETH_PORT_SPEED_10M 1

IF_ETH_PORT_SPEED_100M 2

IF_ETH_PORT_SPEED_1G 3

IF_ETH_PORT_SPEED_10G 4

IF_ETH_PORT_SPEED_25G 5

IF_ETH_PORT_SPEED_40G 6

IF_ETH_PORT_SPEED_50G 7

IF_ETH_PORT_SPEED_100G 8

IF_ETH_PORT_SPEED_200G 9

IF_ETH_PORT_SPEED_400G 10

IF_ETH_PORT_SPEED_1T 11

IfLoopbackModeType

Represents interface loopback mode. Corresponds to yang values

NameNumberDescription
IF_LOOPBACK_MODE_UNSET 0

loopback mode not supported

IF_LOOPBACK_MODE_NONE 1

IF_LOOPBACK_MODE_FACILITY 2

IF_LOOPBACK_MODE_TERMINAL 3

IfMgrIfType

Represents interface type.

NameNumberDescription
ETHERNET 0

Ethernet interface

LOOPBACK 1

Loopback interface

MANAGEMENT 2

Management interface

AGGREGATE 3

Aggregate(LAG) interface

IRB 4

Integrated Routing and Bridging (IRB) interface

SYSTEM 5

System interface

LIF 6

linux interface

NIC 7

linux nic interface (bus/dev/fn)

VHOST 8

vhost-net interface, vhn- name for sock-path

KKLIF 9

temp name for new style of lif interface

KKVHOST 10

temp name for new style of vhost interface

IF_TYPE_MAX 11

IfOperDownReason

NameNumberDescription
IF_OPER_DOWN_NONE 0

IF_OPER_DOWN_PORT_ADMIN_DISABLED 1

IF_OPER_DOWN_MDA_ADMIN_DISABLED 2

IF_OPER_DOWN_TRANS_LASER_DISABLED 3

IF_OPER_DOWN_MDA_NOT_PRESENT 4

IF_OPER_DOWN_TRANS_NOT_PRESENT 5

IF_OPER_DOWN_PHY_INIT 6

IF_OPER_DOWN_LOWER_LAYER_DOWN 7

IF_OPER_DOWN_MTU_RESOURCES 8

IF_OPER_DOWN_UNSUPPORTED_SPEED 9

IF_OPER_DOWN_UNSUPPORTED_TRANS_FEC 10

IF_OPER_DOWN_OTHER 11

IF_OPER_DOWN_PORT_NOT_PRESENT 12

used internally by chassis mgr only - xdp never publish to IDB!

IF_OPER_DOWN_FABRIC_AVAILABILITY 13

used internally by chassis mgr only - xdp never publish to IDB!

IF_OPER_DOWN_NO_ACTIVE_LINKS 14

lag interface only

IF_OPER_DOWN_MIN_LINK_THRESHOLD 15

lag interface only

IF_OPER_DOWN_9_12_SPEED_MISMATCH 16

Vodka port 9-12 must all be same speed as port 9

IF_OPER_DOWN_LAG_RESOURCES 17

lag interface only

IF_OPER_DOWN_LAG_MEMBER_RESOURCES 18

lag member interface only

IF_OPER_DOWN_STANDBY_SIGNALING 19

ESM multihoming

IF_OPER_DOWN_HOLD_TIME_UP_ACTIVE 20

interface hold-time up is actively holding the interface down

IF_OPER_DOWN_RELOAD_TIME_ACTIVE 21

interface reload time is actively holding the interface down

IF_OPER_DOWN_CONNECTOR_DOWN 22

parent connector oper down forces breakout port oper down

IF_OPER_DOWN_AUTO_NEG_MISMATCH 23

IF_OPER_DOWN_EVENT_HANDLER 24

used internally by chassis mgr only - xdp never publish to IDB!

IF_OPER_DOWN_UNSUPPORTED_BREAKOUT 25

interface doesn't support breakout config

IfOperStateType

Represents interface operational state.

NameNumberDescription
IF_OPER_STATE_UP 0

Interface operational state up

IF_OPER_STATE_DOWN 1

Interface operational state down

IF_OPER_STATE_TESTING 2

Interface operational state testing

IF_OPER_STATE_UNKNOWN 3

Interface operational state unknown

IF_OPER_STATE_DORMANT 4

Interface operational state dormant

IF_OPER_STATE_NOT_PRESENT 5

Interface operational state not present

IF_OPER_STATE_LOWER_LAYER_DOWN 6

Interface operational state lower layer down

IfTransceiverFecType

Represents interface transceiver fec. Corresponds to yang values

NameNumberDescription
IF_TRANS_FEC_UNSET 0

Fec unknown

IF_TRANS_FEC_DISABLED 1

IF_TRANS_FEC_RS528 2

IF_TRANS_FEC_RS544 3

IF_TRANS_FEC_BASER 4

IF_TRANS_FEC_RS108 5

IpAddressState

Represents IP address state.

NameNumberDescription
IPADDR_STATE_UNKNOWN 0

IP address state unknown

IPADDR_STATE_TENTATIVE 1

IP address state tentative

IPADDR_STATE_DUPLICATED 2

IP address state duplicated

IPADDR_STATE_INACCESSIBLE 3

IP address state inaccessible

IPADDR_STATE_DEPRECATED 4

IP address state deprecated

IPADDR_STATE_PREFERRED 5

IP address state preferred

SdkMgrOperation

Represents enumeration value for operation in subscription.

NameNumberDescription
Create 0

Create operation

Update 1

Update operation

Delete 2

Delete operation

SdkMgrStatus

Represents status of network programming service calls.

NameNumberDescription
kSdkMgrSuccess 0

Successful service call

kSdkMgrFailed 1

Failed service call

Network programming APIs and messages. This is the base layer for agent registration, router event notifications such as interface, LLDP, BFD, and so on; also provides keepalive functionality to detect agent liveliness

AgentRegistrationRequest

Represents registration request message used in agent register and unregister.

Field Type Label Description
js_path string repeated

Optional, JSON path formatted strings, which are used in telemetry. Format of js_path follows hierarchical YANG. for example: .interface{.name==*}.my_app. .my_app.tunnel{.name==*} '*'' needs to be replaced with a specific key.

agent_liveliness uint32

Kill this agent unless a keepalive is received within this many seconds. Value of 0 means do not monitor this agent for liveliness.

AgentRegistrationResponse

Represents registration response in reply to registration request.

Field Type Label Description
status SdkMgrStatus

Status of the register; for example: kOk, kFailed

error_str string

Detailed error text

app_id uint32

Application ID assigned by SDK manager.

AppIdRequest

Represents application identifier request from agent. All applications are assigned an identifier by IDB.

Field Type Label Description
name string

Application name

AppIdResponse

Represents application identifier response to agent.

Field Type Label Description
status SdkMgrStatus

Status of the call; for example, kOk, kFailed

id uint32

Identifier for the given application name

KeepAliveRequest

Represents keep alive request from agent to refresh liveliness of the agent.

KeepAliveResponse

Represents keepalive response.

Field Type Label Description
status SdkMgrStatus

Status of keepalive; for example, kOk or kFailed

Notification

Represents notification stream response.

Field Type Label Description
sub_id uint64

Subscription identifier

intf InterfaceNotification

Interface details

nw_inst NetworkInstanceNotification

Network instance details

lldp_neighbor LldpNeighborNotification

LLDP neighbor details

config ConfigNotification

Configuration notification

bfd_session BfdSessionNotification

BFD session details

route IpRouteNotification

IP route details

appid AppIdentNotification

App identification details

nhg NextHopGroupNotification

Next-hop group details

NotificationQueryRequest

Represents notification query to return specific subscription details.

Field Type Label Description
stream_id uint64

Stream identifier, in NotificationRegisterResponse

NotificationQueryResponse

Represents notification query response.

Field Type Label Description
subscriptions NotificationQuerySubscription repeated

List of subscription details

status SdkMgrStatus

Status of the query

NotificationQuerySubscription

Represents notification subscription.

Field Type Label Description
sub_id uint64

Subscription identifier

description string

Subscription description

NotificationRegisterRequest

Represents notification request from agent. Agent uses this message to subscribe to router events such as interface create, delete, or update, as well as LLDP neighbor create, delete, or update, and so on.

Field Type Label Description
stream_id uint64

Unset on create, set otherwise

op NotificationRegisterRequest.Operation

Specific operation in the notification register request

sub_id uint64

Set for delete subscription, unset otherwise

intf InterfaceSubscriptionRequest

Interface subscription request

nw_inst NetworkInstanceSubscriptionRequest

Network instance subscription request

lldp_neighbor LldpNeighborSubscriptionRequest

LLDP neighbor subscription request

config ConfigSubscriptionRequest

Configuration subscription request

bfd_session BfdSessionSubscriptionRequest

BFD session subscription request

route IpRouteSubscriptionRequest

IP route subscription request

appid AppIdentSubscriptionRequest

App identification subscription request

nhg NextHopGroupSubscriptionRequest

Nexthop Group subscription request

NotificationRegisterResponse

Represents notification response.

Field Type Label Description
stream_id uint64

Stream identifier. This needs to be passed to the SDK manager for further notification subscription changes specific to the current subscription

sub_id uint64

Subscription identifier. Each subscription gets an identifier, which can be used to delete a subscription

status SdkMgrStatus

Status of subscription

NotificationStreamRequest

Represents notification stream request.

Field Type Label Description
stream_id uint64

Stream identifier

NotificationStreamResponse

Represents notification stream response that contains one or more notification.

Field Type Label Description
notification Notification repeated

Notification details

NotificationRegisterRequest.Operation

Represents notification stream subscription request operation.

NameNumberDescription
Create 0

Create a subscription

Delete 1

Delete all subscriptions

AddSubscription 2

Add subscription to existing subscriptions

DeleteSubscription 3

Delete one subscription from existing subscriptions

SdkMgrService

Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.

Method NameRequest TypeResponse TypeDescription
AgentRegister AgentRegistrationRequest AgentRegistrationResponse

Register agent

AgentUnRegister AgentRegistrationRequest AgentRegistrationResponse

Unregister agent

NotificationRegister NotificationRegisterRequest NotificationRegisterResponse

Register for event notifications

NotificationQuery NotificationQueryRequest NotificationQueryResponse

Returns current or specific notification subscription details

KeepAlive KeepAliveRequest KeepAliveResponse

Send periodic keepalive message

GetAppId AppIdRequest AppIdResponse

Get application name from application identifier

SdkNotificationService

Represents service for handling notifications.

Method NameRequest TypeResponse TypeDescription
NotificationStream NotificationStreamRequest NotificationStreamResponse stream

Send stream of event notifications based on the agent subscriptions

TelemetryData

Represents telemetry data.

Field Type Label Description
json_content string

Structured JSON telemetry data

TelemetryDeleteRequest

Represents telemetry delete request.

Field Type Label Description
key TelemetryKey repeated

Telemetry key

TelemetryDeleteResponse

Represents telemetry delete response.

Field Type Label Description
status SdkMgrStatus

Status of delete request

error_str string

Detailed error message

TelemetryInfo

Represents telemetry information.

Field Type Label Description
key TelemetryKey

Telemetry key

data TelemetryData

Telemetry data

TelemetryKey

Represents telemetry key.

Field Type Label Description
js_path string

JSON path referencing the key for telemetry data

TelemetryUpdateRequest

Represents telemetry update request.

Field Type Label Description
state TelemetryInfo repeated

State of application

TelemetryUpdateResponse

Represents telemetry update response.

Field Type Label Description
status SdkMgrStatus

Status of telemetry update request

error_str string

Detailed error message

SdkMgrTelemetryService

Represents service for telemetry service to store state data.

Method NameRequest TypeResponse TypeDescription
TelemetryAddOrUpdate TelemetryUpdateRequest TelemetryUpdateResponse

Add or update telemetry data

TelemetryDelete TelemetryDeleteRequest TelemetryDeleteResponse

Delete telemetry data

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)