Re: Sending signed values problem
"corvace.fabrizio--- via Net-snmp-users" <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <[email protected]> |
The problem is that the OID is a 16bit Integer, if i send -256 i get a 2byte signed value, but if i send any value between 0 and -128 i get a 1byte signed value, thus losing the range from -128 to -256, same thing for the positive range. I'm sorry, in the last mail i gave the wrong example reporting -130. > Il 27 giugno 2017 alle 18.35 Bill Fenner <[email protected]> ha scritto: > > On Tue, Jun 27, 2017 at 11:37 AM, <[email protected] mailto:[email protected] > wrote: > > > > > > Thank you so much for the reply, the command i'm using is the following: > > > > snmpset -v 2c -c public "IP" "OID" = -100 > > > > Watching the data over wireshark tho, the data length for that command is 1. > > > > But if i send for example -130 i get a data length of 2. > > > > > Yes, that is correct behavior. What is the problem? > > Bill > > > > > > > > > > Il 27 giugno 2017 alle 16.51 Bill Fenner <[email protected] mailto:[email protected] > ha scritto: > > > > > > On Thu, Jun 22, 2017 at 10:37 AM, corvace.fabrizio--- via Net-snmp-users <[email protected] mailto:[email protected] > wrote: > > > > > > > > > > > > > > Hello, > > > > > > > > I'm currently struggling with a data problem. > > > > > > > > I have a system where i have to SET a value, the value is of type Integer (-32768.32767). > > > > > > > > When sending a value over 255 i have no problem with sign, if i scan with wireshark i see a transmission of ASN type 2(Integer) with 2 bytes of data, and the data is correctly sent with sign. > > > > > > > > But whenever i try to send a value that is less that 256, therefore fits in a byte, the transmission is still of type 2, but it sends out one single byte of data, thus cutting out the range from -129 to -255 and from +128 to +255. > > > > > > > > I would have thought that since the OID is of type Integer (explicitly 16bit) the data would still have been sent as 2bytes. > > > > > > > > > > > BER encoding is variable length, no matter what the restrictions on the range of the integer - restrictions like that are managed at a higher layer. > > > > > > As you surmise, the BER encoding of values from -129 to -255 and +128 to +255 are two bytes long. > > > > > > > > > > > > > > I tried looking for a way of forcing 2 byte data send, but with no luck. Am i missing something? > > > > > > > > > > > How are you sending your data? I do not know of a way to force net-snmp to behave in this incorrect way. > > > > > > Bill > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Net-snmp-users mailing list [email protected] Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users