For example, to try example first run:
> cd .\src\main\config > .\run.bat
or:
$ cd ./src/main/config $ java -jar snmpToGrpc.jar
That's it!
From ASN.1 Type
linkDown NOTIFICATION-TYPE OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } STATUS current DESCRIPTION "A linkDown trap signifies that the SNMP entity, acting in an agent role, has detected that the ifOperStatus object for one of its communication links is about to enter the down state from some other state (but not from the notPresent state). This other state is indicated by the included value of ifOperStatus." ::= { snmpTraps 3 }
To Protocol Buffers Type
rpc TrplinkDown (LInkDownKey) returns (NoKey) {} ... // nodeName=linkDown message LInkDownKey { int32 ifIndex = 1; // Integer32 int32 ifAdminStatus = 2; // INTEGER int32 ifOperStatus = 3; // INTEGER }
From ASN.1 Type
ifEntry OBJECT-TYPE SYNTAX IfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing management information applicable to a particular interface." INDEX { ifIndex } ::= { ifTable 1 } IfEntry ::= SEQUENCE { ifIndex InterfaceIndex, ifDescr DisplayString, ifType IANAifType, ifMtu Integer32, ifSpeed Gauge32, ifPhysAddress PhysAddress, ifAdminStatus INTEGER, ifOperStatus INTEGER, ifLastChange TimeTicks, ifInOctets Counter32, ifInUcastPkts Counter32, ifInNUcastPkts Counter32, -- deprecated ifInDiscards Counter32, ifInErrors Counter32, ifInUnknownProtos Counter32, ifOutOctets Counter32, ifOutUcastPkts Counter32, ifOutNUcastPkts Counter32, -- deprecated ifOutDiscards Counter32, ifOutErrors Counter32, ifOutQLen Gauge32, -- deprecated ifSpecific OBJECT IDENTIFIER -- deprecated }
To Protocol Buffers Type
rpc SetIFEntry (IFEntryKeyIndex) returns (NoKey) {} rpc GetIFEntry (IFEntryIndex) returns (IFEntryKey) {} rpc SayIFEntry (NoKey) returns (stream IFEntryIndex) {} ... message IFEntryKeyIndex { IFEntryKey key = 1; IFEntryIndex value = 2; } message IFEntryIndex { int32 ifIndex = 1; // Integer32 } message IFEntryKey { int32 ifType = 1; // IANAifType int32 ifMtu = 2; // Integer32 bytes ifPhysAddress = 3; // OCTET STRING uint32 ifInDiscards = 4; // Counter32 uint32 ifOutUcastPkts = 5; // Counter32 uint32 ifSpeed = 6; // Gauge32 uint32 ifInNUcastPkts = 7; // Counter32 uint32 ifInErrors = 8; // Counter32 string ifDescr = 9; // DisplayString bytes ifLastChange = 10; // TimeTicks uint32 ifOutDiscards = 11; // Counter32 uint32 ifOutQLen = 12; // Gauge32 uint32 ifInUnknownProtos = 13; // Counter32 uint32 ifInUcastPkts = 14; // Counter32 uint32 ifOutOctets = 15; // Counter32 uint32 ifInOctets = 16; // Counter32 uint32 ifOutErrors = 17; // Counter32 uint32 ifOutNUcastPkts = 18; // Counter32 }
From ASN.1 Type
ifTestId OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object identifies the current invocation of the interface's test." ::= { ifTestEntry 1 }
To Protocol Buffers Type
rpc SetIFTestId (IFTestIdKey) returns (NoKey) {} rpc GetIFTestId (NoKey) returns (IFTestIdKey) {} ... message IFTestIdKey { int32 ifTestId = 1; // INTEGER }
To Protocol Buffers(Java) Type
LinkDownKey key = LinkDownKey .newBuilder() .setIfIndex(1) .setIfAdminStatus(2) .setIfOperStatus(3) .build();
To SNMP4j Type
LinkDownKey key = LinkDownKeySnmpBuilder .newBuilder() .setIfIndex(new org.snmp4j.smi.Integer32(1)) .setIfAdminStatus(new org.snmp4j.smi.Integer32(2)) .setIfOperStatus(new org.snmp4j.smi.Integer32(3)) .build();
To Protocol Buffers(Java) Type
LinkDownKey key = ... // int ifIndex = key.getIfIndex(); int ifAdmin = key.getIfAdminStatus(); int ifOper = key.getIfOperStatus();
To SNMP4j Type
LinkDownKey work = ... LinkDownKeySnmpWrapper key = new LinkDownKeySnmpWrapper(work); // org.snmp4j.smi.Integer32 ifIndex = key.getIfIndex(); org.snmp4j.smi.Integer32 ifAdmin = key.getIfAdminStatus(); org.snmp4j.smi.Integer32 ifOper = key.getIfOperStatus();
@see "jp.ne.ruru.park.ando.jstg.MessageCreator"
ASN.1 Type | SNMP4j Type | Java Type | Protocol Buffers Type |
---|---|---|---|
DisplayString | java.lang.String | java.lang.String | string |
AutonomousType | org.snmp4j.smi.OctetString | byte [] | bytes |
OBJECT IDENTIFIER | org.snmp4j.smi.OID | int [] | repeated uint32 |
OCTET STRING | org.snmp4j.smi.OctetString | byte [] | bytes |
Opaque | org.snmp4j.smi.OctetString | byte [] | bytes |
INTEGER | org.snmp4j.smi.Integer32 | int | int32 |
IANAifType | org.snmp4j.smi.Integer32 | int | int32 |
IANAtunnelType | org.snmp4j.smi.Integer64 | long | int64 |
Integer | org.snmp4j.smi.Integer32 | int | int32 |
Integer32 | org.snmp4j.smi.Integer32 | int | int32 |
Integer64 | org.snmp4j.smi.Counter64 | long | int64 |
Unsigned | org.snmp4j.smi.UnsignedInteger32 | long | uint64 |
Unsigned32 | org.snmp4j.smi.UnsignedInteger32 | long | uint64 |
Unsigned64 | org.snmp4j.smi.Counter64 | long | uint64 |
Counter | org.snmp4j.smi.Counter32 | long | uint64 |
Counter32 | org.snmp4j.smi.Counter32 | long | uint64 |
Counter64 | org.snmp4j.smi.Counter64 | long | uint64 |
Gauge | org.snmp4j.smi.Gauge32 | long | uint64 |
Gauge32 | org.snmp4j.smi.Gauge32 | long | uint64 |
Gauge64 | org.snmp4j.smi.Counter64 | long | uint64 |
TimeTicks | org.snmp4j.smi.TimeTicks | long | uint64 |
InetAddressIPv6 | org.snmp4j.smi.OctetString | byte [] | bytes |
IpAddress | org.snmp4j.smi.OctetString | byte [] | bytes |
InetAddress | org.snmp4j.smi.OctetString | byte [] | bytes |
BITS | org.snmp4j.smi.OctetString | byte [] | bytes |
PhysAddress | org.snmp4j.smi.OctetString | byte [] | bytes |
MacAddress | org.snmp4j.smi.OctetString | byte [] | bytes |
TruthValue | org.snmp4j.smi.OctetString | byte [] | bytes |
TestAndIncr | org.snmp4j.smi.OctetString | byte [] | bytes |
AutonomousType | org.snmp4j.smi.OctetString | byte [] | bytes |
InstancePointer | org.snmp4j.smi.OctetString | byte [] | bytes |
CHOICE | org.snmp4j.smi.OctetString | byte [] | bytes |