Skip to content

Commit cbe3ad0

Browse files
yejianquanprabhataravind
authored andcommitted
Update snmpd.conf.j2 prolong agentXTimeout to avoid timeout failure in high CPU utilization scenario (sonic-net#21316)
Why I did it Fix sonic-net#21314 Update and prolong the timeout of the requests between snmpd and SNMP AgentX. In SONiC SNMP AgentX, the MIB updaters and AgentX client shares the same AsyncIO/Coroutine event loop. During the MIB updaters update the SNMP values, the AgentX client can't respond to the snmpd request. The default value of snmpd request is 1s(timeout) * 5(retries) When the CPU is high, the MIB updaters are slow, 1s timeout is not enough, even if it retries 5 times. Hence update to 5s(timeout) * 4(retries), the time windows = 20s, which makes sure the SNMP request can be handled even with 100% CPU utilization. Work item tracking Microsoft ADO 30112399: How I did it Update the default value(https://linux.die.net/man/5/snmpd.conf): agentXTimeout 1(default value) -> 5 agentXRetries 5(default value) -> 4 How to verify it Test on Cisco chassis, test_snmp_cpu.py which triggers 100% CPU utilization test whether snmp requests work well.
1 parent e5adade commit cbe3ad0

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

dockers/docker-snmp/snmpd.conf.j2

+3
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ trapsink {{ v3SnmpTrapIp }}:{{ v3SnmpTrapPort }}{% if v3SnmpTrapVrf != 'None' %}
194194
#
195195
# Run as an AgentX master agent
196196
master agentx
197+
agentXTimeout 5
198+
agentXRetries 4
199+
197200
# internal socket to allow extension to other docker containers
198201
# Currently the other container using this is docker-fpm-frr
199202
# make sure this line matches bgp:/etc/snmp/frr.conf

0 commit comments

Comments
 (0)