Interfaces Service API

dcd_service.proto

AttributeRequestInfo

Message structure for attribute query command

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index number
family FamilyType optional Family
interface_address IpAddress optional Interface IP address
arp_address IpAddress optional ARP address
string_attr_list string_attr repeated List of attributes
integer_attr_list integer_attr repeated List of integer attributes
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

AttributeResponseInfo

Message structure for attribute query response

Field Type Label Description
status ret_status optional Status
error_message string optional Error message
string_attr_list string_attr repeated List of attributes
integer_attr_list integer_attr repeated List of integer attributes
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

ConfigResp

Response message for configuration commands

Field Type Label Description
status ret_status optional Status
error_message string optional Error message
request_id int64 optional Request ID
client_ctx int32 optional Client CTX

InterfaceAddressConfig

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index number
family FamilyType optional Address family
interface_address IpAddress optional Interface IP address
string_attr_list string_attr repeated List of address attributes
integer_attr_list integer_attr repeated List of integer attributes
operation int32 optional Operation
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

InterfaceConfig

For IFD objects configurations

For example: set interfaces ge-1/1/6 vlan-tagging For example: set interfaces ge-1/1/6 encapsulation extended-vlan-bridge

Field Type Label Description
port_name string optional Port name
tagging InterfaceTaggingType optional Interface tagging type
encap InterfaceEncapsulationType optional Interface encapsulation type
aggregate_members string repeated List of members
string_attr_list string_attr repeated List of interface attributes
integer_attr_list integer_attr repeated List of integer attributes
operation int32 optional Operation
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

InterfaceFamilyConfig

For IFF objects configurations

Examples:

set interfaces ge-1/1/6 unit 0 vlan-id 100

set bridge-domains vlan-100 interface ge-1/1/6.0

set routing-instances vlan-100 interface ge-1/1/6.0

set interfaces ge-1/1/6 disable

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index
family FamilyType optional Family
string_attr_list string_attr repeated Attribute list
integer_attr_list integer_attr repeated Integer attribute list
operation int32 optional Operation
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

InterfaceLogicalConfig

For IFL objects configurations

Examples:

set interfaces ge-1/1/6 unit 0 vlan-id 100

set bridge-domains vlan-100 interface ge-1/1/6.0

set routing-instances vlan-100 interface ge-1/1/6.0

set interfaces ge-1/1/6 disable

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index value
lr_name string optional Logical Router name
bd_name string optional Bridging Domain name
ri_name string optional Routing Instance name
status IfStatus optional Interface status
string_attr_list string_attr repeated List of attributes
integer_attr_list integer_attr repeated List of integer attributes
operation int32 optional Operation
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

IpAddress

IP address definition

Field Type Label Description
addr_string string optional Address in string format
addr_bytes bytes optional Address in byte format

MacAddress

MAC address definition

Field Type Label Description
addr_string string optional Address in string format
addr_bytes bytes optional Address in byte format

ObjectOwnershipQuery

Message structure for object ownership query command

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index number
family FamilyType optional Family
interface_address IpAddress optional Interface IP address
arp_address IpAddress optional ARP address
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

ObjectOwnershipResp

Message structure for ownership query response

Field Type Label Description
status ret_status optional Status
error_message string optional Error message
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

PublicIflResp

Message structure for Public IFL query response

Field Type Label Description
status ret_status optional Status
error_message string optional Error message
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

RTConfig

Field Type Label Description
port_name string optional Port name
ifl_unit Value32 optional IFL index number
family FamilyType optional Family
interface_address IpAddress optional Interface IP address
arp_address IpAddress optional ARP address
string_attr_list string_attr repeated List of attributes
integer_attr_list integer_attr repeated List of integer attributes
operation int32 optional Operation
client_ctx int32 optional Client CTX
request_id int64 optional Request ID

TimeoutInfo

API for setting timeout in sec for the client

Field Type Label Description
timeout int32 optional Timeout

TimeoutResp

Timeout Response

Field Type Label Description
status ret_status optional Status
error_message string optional Error message

Value32

Field Type Label Description
unit int32 optional Unit

integer_attr

Integer attribute definition

Field Type Label Description
attr_name string optional Attribute name
attr_value string optional Attribute value

string_attr

String attribute definition

Field Type Label Description
attr_name string optional Attribute name
attr_value string optional Attribute value

AddressFormat

For defining IP address and MAC address formats

