Protocol Documentation

appid_service.proto

AppIdentData

Represents appid data.

Table 1. AppIdentData
FieldTypeLabelDescription

name

string

Application name

author

string

Author name

is_connected

bool

Connected to IDB or not

version

string

Version string

AppIdentKey

Represents appid key.

Table 2. AppIdentKey
FieldTypeLabelDescription

id

uint32

Application id

AppIdentNotification

Represents appid notification.

Table 3. AppIdentNotification
FieldTypeLabelDescription

op

SdkMgrOperation

Operation such as create, delete, or update

key

AppIdentKey

AppIdent key

data

AppIdentData

AppIdent data

AppIdentSubscriptionRequest

Represents appid subscription request.

Table 4. AppIdentSubscriptionRequest
FieldTypeLabelDescription

key

AppIdentKey

Optional, to filter on name

bfd_service.proto

BfdmgrGeneralSessionDataPb.BfdmgrSessionSubType

Represents BFD session subtype.

Table 5. BfdmgrGeneralSessionDataPb.BfdmgrSessionSubType
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

BfdmgrGeneralSessionKeyPb.SbfdechoKey.SrpolicyUserType

Table 6. BfdmgrGeneralSessionKeyPb.SbfdechoKey.SrpolicyUserType
NameNumberDescription

TYPE_LOCAL

0

TYPE_PCEP

1

BfdmgrSessionStatus

Represents BFD session status.

Table 7. BfdmgrSessionStatus
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.

Table 8. BfdmgrSessionType
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

BfdSessionSubscriptionRequest

Represents BFD session subscription request.

Table 10. BfdSessionSubscriptionRequest
FieldTypeLabelDescription

key

BfdmgrGeneralSessionKeyPb

Optional, to filter on name

BfdmgrGeneralSessionDataPb

Represents BFD session data.

Table 11. BfdmgrGeneralSessionDataPb
FieldTypeLabelDescription

status

BfdmgrSessionStatus

Status of the session

sub_type

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.

Table 12. BfdmgrGeneralSessionKeyPb
FieldTypeLabelDescription

type

BfdmgrSessionType

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

p2p

P2pKey

microbfd

MicrobfdKey

sbfdecho

SbfdechoKey

BfdmgrGeneralSessionKeyPb.MicrobfdKey

Table 13. BfdmgrGeneralSessionKeyPb.MicrobfdKey
FieldTypeLabelDescription

interface_name

string

BfdmgrGeneralSessionKeyPb.P2pKey

Table 14. BfdmgrGeneralSessionKeyPb.P2pKey
FieldTypeLabelDescription

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

ipv4_unnum_or_ipv6_ll_if_id

uint32

Global if id for ipv4 unnumbered or ipv6 link local session, otherwise 0

specified_discr

bool

True if discriminators are specified

BfdmgrGeneralSessionKeyPb.SbfdechoKey

Table 15. BfdmgrGeneralSessionKeyPb.SbfdechoKey
FieldTypeLabelDescription

instance_id

uint32

Network instance identifier

sr_policy_segment_list_id

uint32

policy_name

string

user_type

SrpolicyUserType

sr_policy_endpoint

IpAddressPb

config_service.proto

AcknowledgeConfigRequest

Represents configuration acknowledgment request; Each config notification requires its own acknowledgement.

Table 16. AcknowledgeConfigRequest
FieldTypeLabelDescription

infos

AcknowledgeConfigRequestInfo

repeated

AcknowledgeConfigRequestInfo

Represents configuration acknowledgment request information.

Table 17. AcknowledgeConfigRequestInfo
FieldTypeLabelDescription

js_path_with_keys

string

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

error

string

warning

string

output

string

AcknowledgeConfigResponse

Represents configuration acknowledgement response.

Table 18. AcknowledgeConfigResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of acknowledge config request operation

error_str

string

Detailed error string

ConfigData

Represents configuration data.

