Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Over time, several SNMP device support have been implemented, most (or all) of them derived from DESY's implementation, including one from Sheng Peng, Diamond's and NSCL/FRIB. By 2013, most were willing to test NSCL/FRIB's implementation or to switch to it [1]. Advantages by then were: - no memory leak (opposed to Sheng Peng's implementation) - easier to work with (compared to original DESY implementation) - supports SNMP writes (compared to Sheng's) - depends more heavily on libsnmp (compared to Diamond's implementation) Nowadays, Sheng Peng's implementation seems not to be developed anymore, as well as Diamond's. From all forks, NSCL/FRIB and SLAC are still around [2]. Between the two, slac-epics/snmp has been preferred over NSCL/FRIB module [3] (also forked in slac-epics/epics-snmp [4]) to be used here due to: - more record types being supported by the device support, including mbbo [5, 6], which is interesting for our IOCs; - its simpler repository structure and configuration, which can be easily integrated in our build system. Changing from one implementation to the other is a matter of changing the record DTYP used and restricting to the subset of supported record types. Beyond that, record API is the same. Therefore, changing the implementation in the future does have costs, but it should not be very high. Co-authored-by: Henrique F. Simoes <[email protected]> [1]: https://epics.anl.gov/tech-talk/2013/msg00537.php [2]: https://epics.anl.gov/tech-talk/2024/msg00889.php [3]: https://groups.nscl.msu.edu/controls/files/devSnmp.html [4]: https://github.com/slac-epics/epics-snmp [5]: https://github.com/slac-epics/snmp/blob/134fbfd91ac83974730093330781cd1217017382/devSnmpApp/src/devSnmp.dbd [6]: https://github.com/slac-epics/epics-snmp/blob/12a9cfa7b5b07bee17ae8ba7a74b460dd72811e6/snmpApp/src/devSnmp.dbd
- Loading branch information