Represents appid data.
Represents appid key.
Field | Type | Label | Description |
id | Application id |
Represents appid notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | AppIdent key | ||
data | AppIdent data |
Represents appid subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents BFD session notification.
Field | Type | Label | Description |
op | Operation such as session create, delete, or update | ||
key | Session key | ||
data | Session data |
Represents BFD session subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents BFD session data.
Field | Type | Label | Description |
status | Status of the session | ||
sub_type | Subtype of the session | ||
src_if_id | src_if_id is only populated for P2P type Source interface ID |
Represents BFD session key.
Field | Type | Label | Description |
type | type is always present, other key field presence is determined by type Session type | ||
src_ip_addr | key for type == SESSION_TYPE_P2P (if ipv6 link local also uses ipv6_ll_if_id below) Source IP address of the session | ||
dst_ip_addr | Destination IP address of the session | ||
instance_id | Network instance identifier | ||
interface_name | type == SESSION_TYPE_MICROBFD | ||
ipv6_ll_if_id | key for type == SESSION_TYPE_P2P (only ipv6 link local, in addition to other P2P fields above) Global if id for ipv6 link local session, otherwise 0 |
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 |
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 |
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 |
Represents configuration data.
Field | Type | Label | Description |
json | Entire configuration fragment as JSON string |
Represents configuration key.
Represents configuration notification message to subscribe to configuration events
Field | Type | Label | Description |
op | Operation indicating create, delete, or update | ||
key | Configuration key | ||
data | Configuration data |
Represents configuration subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents interface data.
Field | Type | Label | Description |
admin_is_up | Admin state | ||
mtu | Maximum transmission unit | ||
if_type | Interface type; for example, loopback, physical, or LAG | ||
port_id | Port identifier | ||
description | Interface description | ||
mac_addr | MAC address | ||
aggregate_id | associated aggregate id | ||
oper_is_up | Operational state |
Represents interface key.
Field | Type | Label | Description |
if_name | Interface name; for example, ethernet 1/1 |
Represents interface notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | Interface key | ||
data | Interface data |
Represents interface subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents LLDP neighbor data.
Field | Type | Label | Description |
port_id | Port identifier | ||
port_type | Port type | ||
source_mac | Port MAC address | ||
bgp_peer_address | repeated | LLDP BGP autodiscovered addresses | |
bgp_group_id | BGP group identifier | ||
system_name | System name | ||
system_description | System description |
Represents LLDP neighbor key.
Field | Type | Label | Description |
interface_name | Local interface name | ||
chassis_id | Chassis identifier | ||
chassis_type | Chassis type |
Represents LLDP neighbor notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | LLDP neighbor key | ||
data | LLDP neighbor data |
Represents LLDP neighbor subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
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 |
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 |
Represents MPLS route add request, which can include one or more MPLS routes.
Field | Type | Label | Description |
routes | repeated | MPLS routes |
Represents MPLS route add response.
Field | Type | Label | Description |
status | Status of MPLS route add request | ||
error_str | Detailed error string |
Represents MPLS route delete request, which can include one or more MPLS routes.
Field | Type | Label | Description |
routes | repeated | MPLS routes |
Represents MPLS route delete response.
Field | Type | Label | Description |
status | Status of MPLS route delete request | ||
error_str | Detailed error string |
Represents MPLS route information; contains key and data.
Field | Type | Label | Description |
key | MPLS route key | ||
data | MPLS route data |
Represents MPLS route key.
Field | Type | Label | Description |
top_label | Top label |
Represents MPLS route data.
Field | Type | Label | Description |
nexthop_group_name | Next hop group name | ||
operation | Operation such as POP or SWAP | ||
preference | Route preference |
Represents MPLS operation.
Name | Number | Description |
INVALID_OP | 0 | Invalid operation |
POP | 1 | Pop operation |
SWAP | 2 | Swap operation |
Represents service for MPLS programming.
Method Name | Request Type | Response Type | Description |
MplsRouteAddOrUpdate | MPLS route add or update; can add or update more than one MPLS route in one request | ||
MplsRouteDelete | MPLS route delete; can delete more than one MPLS route in one request | ||
SyncStart | Synchronization start to begin synchronization operation | ||
SyncEnd | Synchronization end to close synchronization operation |
Represents network instance data.
Field | Type | Label | Description |
net_inst_id | Network instance identifier | ||
base_name | Base name | ||
loopback_addr | Loopback address of network instance | ||
oper_is_up | Operation status | ||
router_id | Router identifier | ||
inst_type | Network instance type |
Represents network instance key.
Field | Type | Label | Description |
inst_name | Network instance name |
Represents network instance notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | Network key | ||
data | Network data |
Represents network instance subscription request.
Represents network instance type.
Name | Number | Description |
DEFAULT | 0 | Default network instance type |
L3VRF | 1 | L3VRF network instance type |
Represents MPLS next hop.
Field | Type | Label | Description |
ip_nexthop | Next-hop IP address | ||
label_stack | repeated | MPLS label stack |
Represents next-hop.
Field | Type | Label | Description |
resolve_to | Resolve-to type | ||
type | Resolution type | ||
ip_nexthop | IP next-hop address | ||
mpls_nexthop | MPLS next-hop |
Represents next-hop group.
Field | Type | Label | Description |
next_hop | repeated | Next-hops |
Represents next-hop group delete request.
Field | Type | Label | Description |
group_key | repeated | Next-hop group key details |
Represents next-hop group delete response.
Field | Type | Label | Description |
status | Response for next-hop group request | ||
error_str | Detailed error string |
Represents next-hop group information.
Field | Type | Label | Description |
key | Next-hop group key | ||
data | Next-hop group data |
Represents next-hop group key.
Represents next-hop group notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | Next-hop group key | ||
data | Next-hop group data |
Represents next-hop group request.
Field | Type | Label | Description |
group_info | repeated | Next-hop group details |
Represents next-hop group response.
Field | Type | Label | Description |
status | Response for next-hop group request | ||
error_str | Detailed error string |
Represents next-hop group subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents resolution type.
Name | Number | Description |
INVALID | 0 | Invalid resolution |
REGULAR | 1 | Regular resolution |
MPLS | 2 | MPLS resolution |
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 |
Represents service for next-hop group operations.
Method Name | Request Type | Response Type | Description |
NextHopGroupAddOrUpdate | Add or update one or more next-hop groups. | ||
NextHopGroupDelete | Delete next-hop group. | ||
SyncStart | Synchronization start to open synchronization operation. | ||
SyncEnd | Synchronization end to close synchronization operation. |
Represents IP route notification.
Field | Type | Label | Description |
op | Operation such as create, delete, or update | ||
key | IP route key | ||
data | IP route data |
Represents IP route subscription request.
Field | Type | Label | Description |
key | Optional, to filter on name |
Represents route add request; can contain more than one route.
Field | Type | Label | Description |
routes | repeated | IP routes |
Represents route add response.
Field | Type | Label | Description |
status | Status of route add operation | ||
error_str | Detailed error string |
Represents route delete request; can contain more than one route.
Field | Type | Label | Description |
routes | repeated | IP routes |
Represents route delete response.
Field | Type | Label | Description |
status | Status of route delete operation | ||
error_str | Detailed error string |
Represents route information.
Field | Type | Label | Description |
key | Route key | ||
data | Route data |
Represents route key.
Field | Type | Label | Description |
net_inst_name | Network instance name | ||
ip_prefix | IP prefix |
Represents route data.
Field | Type | Label | Description |
nexthop_group_name | Next hop group name | ||
preference | Preference | ||
metric | Metric | ||
nexthop | repeated | List of next hops | |
owner_id | Next hop owner identifier returned only on notification. | ||
nhg_id | Next-hop group identifier returned only on notification. |
Represents service for IP route operations.
Method Name | Request Type | Response Type | Description |
RouteAddOrUpdate | Add or update IP routes. | ||
RouteDelete | Delete IP routes. | ||
SyncStart | Synchronization start for IP routes | ||
SyncEnd | Synchronization end for IP routes |
Empty message from agent.
Field | Type | Label | Description |
es_id | Type 0 for now. hard-coded id |
Represents global interface identifier.
Field | Type | Label | Description |
global_if_id | Global interface identifier |
Represents IP prefix.
Field | Type | Label | Description |
ip_addr | IP address | ||
prefix_length | IP address prefix length |
Represents IP address.
Field | Type | Label | Description |
addr | IP address |
Represents IP prefix state.
Field | Type | Label | Description |
prefix | IP prefix | ||
state | IP prefix state |
Represents MAC address.
Field | Type | Label | Description |
mac_address | MAC address |
Represents MPLS label.
Field | Type | Label | Description |
mpls_label | MPLS label |
Represents network instance identifier.
Field | Type | Label | Description |
instance_id | Network instance identifier |
Represents port identifier.
Field | Type | Label | Description |
port_id | Port identifier |
Empty message for synchronization request.
Empty message for synchronization end.
Field | Type | Label | Description |
status | Error code | ||
error_str | Detailed error string |
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 |
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 |
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 |
MAX | 6 |
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 - never publish to IDB! |
IF_OPER_DOWN_FABRIC_AVAILABILITY | 14 | used internally by chassis mgr only - 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 |
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 |
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 |
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 |
Represents enumeration value for operation in subscription.
Name | Number | Description |
Create | 0 | Create operation |
Change | 1 | Change operation |
Delete | 2 | Delete operation |
Represents status of network programming service calls.
Name | Number | Description |
kSdkMgrSuccess | 0 | Successful service call |
kSdkMgrFailed | 1 | Failed service call |
Represents registration request message used in agent register and unregister.
Field | Type | Label | Description |
js_path | 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 | Kill this agent unless a keepalive is received within this many seconds. Value of 0 means do not monitor this agent for liveliness. |
Represents registration response in reply to registration request.
Field | Type | Label | Description |
status | Status of the register; for example: kOk, kFailed | ||
error_str | Detailed error text | ||
app_id | Application ID assigned by SDK manager. |
Represents application identifier request from agent. All applications are assigned an identifier by IDB.
Field | Type | Label | Description |
name | Application name |
Represents application identifier response to agent.
Field | Type | Label | Description |
status | Status of the call; for example, kOk, kFailed | ||
id | Identifier for the given application name |
Represents keep alive request from agent to refresh liveliness of the agent.
Represents keepalive response.
Field | Type | Label | Description |
status | Status of keepalive; for example, kOk or kFailed |
Represents notification stream response.
Field | Type | Label | Description |
sub_id | Subscription identifier | ||
intf | Interface details | ||
nw_inst | Network instance details | ||
lldp_neighbor | LLDP neighbor details | ||
config | Configuration notification | ||
bfd_session | BFD session details | ||
route | IP route details | ||
appid | App identification details | ||
nhg | Next-hop group details |
Represents notification query to return specific subscription details.
Field | Type | Label | Description |
stream_id | Stream identifier, in NotificationRegisterResponse |
Represents notification query response.
Field | Type | Label | Description |
subscriptions | repeated | List of subscription details | |
status | Status of the query |
Represents notification subscription.
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 | Unset on create, set otherwise | ||
op | Specific operation in the notification register request | ||
sub_id | Set for delete subscription, unset otherwise | ||
intf | Interface subscription request | ||
nw_inst | Network instance subscription request | ||
lldp_neighbor | LLDP neighbor subscription request | ||
config | Configuration subscription request | ||
bfd_session | BFD session subscription request | ||
route | IP route subscription request | ||
appid | App identification subscription request | ||
nhg | Nexthop Group subscription request |
Represents notification response.
Field | Type | Label | Description |
stream_id | Stream identifier. This needs to be passed to the SDK manager for further notification subscription changes specific to the current subscription | ||
sub_id | Subscription identifier. Each subscription gets an identifier, which can be used to delete a subscription | ||
status | Status of subscription |
Represents notification stream request.
Field | Type | Label | Description |
stream_id | Stream identifier |
Represents notification stream response that contains one or more notification.
Field | Type | Label | Description |
notification | repeated | Notification details |
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 |
Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.
Method Name | Request Type | Response Type | Description |
AgentRegister | Register agent | ||
AgentUnRegister | Unregister agent | ||
NotificationRegister | Register for event notifications | ||
NotificationQuery | Returns current or specific notification subscription details | ||
KeepAlive | Send periodic keepalive message | ||
GetAppId | Get application name from application identifier |
Represents service for handling notifications.
Method Name | Request Type | Response Type | Description |
NotificationStream | Send stream of event notifications based on the agent subscriptions |
Represents telemetry data.
Field | Type | Label | Description |
json_content | Structured JSON telemetry data |
Represents telemetry delete request.
Field | Type | Label | Description |
key | repeated | Telemetry key |
Represents telemetry delete response.
Field | Type | Label | Description |
status | Status of delete request | ||
error_str | Detailed error message |
Represents telemetry information.
Field | Type | Label | Description |
key | Telemetry key | ||
data | Telemetry data |
Represents telemetry key.
Field | Type | Label | Description |
js_path | JSON path referencing the key for telemetry data |
Represents telemetry update request.
Field | Type | Label | Description |
state | repeated | State of application |
Represents telemetry update response.
Field | Type | Label | Description |
status | Status of telemetry update request | ||
error_str | Detailed error message |
Represents service for telemetry service to store state data.
Method Name | Request Type | Response Type | Description |
TelemetryAddOrUpdate | Add or update telemetry data | ||
TelemetryDelete | Delete telemetry data |
.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) |