Name Number Description
ADDRESS_STRING 0 String format
ADDRESS_BYTES 1 Byte format

FamilyType

For defining the protocol family type

Name Number Description
INTF_AF_UNKNOWN 0 Unknown
INTF_AF_INET 2 INET Family
INTF_AF_INET6 28 INET6 Family

IfStatus

For defining interface status

Name Number Description
INTF_DOWN 0 Interface Down
INTF_UP 1 Interface Up

InterfaceEncapsulationType

For defining interface encapsulations

Name Number Description
VLAN_BRIDGE 0 vlan-bridge
VLAN_EXTENDED_BRIDGE 1 extended-vlan-bridge
INTERFACE_ENCAP_MAX 2 None encapsulation

InterfaceTaggingType

For defining interface tagging

Name Number Description
VLAN_TAGGING 0 vlan-tagging
INTERFACE_TAGGING_MAX 1 None

operation

Name Number Description
UNKNOWN 0 Unknown
ADD_INTERFACE 1 Add Interface
DELETE_INTERFACE 2 Delete Interface
ADD_AE_MEMBER 3 Add aggregate ethernet member
DELETE_AE_MEMBER 4 Delete aggregate ethernet member
ADD_INTF_ATTRIBUTES 5 Add interface attributes
DELETE_INTF_ATTRIBUTES 6 Delete interface attributes
DELETE_ALL_INTF_ATTRIBUTES 7 Delete all interface attributes
QUERY_ATTRIBUTES 8 Query attributes
QUERY_OWNERSHIP 9 Query ownership
QUERY_PUBLIC_IFL 10 Query public IFL
SET_TIMEOUT 11 Set timeout

ret_status

Name Number Description
SUCCESS 0 Success
FAILURE 1 Failure
OWNER 2 Owner
NOT_OWNER 3 Not Owner
OBJECT_FOUND 4 Object Found
OBJECT_NOT_FOUND 5 Object Not Found
OBJECT_CLI_OWNER 6 Object created by CLI commands
OBJECT_JAPI_OWNER 7 Object created by Japi commands
ATTRIBUTE_FOUND 8 Attribute found
ATTRIBUTE_NOT_FOUND 9 Attribute not found
NO_PORT_NAME 10 Port name not specified
NO_IFL_UNIT 11 IFL unit not specified
NO_IFF_FAMILY 12 IFF family not specified
NO_IP_ADDR 13 IP address not specified
NO_ARP_ADDR 14 ARP address not specified
NO_ARP_MAC 15 ARP MAC address not specified

InterfacesService

Method Name Request Type Response Type Description
InterfaceCreate InterfaceConfig ConfigResp Ifd configuration
InterfaceDelete InterfaceConfig ConfigResp
InterfaceLogicalCreate InterfaceLogicalConfig ConfigResp Ifl configuration
InterfaceLogicalDelete InterfaceLogicalConfig ConfigResp
InterfaceFamilyCreate InterfaceFamilyConfig ConfigResp IFF configuration
InterfaceFamilyDelete InterfaceFamilyConfig ConfigResp
InterfaceAddressCreate InterfaceAddressConfig ConfigResp IP address setting for interfaces
InterfaceAddressDelete InterfaceAddressConfig ConfigResp
InterfaceRTAddressCreate RTConfig ConfigResp RT address setting for interfaces
InterfaceRTAddressDelete RTConfig ConfigResp

AttrQueryService

List of interface attribute related query commands

Method Name Request Type Response Type Description
InterfacesQueryAttribute AttributeRequestInfo AttributeResponseInfo Attribute query

ObjectQueryService

List of object ownership related query commands

Method Name Request Type Response Type Description
isObjectOwner ObjectOwnershipQuery ObjectOwnershipResp Object query

TimeoutService

Method Name Request Type Response Type Description
setClientTimeout TimeoutInfo TimeoutResp Timeout settings

PublicIflService

List of Public IFL query commands

Method Name Request Type Response Type Description
isPublicIfl InterfaceLogicalConfig PublicIflResp Is the IFL public? (Created by CLI)

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type
double double double float
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 int
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
uint32 Uses variable-length encoding. uint32 int int/long
uint64 Uses variable-length encoding. uint64 long int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long
sfixed32 Always four bytes. int32 int int
sfixed64 Always eight bytes. int64 long int/long
bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode
bytes May contain any arbitrary sequence of bytes. string ByteString str