Table 19. ConfigData
FieldTypeLabelDescription

json

string

Entire configuration fragment as JSON string

data

bytes

Entire configuration fragment as binary data

ConfigKey

Represents configuration key.

Table 20. ConfigKey
FieldTypeLabelDescription

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

Table 21. ConfigNotification
FieldTypeLabelDescription

op

SdkMgrOperation

Operation indicating create, delete, or update

key

ConfigKey

Configuration key

data

ConfigData

Configuration data

ConfigSubscriptionRequest

Represents configuration subscription request.

Table 22. ConfigSubscriptionRequest
FieldTypeLabelDescription

key

ConfigKey

Optional, to filter on name

SdkMgrConfigService

Represents service for config operations.

Table 23. SdkMgrConfigService
Method NameRequest TypeResponse TypeDescription

AcknowledgeConfig

AcknowledgeConfigRequestAcknowledgeConfigResponse

Acknowledge received configuration. When agent is registered with `wait_config_ack` flag set to true, it needs to acknowledge received configuration.

interface_service.proto

InterfaceData

Represents interface data.

Table 24. InterfaceData
FieldTypeLabelDescription

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.

Table 25. InterfaceKey
FieldTypeLabelDescription

if_name

string

Interface name; for example, ethernet 1/1

InterfaceNotification

Represents interface notification.

Table 26. InterfaceNotification
FieldTypeLabelDescription

op

SdkMgrOperation

Operation such as create, delete, or update

key

InterfaceKey

Interface key

data

InterfaceData

Interface data

InterfaceSubscriptionRequest

Represents interface subscription request.

Table 27. InterfaceSubscriptionRequest
FieldTypeLabelDescription

key

InterfaceKey

Optional, to filter on name

lldp_service.proto

LldpNeighborDataPb.PortSubType

Represents port subtype.

Table 28. LldpNeighborDataPb.PortSubType
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.

Table 29. LldpNeighborKeyPb.ChassisIdType
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

LldpNeighborDataPb

Represents LLDP neighbor data.

Table 30. LldpNeighborDataPb
FieldTypeLabelDescription

port_id

string

Port identifier

port_type

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.

Table 31. LldpNeighborKeyPb
FieldTypeLabelDescription

interface_name

string

Local interface name

chassis_id

string

Chassis identifier

chassis_type

ChassisIdType

Chassis type

LldpNeighborNotification

Represents LLDP neighbor notification.

Table 32. LldpNeighborNotification
FieldTypeLabelDescription

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.

Table 33. LldpNeighborSubscriptionRequest
FieldTypeLabelDescription

key

LldpNeighborKeyPb

Optional, to filter on name

networkinstance_service.proto

NetworkInstanceData.NetInstType

Represents network instance type.

Table 34. NetworkInstanceData.NetInstType
NameNumberDescription

DEFAULT

0

Default network instance type

L3VRF

1

L3VRF network instance type

NetworkInstanceData

Represents network instance data.

Table 35. NetworkInstanceData
FieldTypeLabelDescription

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

NetInstType

Network instance type

NetworkInstanceKey

Represents network instance key.

Table 36. NetworkInstanceKey
FieldTypeLabelDescription

inst_name

string

Network instance name

NetworkInstanceSubscriptionRequest

Represents network instance subscription request.

nexthop_group_service.proto

NextHop.ResolutionType

Represents resolution type.

Table 38. NextHop.ResolutionType
NameNumberDescription

INVALID

0

Invalid resolution

REGULAR

1

Regular resolution

MPLS

2

MPLS resolution

NextHop.ResolveToType

Represents resolve-to type.

Table 39. NextHop.ResolveToType
NameNumberDescription

LOCAL

0

Resolve to local routes

DIRECT

1

Resolve to direct routes

INDIRECT

2

Resolve to indirect routes

MplsNextHop

Represents MPLS next hop.

Table 40. MplsNextHop
FieldTypeLabelDescription

ip_nexthop

