Skip to content

Latest commit

 

History

History
191 lines (110 loc) · 5.39 KB

README.md

File metadata and controls

191 lines (110 loc) · 5.39 KB

Protocol Documentation

Table of Contents

Top

protobuf/snmp.proto

SNMP Protobuf.

A protobuf interface to SNMP functions.

Oid

Represents SNMP OID.

Field Type Label Description
oid string SNMP OID

OidList

Represents list of SNMP Oids

Field Type Label Description
oids string repeated List of SNMP OIDs

SnmpPDU

Represents a single SNMP PDU consisting of oid, type and a value.

The value is in any one of the following fields, determined by the type of value it stores.

Field Type Label Description
Name string OID
Type Asn1BER PDU Type (Asn1BER encoding type)
I32 int32 Stores 32-bit integer
I64 int64 Stores 64-bit signed integer
UI32 uint32 Stores 32-bit unsigned integer
UI64 uint64 Stores 64-bit unsigned integer
Str string Stores string

SnmpPDUs

Represents multiple SNMP PDU

Field Type Label Description
pdus SnmpPDU repeated

SnmpPacket

Field Type Label Description
Error uint32
Variable SnmpPDU repeated

Asn1BER

Asn1Ber Enum Type definitions

Name Number Description
EndOfContents 0
UnknownType 0
Boolean 1
Integer 2
BitString 3
OctetString 4
Null 5
ObjectIdentifier 6
ObjectDescription 7
IPAddress 64
Counter32 65
Gauge32 66
TimeTicks 67
Opaque 68
NsapAddress 69
Counter64 70
Uinteger32 71
OpaqueFloat 120
OpaqueDouble 121
NoSuchObject 128
NoSuchInstance 129
EndOfMibView 130

Command

The SNMP command service.

Method Name Request Type Response Type Description
Get OidList SnmpPacket SNMP Get given the list of OIDs
Set SnmpPDUs SnmpPacket SNMP Set
Walk Oid SnmpPDUs SNMP Walk and return all variables in one shot
StreamWalk Oid SnmpPDU stream Stream each SNMP PDU while running SNMP WALK from the given OID.

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