:abbr:`SNMP (Simple Network Managing Protocol)` is a widely implemented feature for collecting network information from router and/or host. FRR itself does not support SNMP agent (server daemon) functionality but is able to connect to a SNMP agent using the the AgentX protocol (RFC 2741) and make the routing protocol MIBs available through it.
Note that SNMP Support needs to be enabled at compile-time and loaded as module on daemon startup. Refer to :ref:`loadable-module-support` on the latter.
Getting and installing an SNMP agent
The supported SNMP agent is AgentX. We recommend to use the latest version of net-snmp which was formerly known as ucd-snmp. It is free and open software and available at http://www.net-snmp.org/ and as binary package for most Linux distributions.
.. program:: configure
To enable AgentX protocol support, FRR must have been build with the
:option:`--enable-snmp` or --enable-snmp=agentx option. Both the
master SNMP agent (snmpd) and each of the FRR daemons must be configured. In
master agentx directive should be added.
In each of the FRR daemons,
agentx command will enable AgentX support.
# # example access restrictions setup # com2sec readonly default public group MyROGroup v1 readonly view all included .1 80 access MyROGroup "" any noauth exact all none none # # enable master agent for AgentX subagents # master agentx
! ... the rest of ospfd.conf has been omitted for clarity ... ! agentx !
Upon successful connection, you should get something like this in the log of each FRR daemons:
2012/05/25 11:39:08 ZEBRA: snmp[info]: NET-SNMP version 5.4.3 AgentX subagent connected
Then, you can use the following command to check everything works as expected:
# snmpwalk -c public -v1 localhost .184.108.40.206.220.127.116.11.1 OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109 [...]
The AgentX protocol can be transported over a Unix socket or using TCP or UDP. It usually defaults to a Unix socket and depends on how NetSNMP was built. If need to configure FRR to use another transport, you can configure it through :file:`/etc/snmp/frr.conf`:
[snmpd] # Use a remote master agent agentXSocket tcp:192.168.15.12:705
Here is the syntax for using AgentX:
.. index:: agentx
.. clicmd:: agentx
.. index:: no agentx
.. clicmd:: no agentx