IpAddressPb

Next-hop IP address

label_stack

MplsLabel

repeated

MPLS label stack

NextHopGroup

Represents next-hop group.

Table 42. NextHopGroup
FieldTypeLabelDescription

next_hop

NextHop

repeated

Next-hops

NextHopGroupDeleteRequest

Represents next-hop group delete request.

Table 43. NextHopGroupDeleteRequest
FieldTypeLabelDescription

group_key

NextHopGroupKey

repeated

Next-hop group key details

NextHopGroupDeleteResponse

Represents next-hop group delete response.

Table 44. NextHopGroupDeleteResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Response for next-hop group request

error_str

string

Detailed error string

NextHopGroupInfo

Represents next-hop group information.

Table 45. NextHopGroupInfo
FieldTypeLabelDescription

key

NextHopGroupKey

Next-hop group key

data

NextHopGroup

Next-hop group data

NextHopGroupKey

Represents next-hop group key.

Table 46. NextHopGroupKey
FieldTypeLabelDescription

name

string

Next-hop group name

network_instance_name

string

Next-hop group network instance name

NextHopGroupNotification

Represents next-hop group notification.

Table 47. NextHopGroupNotification
FieldTypeLabelDescription

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.

Table 48. NextHopGroupRequest
FieldTypeLabelDescription

group_info

NextHopGroupInfo

repeated

Next-hop group details

NextHopGroupResponse

Represents next-hop group response.

Table 49. NextHopGroupResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Response for next-hop group request

error_str

string

Detailed error string

NextHopGroupSubscriptionRequest

Represents next-hop group subscription request.

Table 50. NextHopGroupSubscriptionRequest
FieldTypeLabelDescription

key

NextHopGroupKey

Optional, to filter on name

SdkMgrNextHopGroupService

Represents service for next-hop group operations.

Table 51. SdkMgrNextHopGroupService
Method NameRequest TypeResponse TypeDescription

NextHopGroupAddOrUpdate

NextHopGroupRequestNextHopGroupResponse

Add or update one or more next-hop groups.

NextHopGroupDelete

NextHopGroupDeleteRequestNextHopGroupDeleteResponse

Delete next-hop group.

SyncStart

SyncRequestSyncResponse

Synchronization start to open synchronization operation.

SyncEnd

SyncRequestSyncResponse

Synchronization end to close synchronization operation.

route_service.proto

IpRouteNotification

Represents IP route notification.

Table 52. IpRouteNotification
FieldTypeLabelDescription

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.

Table 53. IpRouteSubscriptionRequest
FieldTypeLabelDescription

key

RouteKeyPb

Optional, to filter on name

RouteAddRequest

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

Table 54. RouteAddRequest
FieldTypeLabelDescription

routes

RouteInfo

repeated

IP routes

RouteAddResponse

Represents route add response.

Table 55. RouteAddResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of route add operation

error_str

string

Detailed error string

RouteDeleteRequest

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

Table 56. RouteDeleteRequest
FieldTypeLabelDescription

routes

RouteKeyPb

repeated

IP routes

RouteDeleteResponse

Represents route delete response.

Table 57. RouteDeleteResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of route delete operation

error_str

string

Detailed error string

RouteInfo

Represents route information.

Table 58. RouteInfo
FieldTypeLabelDescription

key

RouteKeyPb

Route key

data

RoutePb

Route data

RouteKeyPb

Represents route key.

Table 59. RouteKeyPb
FieldTypeLabelDescription

net_inst_name

string

Network instance name

ip_prefix

IpAddrPrefLenPb

IP prefix

RoutePb

Represents route data.

Table 60. RoutePb
FieldTypeLabelDescription

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.

sdk_common.proto

IfEthernetDuplexModeType

Represents interface ethernet duplex mode. Corresponds to yang values

Table 62. IfEthernetDuplexModeType
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

Table 63. IfEthernetPortSpeedType
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

