In the SNMPv1/v2 master agent example, proxy registration is identical to standard MIB registration. The proxies are created as shown in the following example.
[...] // First we need to create a peer to the distant sub agent. // final SnmpPeer peer = new SnmpPeer(host, Integer.parseInt(port)); final SnmpParameters p = new SnmpParameters(); // The sub agent is seen as a SNMPv2. // p.setProtocolVersion(SnmpDefinitions.snmpVersionTwo); //Set the parameters to the peer. // peer.setParams(p); // SnmpProxy creation. // final SnmpProxy proxy = new SnmpProxy(snmpAdaptor.getEngine(), peer,"1.3.6.1.2.1"); // A SnmpProxy is also an MBean. Register it in the // MBeanServer. // proxyObjName= new ObjectName("snmp:class=SnmpProxy"); server.registerMBean(proxy, proxyObjName); proxy.setSnmpAdaptorName(snmpObjName); [...]
To instantiate and register the proxy, the MasterAgent example first of all creates a peer to the subagent using new SnmpPeer(), and creates security parameters p using the SnmpParameters() method. It then sets the subagent as an SMNPv2 agent using setProtocolVersion.
The MasterAgent passes the parameters p to the new peer using peer.setParams. Finally, MasterAgent creates the proxy, passing it the following information:
The adaptor's engine ID, via snmpAdaptor.getEngine()
The peer
The distant MIB's OID, 1.3.6.1.2.1