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 (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 loadable-module-support
on the latter.
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.
configure
To enable AgentX protocol support, FRR must have been build with the --enable-snmp
or --enable-snmp=agentx option. Both the master SNMP agent (snmpd) and each of the FRR daemons must be configured. In /etc/snmp/snmpd.conf
, the master agentx
directive should be added. In each of the FRR daemons, agentx
command will enable AgentX support.
/etc/snmp/zebra.conf
:
#
# 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
/etc/frr/ospfd.conf:
! ... 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 .1.3.6.1.2.1.14.1.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 /etc/snmp/frr.conf
:
[snmpd]
# Use a remote master agent
agentXSocket tcp:192.168.15.12:705
Here is the syntax for using AgentX:
agentx
agentx
no agentx
no agentx