IF_ETH_PORT_SPEED_800G

12

IfLoopbackModeType

Represents interface loopback mode. Corresponds to yang values

Table 64. IfLoopbackModeType
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.

Table 65. IfMgrIfType
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> name for sock-path

KKLIF

9

temp name for new style of lif interface

KKVHOST

10

temp name for new style of vhost interface

SYNC

11

1588 sync interface

IF_TYPE_MAX

12

IfOperDownReason

Table 66. 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

IF_OPER_DOWN_CFM_CCM_DEFECT

26

IF_OPER_DOWN_CRC_MON_FAIL_THRESH

27

crc-monitor signal failure threshold exceeded

IF_OPER_DOWN_SYMBOL_MON_FAIL_THRESH

28

symbol-monitor signal failure threshold exceeded

IF_OPER_DOWN_LINK_LOSS_FORWARDING

29

related to evpn-vpws mpls

IF_OPER_DOWN_TRANS_DOWN

30

IfOperStateType

Represents interface operational state.

Table 67. IfOperStateType
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

Table 68. IfTransceiverFecType
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.

Table 69. IpAddressState
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

PortOperDownReason

Various reasons for port being operationally down.

Table 70. PortOperDownReason
NameNumberDescription

PORT_OPER_DOWN_NONE

0

PORT_OPER_DOWN_PORT_ADMIN_DISABLED

1

Admin disabled (out of service). E.g lanes not created in physical layer devices

PORT_OPER_DOWN_PORT_OPER_DISABLED

2

Admin enabled but operationally disabled. E.g lanes created but serdes are off

PORT_OPER_DOWN_MDA_DISABLED

3

Parent MDA is disabled

PORT_OPER_DOWN_MDA_FAILED

4

Parent MDA failed

PORT_OPER_DOWN_LINK_DOWN

5

Operationally enabled but link/carrier down

PORT_OPER_DOWN_TRANS_NOT_PRESENT

6

Transceiver is not plugged in or is dead (undetected)

PORT_OPER_DOWN_TRANS_LASER_DISABLED

7

Transceiver laser is disabled

PORT_OPER_DOWN_INCOMPATIBLE_CONNECTOR

8

Parent connector configuration does not match with this breakout port

PORT_OPER_DOWN_PHY_UNSUPPORTED_FEC_CFG

9

A physical layer device on the port does not support configured FEC

PORT_OPER_DOWN_PHY_UNSUPPORTED_TRANS_FEC

10

A physical layer device on the port does not support FEC configured on the transceiver

PORT_OPER_DOWN_PHY_INTERNAL_FEC_ISSUE

11

A physical layer device has internal/hardware problem on employing FEC

PortWarningReason

Various warnings on port while it stays operational.

Table 71. PortWarningReason
NameNumberDescription

PORT_WARNING_NONE

0

PORT_WARNING_TRANS_RX_LOS

1

Transceiver reported RxLos

PORT_WARNING_TRANS_UNSUPPORTED_SYNCE_CFG

2

Transceiver does not support synce configuration (e.g cannot do clock squelching on RxLos)

PORT_WARNING_PHY_UNSUPPORTED_SYNCE_CFG

3

A physical layer device does not support synce configuration

PORT_WARNING_PHY_UNSUPPORTED_PTP_CFG

4

A physical layer device does not support PTP configuration

SdkMgrOperation

Represents enumeration value for operation in subscription.

Table 72. SdkMgrOperation
NameNumberDescription

Create

0

Create operation; returned if caching is enabled

Update

1

Update operation; returned if caching is enabled

Delete

2

Delete operation

CreateOrUpdate

3

returned if caching is disabled; App can cache streaming data, if needed.

SdkMgrStatus

Represents status of network programming service calls.

Table 73. SdkMgrStatus
NameNumberDescription

kSdkMgrSuccess

0

Successful service call

kSdkMgrFailed

1

Failed service call

AgentReply

Empty message from agent.

