GETNEXT command¶
-
pysnmp.hlapi.
nextCmd
(snmpEngine, authData, transportTarget, contextData, *varBinds, **options)¶ Creates a generator to perform one or more SNMP GETNEXT queries.
On each iteration, new SNMP GETNEXT request is send (RFC 1905#section-4.2.2). The iterator blocks waiting for response to arrive or error to occur.
Parameters: - snmpEngine (
SnmpEngine
) – Class instance representing SNMP engine. - authData (
CommunityData
orUsmUserData
) – Class instance representing SNMP credentials. - transportTarget (
UdpTransportTarget
orUdp6TransportTarget
) – 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. Default is True.
- lexicographicMode - stop iteration when all response MIB variables leave the scope of initial MIB variables in varBinds. Default is True.
- ignoreNonIncreasingOid - continue iteration even if response MIB variables (OIDs) are not greater then request MIB variables. Default is False.
- maxRows - stop iteration once this generator instance processed maxRows of SNMP conceptual table. Default is 0 (no limit).
- maxCalls - stop iteration once this generator instance processed maxCalls responses. Default is 0 (no limit).
Yields: - 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
ObjectType
class instances representing MIB variables returned in SNMP response.
Raises: PySnmpError
– Or its derivative indicating that an error occurred while performing SNMP operation.Notes
The nextCmd generator will be exhausted on any of the following conditions:
- SNMP engine error occurs thus errorIndication is True
- SNMP PDU errorStatus is reported as True
- SNMP
EndOfMibView
values (also known as SNMP exception values) are reported for all MIB variables in varBinds - lexicographicMode option is set to False and all response MIB variables leave the scope of varBinds
At any moment a new sequence of varBinds could be send back into running generator (supported since Python 2.6).
Examples
>>> from pysnmp.hlapi.asyncore import * >>> g = nextCmd(SnmpEngine(), ... CommunityData('public'), ... UdpTransportTarget(('demo.snmplabs.com', 161)), ... ContextData(), ... ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr'))) >>> next(g) (None, 0, 0, [ObjectType(ObjectIdentity(ObjectName('1.3.6.1.2.1.1.1.0')), DisplayString('SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m'))]) >>> g.send( [ ObjectType(ObjectIdentity('IF-MIB', 'ifInOctets')) ] ) (None, 0, 0, [(ObjectName('1.3.6.1.2.1.2.2.1.10.1'), Counter32(284817787))])
- snmpEngine (