GETNEXT command¶
- async pysnmp.hlapi.asyncio.next_cmd(snmpEngine: Any, authData: Any, transportTarget: Any, contextData: Any, *varBinds: Any, **options: Any) SnmpResponse¶
Perform SNMP GETNEXT.
This issues one GETNEXT and hands back what the agent answered. GETNEXT is lexicographic over the whole MIB, so the bindings that come back are simply the ones following those asked for – they are not bounded by the subtree named, and a caller walking a table with this will run off the end of it. To walk a subtree and stop where it ends, use
walk_cmd().- Parameters:
snmpEngine (
SnmpEngine) – Class instance representing SNMP engine.authData (
CommunityDataorUsmUserData) – Class instance representing SNMP credentials.transportTarget (
UdpTransportTargetorUdp6TransportTarget) – Class instance representing transport type along with SNMP peer address.contextData (
ContextData) – Class instance representing SNMP ContextEngineId and ContextName values.*varBinds (
ObjectType) – One or more class instances representing MIB variables to place into SNMP request.
- Other Parameters:
**options –
Request options:
lookupMib - load MIB and resolve response MIB variables at the cost of slightly reduced performance. Default is True.
ignoreValueErrors - what to do about a response value that will not cast to the syntax its MIB object declares. Default is None, which tolerates it and hands back the uncast value. False reports it as
SmiErrorinstead.A name the peer answered under a MIB this side has not loaded is a different matter and stays tolerated either way: it comes back as a bare OID, because raising would end a walk at the first such binding. Only lookupMib turns resolution off altogether.
- Returns:
errorIndication (str) – True value indicates SNMP engine error.
errorStatus (str) – True value indicates SNMP PDU error.
errorIndex (int) – Non-zero value refers to varBinds[errorIndex-1]
varBinds (tuple) – A sequence of sequences (e.g. 2-D array) of
ObjectTypeclass instances representing a table of MIB variables returned in SNMP response. Inner sequences represent table rows and ordered exactly the same as varBinds in request. Response to GETNEXT always contain a single row.
- Raises:
pysnmp.error.PySnmpError – Or its derivative indicating that an error occurred while performing SNMP operation.
Examples
>>> import asyncio >>> from pysnmp.hlapi.asyncio import * >>> >>> async def run(): ... errorIndication, errorStatus, errorIndex, varBinds = await next_cmd( ... SnmpEngine(), ... CommunityData('public'), ... UdpTransportTarget(('localhost', 161)), ... ContextData(), ... ObjectType(ObjectIdentity('SNMPv2-MIB', 'system')) ... ) ... print(errorIndication, errorStatus, errorIndex, varBinds) >>> >>> # Run the coroutine against a live agent, for example: >>> # asyncio.run(run())