EvpnEthSegIdPb

Table 74. EvpnEthSegIdPb
FieldTypeLabelDescription

es_id

bytes

Type 0 for now. hard-coded id

GlobalIfId

Represents global interface identifier.

Table 75. GlobalIfId
FieldTypeLabelDescription

global_if_id

uint32

Global interface identifier

IpAddrPrefLenPb

Represents IP prefix.

Table 76. IpAddrPrefLenPb
FieldTypeLabelDescription

ip_addr

IpAddressPb

IP address

prefix_length

uint32

IP address prefix length

IpAddressPb

Represents IP address.

Table 77. IpAddressPb
FieldTypeLabelDescription

addr

bytes

IP address

IpInterfaceAddrPrefixPb

Represents IP prefix state.

Table 78. IpInterfaceAddrPrefixPb
FieldTypeLabelDescription

prefix

IpAddrPrefLenPb

IP prefix

state

IpAddressState

IP prefix state

MacAddressPb

Represents MAC address.

Table 79. MacAddressPb
FieldTypeLabelDescription

mac_address

bytes

MAC address

MplsLabel

Represents MPLS label.

Table 80. MplsLabel
FieldTypeLabelDescription

mpls_label

uint32

MPLS label

NetInstanceId

Represents network instance identifier.

Table 81. NetInstanceId
FieldTypeLabelDescription

instance_id

uint32

Network instance identifier

PortIdPb

Represents port identifier.

Table 82. PortIdPb
FieldTypeLabelDescription

port_id

uint64

Port identifier

SyncRequest

Empty message for synchronization request.

SyncResponse

Empty message for synchronization end.

Table 83. SyncResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Error code

error_str

string

Detailed error string

sdk_service.proto

NotificationRegisterRequest.Operation

Represents notification stream subscription request operation.

Table 84. NotificationRegisterRequest.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

AgentRegistrationRequest

Represents registration request message used in agent register and unregister.

Table 85. AgentRegistrationRequest
FieldTypeLabelDescription

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.

wait_config_ack

bool

Indicate if SRLinux should wait for explicit ack from app after delivering configuration.

enable_cache

bool

Indicate if SRLinux should cache streaming notification response in ndk mgr. By default, caching is disabled.

auto_telemetry_state

bool

Indicate if SRLinux should automatically push configs as state. By default, auto_telemetry_state is disabled.

AgentRegistrationResponse

Represents registration response in reply to registration request.

Table 86. AgentRegistrationResponse
FieldTypeLabelDescription

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.

Table 87. AppIdRequest
FieldTypeLabelDescription

name

string

Application name

AppIdResponse

Represents application identifier response to agent.

Table 88. AppIdResponse
FieldTypeLabelDescription

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.

Table 89. KeepAliveResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of keepalive; for example, kOk or kFailed

Notification

Represents notification stream response.

Table 90. Notification
FieldTypeLabelDescription

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.

Table 91. NotificationQueryRequest
FieldTypeLabelDescription

stream_id

uint64

Stream identifier, in NotificationRegisterResponse

NotificationQueryResponse

Represents notification query response.

Table 92. NotificationQueryResponse
FieldTypeLabelDescription

subscriptions

NotificationQuerySubscription

repeated

List of subscription details

status

SdkMgrStatus

Status of the query

NotificationQuerySubscription

Represents notification subscription.

Table 93. NotificationQuerySubscription
FieldTypeLabelDescription

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.

Table 94. NotificationRegisterRequest
FieldTypeLabelDescription

stream_id

uint64

Unset on create, set otherwise

op

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.

Table 95. NotificationRegisterResponse
FieldTypeLabelDescription

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.

Table 96. NotificationStreamRequest
FieldTypeLabelDescription

stream_id

uint64

Stream identifier

NotificationStreamResponse

Represents notification stream response that contains one or more notification.

Table 97. NotificationStreamResponse
FieldTypeLabelDescription

