Protocol Documentation
appid_service.proto
AppIdentData
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 |
bfd_service.proto
BfdmgrGeneralSessionDataPb.BfdmgrSessionSubType
Represents BFD session subtype.
Name | Number | Description |
---|---|---|
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.
Name | Number | Description |
---|---|---|
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.
Name | Number | Description |
---|---|---|
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 |
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 | 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 | P2pKey | ||
microbfd | MicrobfdKey | ||
sbfdecho | 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 |
config_service.proto
ConfigData
Represents configuration data.
Field | Type | Label | Description |
---|---|---|---|
json | bytes | Entire configuration fragment as JSON string |
ConfigKey
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 |
interface_service.proto
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 |
lldp_service.proto
LldpNeighborDataPb.PortSubType
Represents port subtype.
Name | Number | Description |
---|---|---|
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.
Name | Number | Description |
---|---|---|
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.
Field | Type | Label | Description |
---|---|---|---|
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.
Field | Type | Label | Description |
---|---|---|---|
interface_name | string | Local interface name | |
chassis_id | string | Chassis identifier | |
chassis_type | 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 |
mpls_service.proto
MplsRoutePb.Operation
Represents MPLS operation.
Name | Number | Description |
---|---|---|
INVALID_OP | 0 | Invalid operation |
POP | 1 | Pop operation |
SWAP | 2 | Swap operation |
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
MplsRoutePb
SdkMgrMplsRouteService
Represents service for MPLS programming.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
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
Represents methods with deprecated option.
Method Name | Option |
---|---|
MplsRouteAddOrUpdate | True |
MplsRouteDelete | True |
networkinstance_service.proto
NetworkInstanceData.NetInstType
Represents network instance type.
Name | Number | Description |
---|---|---|
DEFAULT | 0 | Default network instance type |
L3VRF | 1 | L3VRF network instance type |
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 | 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.
nexthop_group_service.proto
NextHop.ResolutionType
Represents resolution type.
Name | Number | Description |
---|---|---|
INVALID | 0 | Invalid resolution |
REGULAR | 1 | Regular resolution |
MPLS | 2 | MPLS resolution |
NextHop.ResolveToType
Represents resolve-to type.
Name | Number | Description |
---|---|---|
LOCAL | 0 | Resolve to local routes |
DIRECT | 1 | Resolve to direct routes |
INDIRECT | 2 | Resolve to indirect routes |
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 | ResolveToType | Resolve-to type | |
type | 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
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 |
SdkMgrNextHopGroupService
Represents service for next-hop group operations.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
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. |
route_service.proto
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 Name | Request Type | Response Type | Description |
---|---|---|---|
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 |
sdk_common.proto
IfEthernetDuplexModeType
Represents interface ethernet duplex mode. Corresponds to yang values
Name | Number | Description |
---|---|---|
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
Name | Number | Description |
---|---|---|
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 |
IfMgrIfType
Represents interface type.
Name | Number | Description |
---|---|---|
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 |
MAX | 11 |
IfOperDownReason
Name | Number | Description |
---|---|---|
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_LOOPBACK | 7 | |
IF_OPER_DOWN_LOWER_LAYER_DOWN | 8 | |
IF_OPER_DOWN_MTU_RESOURCES | 9 | |
IF_OPER_DOWN_UNSUPPORTED_SPEED | 10 | |
IF_OPER_DOWN_UNSUPPORTED_TRANS_FEC | 11 | |
IF_OPER_DOWN_OTHER | 12 | |
IF_OPER_DOWN_PORT_NOT_PRESENT | 13 | used internally by chassis mgr only - xdp never publish to IDB! |
IF_OPER_DOWN_FABRIC_AVAILABILITY | 14 | used internally by chassis mgr only - xdp never publish to IDB! |
IF_OPER_DOWN_NO_ACTIVE_LINKS | 15 | lag interface only |
IF_OPER_DOWN_MIN_LINK_THRESHOLD | 16 | lag interface only |
IF_OPER_DOWN_9_12_SPEED_MISMATCH | 17 | Vodka port 9-12 must all be same speed as port 9 |
IF_OPER_DOWN_LAG_RESOURCES | 18 | lag interface only |
IF_OPER_DOWN_LAG_MEMBER_RESOURCES | 19 | lag member interface only |
IF_OPER_DOWN_STANDBY_SIGNALING | 20 | ESM multihoming |
IF_OPER_DOWN_HOLD_TIME_UP_ACTIVE | 21 | interface hold-time up is actively holding the interface down |
IF_OPER_DOWN_RELOAD_TIME_ACTIVE | 22 | interface reload time is actively holding the interface down |
IF_OPER_DOWN_CONNECTOR_DOWN | 23 | parent connector oper down forces breakout port oper down |
IF_OPER_DOWN_AUTO_NEG_MISMATCH | 24 | |
IF_OPER_DOWN_EVENT_HANDLER | 25 | used internally by chassis mgr only - xdp never publish to IDB! |
IfOperStateType
Represents interface operational state.
Name | Number | Description |
---|---|---|
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
Name | Number | Description |
---|---|---|
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.
Name | Number | Description |
---|---|---|
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.
Name | Number | Description |
---|---|---|
Create | 0 | Create operation |
Update | 1 | Update operation |
Delete | 2 | Delete operation |
SdkMgrStatus
Represents status of network programming service calls.
Name | Number | Description |
---|---|---|
kSdkMgrSuccess | 0 | Successful service call |
kSdkMgrFailed | 1 | Failed service call |
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 |
sdk_service.proto
NotificationRegisterRequest.Operation
Represents notification stream subscription request operation.
Name | Number | Description |
---|---|---|
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.
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
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 | 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 |
SdkMgrService
Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
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 Name | Request Type | Response Type | Description |
---|---|---|---|
NotificationStream | NotificationStreamRequest | NotificationStreamResponse | Send stream of event notifications based on the agent subscriptions |
telemetry_service.proto
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 Name | Request Type | Response Type | Description |
---|---|---|---|
TelemetryAddOrUpdate | TelemetryUpdateRequest | TelemetryUpdateResponse | Add or update telemetry data |
TelemetryDelete | TelemetryDeleteRequest | TelemetryDeleteResponse | Delete telemetry data |
Scalar Value Types
Scalar
Scalar description
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
---|---|---|---|---|---|---|---|---|
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) |