Protocol Documentation

Table of Contents

jnx_addr.proto

Top

This IDL describes the APIs available for Junos OS addressing in the common API framework.

IpAddress

An IP address - This may be either IPv4 or IPv6. It can be respresented by either a string or an array of binary bytes.

FieldTypeLabelDescription
addr_string string optional

IP address string in standard format

addr_bytes bytes optional

Binary IP address in network-ordered array of bytes

MacAddress

An ethernet MAC address - This may be respresented by either a string or an array of binary bytes.

FieldTypeLabelDescription
addr_string string optional

MAC address string in standard format

addr_bytes bytes optional

Binary MAC address in network-ordered array of bytes

AddressFormat

The format of network addresses that the server uses when responding to client requests.

NameNumberDescription
ADDRESS_STRING 0

Addreses in replies are represented by strings

ADDRESS_BYTES 1

Addreses in replies are represented by binary data in byte arrays

AfType

Address family of a network address.

NameNumberDescription
AF_UNSPECIFIED 0

Not specified

AF_INET 1

IPv4 address family

AF_INET6 2

IPv6 address family

AF_MAC 3

Ethernet MAC address family

Scalar Value Types

.proto TypeNotesC++ TypeJava TypePython 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