| [1] What is SMUX? |
| |
| SMUX is the snmp multiplexing protocol (RFC 1227). It can be used by an |
| snmp agent to query variables maintained by another user-level process. |
| |
| [2] Why is it relevant to net-snmp? |
| |
| The original ucd-snmp agent needed a mechanism to query statistics from |
| GateD. GateD has traditionally supported this functionality via SMUX. |
| Hence SMUX was implemented within the ucd-snmp framework to extract |
| routing protocol statistics from GateD. |
| |
| net-snmp continues to support smux, and many applications still use it. |
| |
| [3] What is GateD? |
| |
| GateD is the 'Gateway Daemon' which implements a variety of routing |
| protocols on a variety of platforms (OSes). This was formerly available |
| as open source, but has since been made closed and entirely un-free. |
| Other routing protocol daemons such a quagga (http://www.quagga.net) |
| support SMUX. |
| |
| [4] Can SMUX extract statistics from other user-level processes? |
| |
| Yes, the current implementation allows for the registration of any MIB |
| that might be registered by a SMUX peer. |
| |
| [5] How does it work? |
| |
| Assuming 'snmpd' is already up and running, when the SMUX peer comes up, |
| it identifies itself with an oid identifier and string password, and |
| registers any MIBs it would like to implement. When 'snmpd' receives |
| queries for these MIBs, it passes these queries to the peer. |
| |
| [6] Who implemented SMUX for ucd-snmp? |
| |
| SMUX was implemented by Rohit Dube. He had oodles of help from |
| ucd-snmp-coders (Dave, Niels, Wes, Simon, Felix, Leonti) and gated-people |
| (Acee, Feiyi, Larry, Sue). [If I missed somebody, sorry in advance and |
| do let me know]. Later, Nick Amato re-write the entire SMUX package so |
| the code today is mostly his. |
| |
| [7] How do I find out more about SMUX? |
| |
| Read the RFC and the code, mainly, but only for legacy code. |
| |
| *New* sub-agent development should use the AgentX protocol instead, |
| which is not only standardized (RFC 2741 + 2742), but is outright superior |
| to smux in a number of important ways (handles SET requests reliably, |
| able to handle overlapping registrations, aware of SNMPv3 contexts, etc.) |
| |
| Only build new smux support if you have to. |