SdkMgrNextHopGroupService

Represents service for next-hop group operations.

Method Name Request / 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.

MplsNextHop

Represents MPLS next hop.

Field Type Description
ip_nexthop IpAddressPb

Next-hop IP address

label_stacks (repeated) MplsLabel

MPLS label stack

NextHop

Represents next-hop.

Field Type Description
resolve_to NextHop.ResolveToType

Resolve-to type

type NextHop.ResolutionType

Resolution type

nexthop (one of)
ip_nexthop IpAddressPb

IP next-hop address

mpls_nexthop MplsNextHop

MPLS next-hop

NextHopGroup

Represents next-hop group.

Field Type Description
nexthops (repeated) NextHop

Next-hops

NextHopGroupDeleteRequest

Represents next-hop group delete request.

Field Type Description
group_keys (repeated) NextHopGroupKey

Next-hop group key details

NextHopGroupDeleteResponse

Represents next-hop group delete response.

Field Type Description
status SdkMgrStatus

Response for next-hop group request

error_str string

Detailed error string

NextHopGroupInfo

Represents next-hop group information.

Field Type Description
key NextHopGroupKey

Next-hop group key

data NextHopGroup

Next-hop group data

NextHopGroupKey

Represents next-hop group key.

Field Type Description
name string

Next-hop group name

network_instance_name string

Next-hop group network instance name

NextHopGroupNotification

Represents next-hop group notification.

Field Type 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 Description
group_infos (repeated) NextHopGroupInfo

Next-hop group details

NextHopGroupResponse

Represents next-hop group response.

Field Type Description
status SdkMgrStatus

Response for next-hop group request

error_str string

Detailed error string

NextHopGroupSubscriptionRequest

Represents next-hop group subscription request.

Field Type Description
key NextHopGroupKey

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

IF_OPER_DOWN_LINK_LOSS_FORWARDING 29

related to evpn-vpws mpls

IF_OPER_DOWN_TRANS_DOWN 30

IF_OPER_DOWN_STORM_CONTROL_ACTION 31

IF_OPER_DOWN_UNSUPPORTED_NUM_CHANNELS_FOR_SPEED 32

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_CL91_RS528 2

IF_TRANS_FEC_RS544 3

Deprecated as a state value, but still used by devmgr/txr code to represent any rs544 flavor

IF_TRANS_FEC_BASER 4

IF_TRANS_FEC_CL108_RS528 5

IF_TRANS_FEC_CL91_RS544 6

IF_TRANS_FEC_CL119_RS544 7

IF_TRANS_FEC_CL134_RS544 8

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

PortOperDownReason

Various reasons for port being operationally down.

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

PORT_OPER_DOWN_UNSUPPORTED_BREAKOUT 12

Connector does not support the configured breakout mode.

PortWarningReason

Various warnings on port while it stays operational.

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

Name Number Description
SDK_MGR_OPERATION_CREATE 0

Create operation; returned if caching is enabled

SDK_MGR_OPERATION_UPDATE 1

Update operation; returned if caching is enabled

SDK_MGR_OPERATION_DELETE 2

Delete operation

SDK_MGR_OPERATION_CREATE_OR_UPDATE 3

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

SdkMgrStatus

Represents status of network programming service calls.

Name Number Description
SDK_MGR_STATUS_SUCCESS 0

Successful service call

SDK_MGR_STATUS_FAILED 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