SdkMgrConfigService

Represents service for config operations.

Method Name Request / Response Type Description
AcknowledgeConfig AcknowledgeConfigRequest
AcknowledgeConfigResponse

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

AcknowledgeConfigRequest

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

Field Type Description
infos (repeated) AcknowledgeConfigRequestInfo

AcknowledgeConfigRequestInfo

Represents configuration acknowledgment request information.

Field Type Description
js_path_with_keys string

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

result (one of)
error string

warning string

output string

AcknowledgeConfigResponse

Represents configuration acknowledgement response.

Field Type Description
status SdkMgrStatus

Status of acknowledge config request operation

error_str string

Detailed error string

ConfigData

Represents configuration data.

Field Type Description
data_type (one of)
json string

Entire configuration fragment as JSON string

data bytes

Entire configuration fragment as binary data

ConfigKey

Represents configuration key.

Field Type Description
js_path string

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

keys (repeated) string

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 Description
op SdkMgrOperation

Operation indicating create, delete, or update

key ConfigKey

Configuration key

data ConfigData

Configuration data

ConfigSubscriptionRequest

Represents configuration subscription request.

Field Type Description
key ConfigKey

Optional, to filter on name

AgentReply

Empty message from agent.

Field Type Description
es_id bytes

Type 0 for now. hard-coded id

GlobalIfId

Represents global interface identifier.

Field Type Description
global_if_id uint32

Global interface identifier

IpAddrPrefLenPb

Represents IP prefix.

Field Type Description
ip_addr IpAddressPb

IP address

prefix_length uint32

IP address prefix length

IpAddressPb

Represents IP address.

Field Type Description
addr bytes

IP address

IpInterfaceAddrPrefixPb

Represents IP prefix state.

Field Type Description
prefix IpAddrPrefLenPb

IP prefix

state IpAddressState

IP prefix state

MacAddressPb

Represents MAC address.

Field Type Description
mac_address bytes

MAC address

MplsLabel

Represents MPLS label.

Field Type Description
mpls_label uint32

MPLS label

NetInstanceId

Represents network instance identifier.

Field Type Description
instance_id uint32

Network instance identifier

PortIdPb

Represents port identifier.

Field Type Description
port_id uint64

Port identifier

SyncRequest

Empty message for synchronization request.

SyncResponse

Empty message for synchronization end.

Field Type Description
status SdkMgrStatus

Error code

error_str string

Detailed error string

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

IF_ETH_PORT_SPEED_800G 12

IfLoopbackModeType

Represents interface loopback mode. Corresponds to yang values

Name Number Description
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.

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

SYNC 11

1588 sync interface

IF_TYPE_MAX 12

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_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

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

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)

Created by Siva Sivakumar / Roman Dodin / srl-labs