Public API for the DCD services.
This IDL defines the APIs for interface services.
Message structure for attribute query commands
Field | Type | Label | Description |
port_name | string | optional | String value for the physical interface (IFD) name |
ifl_unit | Value32 | optional | 32-bit integer value for the logical interface (IFL) unit number |
family | FamilyType | optional | Integer value indicating the protocol family. Currently only INET (2) and INET6 (28) are supported. |
interface_address | IpAddress | optional | String or byte value indicating the interface IP address |
arp_address | IpAddress | optional | String or byte value indicating the interface ARP address |
string_attr_list | string_attr | repeated | A list of string type attributes for the interface |
integer_attr_list | integer_attr | repeated | A list of integer type attributes for the interface |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
Message structure for attribute query response
Field | Type | Label | Description |
status | ret_status | optional | The return status of the query |
error_message | string | optional | A string value containing the returned error message |
string_attr_list | string_attr | repeated | A list of string type attributes for the interface |
integer_attr_list | integer_attr | repeated | A list of integer type attributes for the interface |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
Response messages for configuration commands
Field | Type | Label | Description |
status | ret_status | optional | Return status of the command. O indicates success. 1 indicates failure. Other statuses are possible. |
error_message | string | optional | A string value containing the error message |
request_id | int64 | optional | A 64-bit integer value for the request ID |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
Messages for interface address (IFA) objects configuration.
For example:
set interfaces ge-1/1/6 unit 0 family inet address 192.0.2.1/24
set interfaces ge-1/1/6 unit 0 family inet6 address 2001:db8::1/32
Field | Type | Label | Description |
port_name | string | optional | A string value for the physical interace (IFD) name |
ifl_unit | Value32 | optional | A 32-bit integer value for the logical interface (IFL) unit number |
family | FamilyType | optional | An integer value indicating the address family. Currently supported families are INET and INET6 |
interface_address | IpAddress | optional | IP address value |
string_attr_list | string_attr | repeated | A list of string type attributes for the address family |
integer_attr_list | integer_attr | repeated | A list of integer type attributes for the address family |
operation | int32 | optional | A 32-bit integer value for the operation to be performed |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value indicating the request ID |
These messages are related to physical interface (IFD) object configurations
For example:
set interfaces ge-1/1/6 vlan-tagging
set interfaces ge-1/1/6 encapsulation extended-vlan-bridge
Field | Type | Label | Description |
port_name | string | optional | String defining the port name |
tagging | InterfaceTaggingType | optional | Defines tagging type used on the interface |
encap | InterfaceEncapsulationType | optional | Defines the encapsulation type used on the interface |
aggregate_members | string | repeated | List of members of the aggregate ethernet interface |
string_attr_list | string_attr | repeated | List of string attributes applied to the interface |
integer_attr_list | integer_attr | repeated | List of integer attributes applied to the interface |
operation | int32 | optional | The operation to perform on the interface |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | The request ID |
Messages for interface protocol family (IFF) objects configuration
For example:
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
Field | Type | Label | Description |
port_name | string | optional | A string value for the physical interface name |
ifl_unit | Value32 | optional | A 32-bit integer value for the logical interface unit number |
family | FamilyType | optional | The family type value. Currently, this must be INET or INET6. |
string_attr_list | string_attr | repeated | A list of string type attributes for the family |
integer_attr_list | integer_attr | repeated | A list of integer type attributes for the family |
operation | int32 | optional | A 32-bit integer value indicating the operation. |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value indicating the request ID |
Messages for logical interface (IFL) object configuration
For example:
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
Field | Type | Label | Description |
port_name | string | optional | A string value for the physical interface name |
ifl_unit | int32 | optional | A 32-bit integer value for the logical interface unit number |
lr_name | string | optional | LR name |
bd_name | string | optional | A string value for the bridge domain name |
ri_name | string | optional | A string value for the routing instance name |
status | IfStatus | optional | Interface status information |
string_attr_list | string_attr | repeated | A list of string type attributes for the logical interface |
integer_attr_list | integer_attr | repeated | A list of integer type attributes for the logical interface |
operation | int32 | optional | The integer value for the operation to be performed |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
IP address definition
Field | Type | Label | Description |
addr_string | string | optional | Provide IP address in string format |
addr_bytes | bytes | optional | Provide IP address in byte format |
MAC address definition
Field | Type | Label | Description |
addr_string | string | optional | Provide MAC address in string format |
addr_bytes | bytes | optional | Provide MAC address in byte format |
Message structure for object ownership query command
Field | Type | Label | Description |
port_name | string | optional | A string value for the physical interace (IFD) name |
ifl_unit | Value32 | optional | A 32-bit integer value for the logical interface (IFL) unit number |
family | FamilyType | optional | The family type value. Currently, this must be INET or INET6. |
interface_address | IpAddress | optional | A string or byte value indicating the IP address |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
Message structure for ownership query response
Field | Type | Label | Description |
status | ret_status | optional | A 32-bit integer value containing the return status of the query |
error_message | string | optional | A string value containing the returned error message |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
Message structure for public (CLI-created) logical interface (IFL) query response
Field | Type | Label | Description |
status | ret_status | optional | A 32-bit integer value containing the return status of the query |
error_message | string | optional | A string value containing the returned error message |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
Field | Type | Label | Description |
port_name | string | optional | A string value for the physical interface (IFD) name |
ifl_unit | Value32 | optional | A 32-bit integer value for the logical interface (IFL) unit number |
family | FamilyType | optional | A 32-bit integer value for the interface address family. Currently only INET (2) and INET6 (28) are supported. |
interface_address | IpAddress | optional | A string or byte value indicating the IP address |
arp_address | IpAddress | optional | A string or byte value indicating the ARP address |
string_attr_list | string_attr | repeated | A list of string type attributes |
integer_attr_list | integer_attr | repeated | A list of integer type attributes |
operation | int32 | optional | A 32-bit integer value for the operation being performed |
client_ctx | int32 | optional | Placeholder for client specific information (Not currently used) |
request_id | int64 | optional | A 64-bit integer value for the request ID |
API for setting timeout in seconds for the client
Field | Type | Label | Description |
timeout | int32 | optional |
Field | Type | Label | Description |
status | ret_status | optional | A 32-bit integer value containing the return status of the query |
error_message | string | optional | A string value containing the returned error message |
Logical interface (IFL) object related messages
Field | Type | Label | Description |
unit | int32 | optional |
Integer attribute definition
Field | Type | Label | Description |
attr_name | string | optional | Integer attribute name |
attr_value | int32 | optional | Integer attribute value |
String attribute definition
Field | Type | Label | Description |
attr_name | string | optional | String attribute name |
attr_value | string | optional | String attribute value |
This data type defines IP address and MAC address formats
Name | Number | Description |
ADDRESS_STRING | 0 | String format |
ADDRESS_BYTES | 1 | Byte format |
This data type is for defining the address family type
Name | Number | Description |
INTF_AF_UNKNOWN | 0 | Address family unknown |
INTF_AF_INET | 2 | INET address family |
INTF_AF_INET6 | 28 | INET6 address family |
This data type is for defining interface status.
Name | Number | Description |
INTF_DOWN | 0 | Interface down |
INTF_UP | 1 | Interface up |
Name | Number | Description |
VLAN_BRIDGE | 0 | VLAN bridge encapsulation |
VLAN_EXTENDED_BRIDGE | 1 | VLAN extended bridge encapsulation |
INTERFACE_ENCAP_MAX | 2 | No encapuslation |
This data type is for defining interface tagging type
Name | Number | Description |
VLAN_TAGGING | 0 | VLAN tagging |
INTERFACE_TAGGING_MAX | 1 | None |
This data type defines the available operations
Name | Number | Description |
UNKNOWN | 0 | Unknown operation |
ADD_INTERFACE | 1 | Add an interface |
DELETE_INTERFACE | 2 | Delete an interface |
ADD_AE_MEMBER | 3 | Add a member to an aggregate ethernet (AE) interface |
DELETE_AE_MEMBER | 4 | Delete a member from an aggregate ethernet (AE) interface |
ADD_INTF_ATTRIBUTES | 5 | Add attributes to an interface |
DELETE_INTF_ATTRIBUTES | 6 | Delete attributes from an interface |
DELETE_ALL_INTF_ATTRIBUTES | 7 | Delete all attributes from an interface |
QUERY_ATTRIBUTES | 8 | Query an interface for its attributes |
QUERY_OWNERSHIP | 9 | Query an interface for its ownership information |
QUERY_PUBLIC_IFL | 10 | Query a logical interface to see if it was created by CLI (public) |
SET_TIMEOUT | 11 | Set the timeout value for API clients |
This data type defines the available return status messages.
Name | Number | Description |
SUCCESS | 0 | Integer value indicating success (0) |
FAILURE | 1 | Integer value indicating failure (1) |
OWNER | 2 | Client is the owner of the interface object that is being created or modified |
NOT_OWNER | 3 | Client is not the owner of the interface object that is being created or modified |
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 | Physical interface (IFD) name not specified |
NO_IFL_UNIT | 11 | Logical interface (IFL) not specified |
NO_IFF_FAMILY | 12 | Address family (IFF) 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 |
List of interface related config commands
Method Name | Request Type | Response Type | Description |
InterfaceCreate | InterfaceConfig | ConfigResp | Physical interface (IFD) configuration |
InterfaceDelete | InterfaceConfig | ConfigResp | Delete IFD configuration |
InterfaceLogicalCreate | InterfaceLogicalConfig | ConfigResp | Logical interface (IFL) configuration |
InterfaceLogicalDelete | InterfaceLogicalConfig | ConfigResp | Delete IFL configuration |
InterfaceFamilyCreate | InterfaceFamilyConfig | ConfigResp | Interface protocol family (IFF) configuration |
InterfaceFamilyDelete | InterfaceFamilyConfig | ConfigResp | Delete IFF configuration |
InterfaceAddressCreate | InterfaceAddressConfig | ConfigResp | IP address setting for interfaces |
InterfaceAddressDelete | InterfaceAddressConfig | ConfigResp | Delete interface IP address configuration |
InterfaceRTAddressCreate | RTConfig | ConfigResp | RT address setting for interfaces (ARP address for inet and NDP address for inet6 |
InterfaceRTAddressDelete | RTConfig | ConfigResp | Delete RT address configuration |
List of interface attribute related query commands
Method Name | Request Type | Response Type | Description |
InterfacesQueryAttribute | AttributeRequestInfo | AttributeResponseInfo | Method used to perform interface attribute queries |
List of object ownership related query commands
Method Name | Request Type | Response Type | Description |
isObjectOwner | ObjectOwnershipQuery | ObjectOwnershipResp | Method used to perform object ownership queries |
Method Name | Request Type | Response Type | Description |
setClientTimeout | TimeoutInfo | TimeoutResp | Method used to set client timeout value |
List of public (CLI created) logical interface (IFL) query commands
Method Name | Request Type | Response Type | Description |
isPublicIfl | InterfaceLogicalConfig | PublicIflResp | Method used to determine if a logical interface is public (interface created by CLI) |
.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 |