Merge branch 'master' of c-leuse:cerebrum
[cerebrum.git] / tools / cerebrum-snmpd.py
blob7583fd5c4fff83a0b4d549f40a67923debf10362
1 #!/usr/bin/env python3
2 from pysnmp.entity import engine, config
3 from pysnmp.entity.rfc3413 import cmdrsp, context
4 from pysnmp.carrier.asynsock.dgram import udp
6 snmpEngine = engine.SnmpEngine()
7 config.addSocketTransport( snmpEngine, udp.domainName, udp.UdpTransport().openServerMode(('127.0.0.1', 161)) )
8 config.addV1System( snmpEngine, 'c-base', 'public' )
9 config.addV3User( snmpEngine, 'usr-none-none' )
10 config.addContest( snmpEngine, '' )
11 config.addVacmUser( snmpEngine, 1, 'c-base', 'noAuthNoPriv', (1,3,6), (1,3,6) )
12 config.addVacmUser( snmpEngine, 2, 'c-base', 'noAuthNoPriv', (1,3,6), (1,3,6) )
13 config.addVacmUser( snmpEngine, 3, 'usr-none-none', 'noAuthNoPriv', (1,3,6), (1,3,6) )
15 snmpContext = context.snmpContext( snmpEngine )
16 cmdrsp.GetCommandResponder( snmpEngine, snmpContext )
17 cmdrsp.SetCommandResponder( snmpEngine, snmpContext )
18 cmdrsp.NextCommandResponder( snmpEngine, snmpContext )
19 cmdrsp.BulkCommandResponder( snmpEngine, snmpContext )
21 snmpEngine.transportDispatcher.jobStarted(1)
22 try:
23 snmpEngine.transportDispatcher.runDispatcher()
24 except:
25 snmpEngine.transportDispatcher.closeDispatcher()
26 raise