notification

Notification

repeated

Notification details

SdkMgrService

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

Table 98. SdkMgrService
Method NameRequest TypeResponse TypeDescription

AgentRegister

AgentRegistrationRequestAgentRegistrationResponse

Register agent

AgentUnRegister

AgentRegistrationRequestAgentRegistrationResponse

Unregister agent

NotificationRegister

NotificationRegisterRequestNotificationRegisterResponse

Register for event notifications

NotificationQuery

NotificationQueryRequestNotificationQueryResponse

Returns current or specific notification subscription details

KeepAlive

KeepAliveRequestKeepAliveResponse

Send periodic keepalive message

GetAppId

AppIdRequestAppIdResponse

Get application name from application identifier

SdkNotificationService

Represents service for handling notifications.

Table 99. SdkNotificationService
Method NameRequest TypeResponse TypeDescription

NotificationStream

NotificationStreamRequestNotificationStreamResponse

Send stream of event notifications based on the agent subscriptions

telemetry_service.proto

TelemetryData

Represents telemetry data.

Table 100. TelemetryData
FieldTypeLabelDescription

json_content

string

Structured JSON telemetry data

TelemetryDeleteRequest

Represents telemetry delete request.

Table 101. TelemetryDeleteRequest
FieldTypeLabelDescription

key

TelemetryKey

repeated

Telemetry key

TelemetryDeleteResponse

Represents telemetry delete response.

Table 102. TelemetryDeleteResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of delete request

error_str

string

Detailed error message

TelemetryInfo

Represents telemetry information.

Table 103. TelemetryInfo
FieldTypeLabelDescription

key

TelemetryKey

Telemetry key

data

TelemetryData

Telemetry data

TelemetryKey

Represents telemetry key.

Table 104. TelemetryKey
FieldTypeLabelDescription

js_path

string

JSON path referencing the key for telemetry data

TelemetryUpdateRequest

Represents telemetry update request.

Table 105. TelemetryUpdateRequest
FieldTypeLabelDescription

state

TelemetryInfo

repeated

State of application

TelemetryUpdateResponse

Represents telemetry update response.

Table 106. TelemetryUpdateResponse
FieldTypeLabelDescription

status

SdkMgrStatus

Status of telemetry update request

error_str

string

Detailed error message

Scalar Value Types

Scalar

Scalar description

Table 108. Scalar
.proto TypeNotesC++C#GoJavaPHPPythonRuby

double

double

double

float64

double

float

float

Float

float

float

float

float32

float

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

int32

int

integer

int

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

int64

long

integer/string

int/long

Bignum

uint32

Uses variable-length encoding.

uint32

uint

uint32

int

integer

int/long

Bignum or Fixnum (as required)

uint64

Uses variable-length encoding.

uint64

ulong

uint64

long

integer/string

int/long

Bignum or Fixnum (as required)

sint32

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.

int32

int

int32

int

integer

int

Bignum or Fixnum (as required)

sint64

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.

int64

long

int64

long

integer/string

int/long

Bignum

fixed32

Always four bytes. More efficient than uint32 if values are often greater than 2^28.

uint32

uint

uint32

int

integer

int

Bignum or Fixnum (as required)

fixed64

Always eight bytes. More efficient than uint64 if values are often greater than 2^56.

uint64

ulong

uint64

long

integer/string

int/long

Bignum

sfixed32

Always four bytes.

int32

int

int32

int

integer

int

Bignum or Fixnum (as required)

sfixed64

Always eight bytes.

int64

long

int64

long

integer/string

int/long

Bignum

bool

bool

bool

bool

boolean

boolean

boolean

TrueClass/FalseClass

string

A string must always contain UTF-8 encoded or 7-bit ASCII text.

string

string

string

String

string

str/unicode

String (UTF-8)

bytes

May contain any arbitrary sequence of bytes.

string

ByteString

[]byte

ByteString

string

str

String (ASCII-8BIT)