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 <fen...@gmail.com> ha scritto:
> 
>     On Tue, Jun 27, 2017 at 11:37 AM, <corvace.fabri...@libero.it 
> mailto:corvace.fabri...@libero.it > 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 
> > <fen...@gmail.com mailto:fen...@gmail.com > ha scritto:
> > > 
> > >             On Thu, Jun 22, 2017 at 10:37 AM, corvace.fabrizio--- via 
> > > Net-snmp-users <net-snmp-users@lists.sourceforge.net 
> > > mailto:net-snmp-users@lists.sourceforge.net > 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
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to