Hi Euan,
I have also had a hack at devSnmp (but I didn't get terribly far).
My issue was that I had a problem when it sends out snmpGet requests -
my version seemed to lose a lot of transactions at higher load levels,
which the example program doesn't. I poll 36 devices every 10 seconds
for about 3 values each and the 36th device often doesn't respond. If I
poll every 5 seconds only the first 10 or so devices respond. If I
understand this correctly, under the hood it is actually continually
polling waiting for an answer, and the 10 second timeout just means that
it got no response in 10 seconds, despite multiple tries. However, the
example program can poll all devices reliably in a few 10ths of a
second. I think it is because the UDP messages are getting lost because
of the way the driver synchronizes the get's, and the sample program
avoids this by serializing the messages slightly.
In looking at this, I replaced a number of the helper libraries with the
standard EPICS equivalents during the analysis phase, so the amount of
code is now much less, but I must admit I never fixed the main problem
because polling slower was a work around and I didn't get back to fix it
properly.
However, reading your slides, it seems your changes are much more
ambitious and may also address the problem. However, we don't like to
run as root very much, so is the trap handling an essential part of your
code, or can it be ifdef'ed out whilst still preserving other benefits?
Some of the restructuring seems along the lines I was thinking.
I wouldn't mind having a copy of your code to see how it works, and I
certainly think we should work on getting a new devSnmp release out.
Cheers,
Nick Rees
Principal Software Engineer Phone: +44 (0)1235-778430
Diamond Light Source Fax: +44 (0)1235-446713
--
Scanned by iCritical.
- References:
- Re: choosing snmp version Euan Troup
- Navigate by Date:
- Prev:
reading with the asyn record Patrick Thomas
- Next:
Re: reading with the asyn record Eric Norum
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: choosing snmp version Euan Troup
- Next:
reading with the asyn record Patrick Thomas
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|