summaryrefslogtreecommitdiff
path: root/pysnmp
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2019-02-17 11:58:32 +0100
committerGitHub <noreply@github.com>2019-02-17 11:58:32 +0100
commit5ac020f1fc7dfa8b42cabe3023d0e94fdc634dd2 (patch)
tree4850ae0ad0cac7fc622a00393c3d8f299c6956a2 /pysnmp
parent7a8838eeaf2a94a4ee8d309f2091a4fde13e5afc (diff)
downloadpysnmp-git-5ac020f1fc7dfa8b42cabe3023d0e94fdc634dd2.tar.gz
PEP-8 included MIB modules (#243)
The base Pythonized MIBs being shipped with pysnmp have been rebuilt with the latest pysmi mainly for the purpose of making them PEP-8 compliant.
Diffstat (limited to 'pysnmp')
-rw-r--r--pysnmp/smi/mibs/ASN1-ENUMERATION.py8
-rw-r--r--pysnmp/smi/mibs/ASN1-REFINEMENT.py8
-rw-r--r--pysnmp/smi/mibs/ASN1.py10
-rw-r--r--pysnmp/smi/mibs/INET-ADDRESS-MIB.py524
-rw-r--r--pysnmp/smi/mibs/PYSNMP-MIB.py205
-rw-r--r--pysnmp/smi/mibs/PYSNMP-SOURCE-MIB.py218
-rw-r--r--pysnmp/smi/mibs/PYSNMP-USM-MIB.py520
-rw-r--r--pysnmp/smi/mibs/RFC1158-MIB.py49
-rw-r--r--pysnmp/smi/mibs/RFC1213-MIB.py2759
-rw-r--r--pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py636
-rw-r--r--pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py601
-rw-r--r--pysnmp/smi/mibs/SNMP-MPD-MIB.py270
-rw-r--r--pysnmp/smi/mibs/SNMP-NOTIFICATION-MIB.py741
-rw-r--r--pysnmp/smi/mibs/SNMP-PROXY-MIB.py462
-rw-r--r--pysnmp/smi/mibs/SNMP-TARGET-MIB.py891
-rw-r--r--pysnmp/smi/mibs/SNMP-USER-BASED-SM-3DES-MIB.py156
-rw-r--r--pysnmp/smi/mibs/SNMP-USER-BASED-SM-MIB.py1025
-rw-r--r--pysnmp/smi/mibs/SNMP-USM-AES-MIB.py157
-rw-r--r--pysnmp/smi/mibs/SNMP-USM-HMAC-SHA2-MIB.py234
-rw-r--r--pysnmp/smi/mibs/SNMP-VIEW-BASED-ACM-MIB.py1063
-rw-r--r--pysnmp/smi/mibs/SNMPv2-CONF.py18
-rw-r--r--pysnmp/smi/mibs/SNMPv2-MIB.py1433
-rw-r--r--pysnmp/smi/mibs/SNMPv2-SMI.py99
-rw-r--r--pysnmp/smi/mibs/SNMPv2-TC.py655
-rw-r--r--pysnmp/smi/mibs/SNMPv2-TM.py296
-rw-r--r--pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py647
-rw-r--r--pysnmp/smi/mibs/instances/__PYSNMP-USM-MIB.py29
-rw-r--r--pysnmp/smi/mibs/instances/__SNMP-FRAMEWORK-MIB.py43
-rw-r--r--pysnmp/smi/mibs/instances/__SNMP-MPD-MIB.py36
-rw-r--r--pysnmp/smi/mibs/instances/__SNMP-TARGET-MIB.py31
-rw-r--r--pysnmp/smi/mibs/instances/__SNMP-USER-BASED-SM-MIB.py63
-rw-r--r--pysnmp/smi/mibs/instances/__SNMP-VIEW-BASED-ACM-MIB.py26
-rw-r--r--pysnmp/smi/mibs/instances/__SNMPv2-MIB.py278
33 files changed, 12211 insertions, 1980 deletions
diff --git a/pysnmp/smi/mibs/ASN1-ENUMERATION.py b/pysnmp/smi/mibs/ASN1-ENUMERATION.py
index 6b906def..6d9817ce 100644
--- a/pysnmp/smi/mibs/ASN1-ENUMERATION.py
+++ b/pysnmp/smi/mibs/ASN1-ENUMERATION.py
@@ -4,8 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This module supplies built-in ASN.1 types to the MIBs importing it.
+#
from pyasn1.type import namedval
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
mibBuilder.exportSymbols(
'ASN1-ENUMERATION',
NamedValues=namedval.NamedValues
diff --git a/pysnmp/smi/mibs/ASN1-REFINEMENT.py b/pysnmp/smi/mibs/ASN1-REFINEMENT.py
index 1f5bce27..4cdea375 100644
--- a/pysnmp/smi/mibs/ASN1-REFINEMENT.py
+++ b/pysnmp/smi/mibs/ASN1-REFINEMENT.py
@@ -4,8 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This module supplies built-in ASN.1 types to the MIBs importing it.
+#
from pyasn1.type import constraint
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
mibBuilder.exportSymbols(
'ASN1-REFINEMENT',
ConstraintsUnion=constraint.ConstraintsUnion,
diff --git a/pysnmp/smi/mibs/ASN1.py b/pysnmp/smi/mibs/ASN1.py
index f7ba6d56..24a64030 100644
--- a/pysnmp/smi/mibs/ASN1.py
+++ b/pysnmp/smi/mibs/ASN1.py
@@ -4,9 +4,17 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This module supplies built-in ASN.1 types to the MIBs importing it.
+#
+from pysnmp.proto import rfc1902
+
from pyasn1.type import univ
-from pysnmp.proto import rfc1902
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
mibBuilder.exportSymbols(
'ASN1',
diff --git a/pysnmp/smi/mibs/INET-ADDRESS-MIB.py b/pysnmp/smi/mibs/INET-ADDRESS-MIB.py
index 80f600c7..7ed888bd 100644
--- a/pysnmp/smi/mibs/INET-ADDRESS-MIB.py
+++ b/pysnmp/smi/mibs/INET-ADDRESS-MIB.py
@@ -4,70 +4,302 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module INET-ADDRESS-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/INET-ADDRESS-MIB
-# Produced by pysmi-0.1.2 at Sat Apr 15 23:36:33 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# ASN.1 source file:///usr/share/snmp/mibs/INET-ADDRESS-MIB.txt
+# Produced by pysmi-0.4.0 at Thu Feb 14 23:06:46 2019
#
-from pysnmp.smi import error
-
-ObjectIdentifier, Integer, OctetString = mibBuilder.importSymbols("ASN1", "ObjectIdentifier", "Integer", "OctetString")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueRangeConstraint, ValueSizeConstraint, ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-Gauge32, iso, Bits, Integer32, MibIdentifier, TimeTicks, MibScalar, MibTable, MibTableRow, MibTableColumn, NotificationType, Counter32, mib_2, Counter64, IpAddress, Unsigned32, ObjectIdentity, ModuleIdentity = mibBuilder.importSymbols("SNMPv2-SMI", "Gauge32", "iso", "Bits", "Integer32", "MibIdentifier", "TimeTicks", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "NotificationType", "Counter32", "mib-2", "Counter64", "IpAddress", "Unsigned32", "ObjectIdentity", "ModuleIdentity")
-TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
-inetAddressMIB = ModuleIdentity((1, 3, 6, 1, 2, 1, 76))
-if mibBuilder.loadTexts: inetAddressMIB.setRevisions(('2005-02-04 00:00', '2002-05-09 00:00', '2000-06-08 00:00',))
-if mibBuilder.loadTexts: inetAddressMIB.setLastUpdated('200502040000Z')
-if mibBuilder.loadTexts: inetAddressMIB.setOrganization('IETF Operations and Management Area')
-if mibBuilder.loadTexts: inetAddressMIB.setContactInfo('Juergen Schoenwaelder (Editor) International University Bremen P.O. Box 750 561 28725 Bremen, Germany Phone: +49 421 200-3587 EMail: j.schoenwaelder@iu-bremen.de Send comments to <ietfmibs@ops.ietf.org>.')
-if mibBuilder.loadTexts: inetAddressMIB.setDescription('This MIB module defines textual conventions for representing Internet addresses. An Internet address can be an IPv4 address, an IPv6 address, or a DNS domain name. This module also defines textual conventions for Internet port numbers, autonomous system numbers, and the length of an Internet address prefix. Copyright (C) The Internet Society (2005). This version of this MIB module is part of RFC 4001, see the RFC itself for full legal notices.')
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(TimeTicks,
+ Gauge32,
+ Integer32,
+ Counter64,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Bits,
+ Counter32,
+ ModuleIdentity,
+ mib_2,
+ Unsigned32,
+ NotificationType,
+ IpAddress,
+ iso,
+ MibIdentifier,
+ ObjectIdentity) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "TimeTicks",
+ "Gauge32",
+ "Integer32",
+ "Counter64",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Bits",
+ "Counter32",
+ "ModuleIdentity",
+ "mib-2",
+ "Unsigned32",
+ "NotificationType",
+ "IpAddress",
+ "iso",
+ "MibIdentifier",
+ "ObjectIdentity")
+
+(TextualConvention,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString")
+
+inetAddressMIB = ModuleIdentity(
+ (1, 3, 6, 1, 2, 1, 76)
+)
+inetAddressMIB.setRevisions(
+ ("2005-02-04 00:00",
+ "2002-05-09 00:00",
+ "2000-06-08 00:00")
+)
+inetAddressMIB.setLastUpdated("200502040000Z")
+if mibBuilder.loadTexts:
+ inetAddressMIB.setOrganization("""\
+IETF Operations and Management Area
+""")
+inetAddressMIB.setContactInfo("""\
+Juergen Schoenwaelder (Editor) International University Bremen P.O. Box 750 561
+28725 Bremen, Germany Phone: +49 421 200-3587 EMail: j.schoenwaelder@iu-
+bremen.de Send comments to <ietfmibs@ops.ietf.org>.
+""")
+if mibBuilder.loadTexts:
+ inetAddressMIB.setDescription("""\
+This MIB module defines textual conventions for representing Internet
+addresses. An Internet address can be an IPv4 address, an IPv6 address, or a
+DNS domain name. This module also defines textual conventions for Internet port
+numbers, autonomous system numbers, and the length of an Internet address
+prefix. Copyright (C) The Internet Society (2005). This version of this MIB
+module is part of RFC 4001, see the RFC itself for full legal notices.
+""")
+
+
class InetAddressType(TextualConvention, Integer32):
- description = 'A value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)).'
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ConstraintsUnion(SingleValueConstraint(0, 1, 2, 3, 4, 16))
- namedValues = NamedValues(("unknown", 0), ("ipv4", 1), ("ipv6", 2), ("ipv4z", 3), ("ipv6z", 4), ("dns", 16))
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 16)
+ )
+ )
+ namedValues = NamedValues(
+ *(("dns", 16),
+ ("ipv4", 1),
+ ("ipv4z", 3),
+ ("ipv6", 2),
+ ("ipv6z", 4),
+ ("unknown", 0))
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+A value that represents a type of Internet address. unknown(0) An unknown
+address type. This value MUST be used if the value of the corresponding
+InetAddress object is a zero-length string. It may also be used to indicate an
+IP address that is not in one of the formats defined below. ipv4(1) An IPv4
+address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6
+address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-
+global IPv4 address including a zone index as defined by the InetAddressIPv4z
+textual convention. ipv6z(4) A non-global IPv6 address including a zone index
+as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain
+name as defined by the InetAddressDNS textual convention. Each definition of a
+concrete InetAddressType value must be accompanied by a definition of a textual
+convention for use with that InetAddressType. To support future extensions, the
+InetAddressType textual convention SHOULD NOT be sub-typed in object type
+definitions. It MAY be sub-typed in compliance statements in order to require
+only a subset of these address types for a compliant implementation.
+Implementations must ensure that InetAddressType objects and any dependent
+objects (e.g., InetAddress objects) are consistent. An inconsistentValue error
+must be generated if an attempt to change an InetAddressType object would, for
+example, lead to an undefined InetAddress value. In particular,
+InetAddressType/InetAddress pairs must be changed together if the address type
+changes (e.g., from ipv6(2) to ipv4(1)).
+"""
+
class InetAddressIPv4(TextualConvention, OctetString):
- description = 'Represents an IPv4 network address: Octets Contents Encoding 1-4 IPv4 address network-byte order The corresponding InetAddressType value is ipv4(1). This textual convention SHOULD NOT be used directly in object definitions, as it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with InetAddressType, as a pair.'
- status = 'current'
- displayHint = '1d.1d.1d.1d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(4, 4)
+ status = "current"
+ displayHint = "1d.1d.1d.1d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(4, 4),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an IPv4 network address: Octets Contents Encoding 1-4 IPv4 address
+network-byte order The corresponding InetAddressType value is ipv4(1). This
+textual convention SHOULD NOT be used directly in object definitions, as it
+restricts addresses to a specific format. However, if it is used, it MAY be
+used either on its own or in conjunction with InetAddressType, as a pair.
+"""
+
class InetAddressIPv6(TextualConvention, OctetString):
- description = 'Represents an IPv6 network address: Octets Contents Encoding 1-16 IPv6 address network-byte order The corresponding InetAddressType value is ipv6(2). This textual convention SHOULD NOT be used directly in object definitions, as it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with InetAddressType, as a pair.'
- status = 'current'
- displayHint = '2x:2x:2x:2x:2x:2x:2x:2x'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(16, 16)
+ status = "current"
+ displayHint = "2x:2x:2x:2x:2x:2x:2x:2x"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(16, 16),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an IPv6 network address: Octets Contents Encoding 1-16 IPv6 address
+network-byte order The corresponding InetAddressType value is ipv6(2). This
+textual convention SHOULD NOT be used directly in object definitions, as it
+restricts addresses to a specific format. However, if it is used, it MAY be
+used either on its own or in conjunction with InetAddressType, as a pair.
+"""
+
class InetAddressIPv4z(TextualConvention, OctetString):
- description = 'Represents a non-global IPv4 network address, together with its zone index: Octets Contents Encoding 1-4 IPv4 address network-byte order 5-8 zone index network-byte order The corresponding InetAddressType value is ipv4z(3). The zone index (bytes 5-8) is used to disambiguate identical address values on nodes that have interfaces attached to different zones of the same scope. The zone index may contain the special value 0, which refers to the default zone for each scope. This textual convention SHOULD NOT be used directly in object definitions, as it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with InetAddressType, as a pair.'
- status = 'current'
- displayHint = '1d.1d.1d.1d%4d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(8, 8)
+ status = "current"
+ displayHint = "1d.1d.1d.1d%4d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 8),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a non-global IPv4 network address, together with its zone index:
+Octets Contents Encoding 1-4 IPv4 address network-byte order 5-8 zone index
+network-byte order The corresponding InetAddressType value is ipv4z(3). The
+zone index (bytes 5-8) is used to disambiguate identical address values on
+nodes that have interfaces attached to different zones of the same scope. The
+zone index may contain the special value 0, which refers to the default zone
+for each scope. This textual convention SHOULD NOT be used directly in object
+definitions, as it restricts addresses to a specific format. However, if it is
+used, it MAY be used either on its own or in conjunction with InetAddressType,
+as a pair.
+"""
+
class InetAddressIPv6z(TextualConvention, OctetString):
- description = 'Represents a non-global IPv6 network address, together with its zone index: Octets Contents Encoding 1-16 IPv6 address network-byte order 17-20 zone index network-byte order The corresponding InetAddressType value is ipv6z(4). The zone index (bytes 17-20) is used to disambiguate identical address values on nodes that have interfaces attached to different zones of the same scope. The zone index may contain the special value 0, which refers to the default zone for each scope. This textual convention SHOULD NOT be used directly in object definitions, as it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with InetAddressType, as a pair.'
- status = 'current'
- displayHint = '2x:2x:2x:2x:2x:2x:2x:2x%4d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(20, 20)
+ status = "current"
+ displayHint = "2x:2x:2x:2x:2x:2x:2x:2x%4d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(20, 20),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a non-global IPv6 network address, together with its zone index:
+Octets Contents Encoding 1-16 IPv6 address network-byte order 17-20 zone index
+network-byte order The corresponding InetAddressType value is ipv6z(4). The
+zone index (bytes 17-20) is used to disambiguate identical address values on
+nodes that have interfaces attached to different zones of the same scope. The
+zone index may contain the special value 0, which refers to the default zone
+for each scope. This textual convention SHOULD NOT be used directly in object
+definitions, as it restricts addresses to a specific format. However, if it is
+used, it MAY be used either on its own or in conjunction with InetAddressType,
+as a pair.
+"""
+
class InetAddressDNS(TextualConvention, OctetString):
- description = 'Represents a DNS domain name. The name SHOULD be fully qualified whenever possible. The corresponding InetAddressType is dns(16). The DESCRIPTION clause of InetAddress objects that may have InetAddressDNS values MUST fully describe how (and when) these names are to be resolved to IP addresses. The resolution of an InetAddressDNS value may require to query multiple DNS records (e.g., A for IPv4 and AAAA for IPv6). The order of the resolution process and which DNS record takes precedence depends on the configuration of the resolver. This textual convention SHOULD NOT be used directly in object definitions, as it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with InetAddressType, as a pair.'
- status = 'current'
- displayHint = '255a'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(1, 255)
+ status = "current"
+ displayHint = "255a"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a DNS domain name. The name SHOULD be fully qualified whenever
+possible. The corresponding InetAddressType is dns(16). The DESCRIPTION clause
+of InetAddress objects that may have InetAddressDNS values MUST fully describe
+how (and when) these names are to be resolved to IP addresses. The resolution
+of an InetAddressDNS value may require to query multiple DNS records (e.g., A
+for IPv4 and AAAA for IPv6). The order of the resolution process and which DNS
+record takes precedence depends on the configuration of the resolver. This
+textual convention SHOULD NOT be used directly in object definitions, as it
+restricts addresses to a specific format. However, if it is used, it MAY be
+used either on its own or in conjunction with InetAddressType, as a pair.
+"""
-# https://tools.ietf.org/html/rfc4001#section-4.1
class InetAddress(TextualConvention, OctetString):
- description = "Denotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ status = "current"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Denotes a generic Internet address. An InetAddress value is always interpreted
+within the context of an InetAddressType value. Every usage of the InetAddress
+textual convention is required to specify the InetAddressType object that
+provides the context. It is suggested that the InetAddressType object be
+logically registered before the object(s) that use the InetAddress textual
+convention, if they appear in the same logical row. The value of an InetAddress
+object must always be consistent with the value of the associated
+InetAddressType object. Attempts to set an InetAddress object to a value
+inconsistent with the associated InetAddressType must fail with an
+inconsistentValue error. When this textual convention is used as the syntax of
+an index object, there may be issues with the limit of 128 sub-identifiers
+specified in SMIv2, STD 58. In this case, the object definition MUST include a
+'SIZE' clause to limit the number of potential instance sub-identifiers;
+otherwise the applicable constraints MUST be stated in the appropriate
+conceptual row DESCRIPTION clauses, or in the surrounding documentation if
+there is no single DESCRIPTION clause that is appropriate.
+"""
- typeMap = {
+ # https://tools.ietf.org/html/rfc4001#section-4.1
+
+ TYPE_MAP = {
InetAddressType.namedValues.getValue("ipv4"): InetAddressIPv4(),
InetAddressType.namedValues.getValue("ipv6"): InetAddressIPv6(),
InetAddressType.namedValues.getValue("ipv4z"): InetAddressIPv4z(),
@@ -80,59 +312,191 @@ class InetAddress(TextualConvention, OctetString):
for parentIndex in reversed(parentIndices):
if isinstance(parentIndex, InetAddressType):
try:
- return parentRow.oidToValue(cls.typeMap[int(parentIndex)], value, impliedFlag, parentIndices)
+ return parentRow.oidToValue(
+ cls.TYPE_MAP[int(parentIndex)], value, impliedFlag, parentIndices)
+
except KeyError:
pass
- raise error.SmiError('%s object encountered without preceding InetAddressType-like index: %r' % (cls.__name__, value))
+ raise error.SmiError('%s object encountered without preceding '
+ 'InetAddressType-like index: %r' % (cls.__name__, value))
def cloneAsName(self, impliedFlag, parentRow, parentIndices):
for parentIndex in reversed(parentIndices):
if isinstance(parentIndex, InetAddressType):
try:
- return parentRow.valueToOid(self.typeMap[int(parentIndex)].clone(self.asOctets().decode('ascii')), impliedFlag, parentIndices)
+ return parentRow.valueToOid(
+ self.TYPE_MAP[int(parentIndex)].clone(
+ self.asOctets().decode('ascii')), impliedFlag, parentIndices)
+
except KeyError:
pass
- raise error.SmiError('%s object encountered without preceding InetAddressType-like index: %r' % (self.__class__.__name__, self))
+ raise error.SmiError('%s object encountered without preceding '
+ 'InetAddressType-like index: %r' % (self.__class__.__name__, self))
+
class InetAddressPrefixLength(TextualConvention, Unsigned32):
- description = "Denotes the length of a generic Internet network address prefix. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0. An InetAddressPrefixLength value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddressPrefixLength textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddressPrefixLength textual convention, if they appear in the same logical row. InetAddressPrefixLength values larger than the maximum length of an IP address for a specific InetAddressType are treated as the maximum significant value applicable for the InetAddressType. The maximum significant value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the InetAddressType 'dns(16)' is 0. The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where the Internet network address prefix is unknown or does not apply. The upper bound of the prefix length has been chosen to be consistent with the maximum size of an InetAddress."
- status = 'current'
- displayHint = 'd'
- subtypeSpec = Unsigned32.subtypeSpec + ValueRangeConstraint(0, 2040)
+ status = "current"
+ displayHint = "d"
+ subtypeSpec = Unsigned32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2040),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Denotes the length of a generic Internet network address prefix. A value of n
+corresponds to an IP address mask that has n contiguous 1-bits from the most
+significant bit (MSB), with all other bits set to 0. An InetAddressPrefixLength
+value is always interpreted within the context of an InetAddressType value.
+Every usage of the InetAddressPrefixLength textual convention is required to
+specify the InetAddressType object that provides the context. It is suggested
+that the InetAddressType object be logically registered before the object(s)
+that use the InetAddressPrefixLength textual convention, if they appear in the
+same logical row. InetAddressPrefixLength values larger than the maximum length
+of an IP address for a specific InetAddressType are treated as the maximum
+significant value applicable for the InetAddressType. The maximum significant
+value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the
+InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the
+InetAddressType 'dns(16)' is 0. The value zero is object-specific and must be
+defined as part of the description of any object that uses this syntax.
+Examples of the usage of zero might include situations where the Internet
+network address prefix is unknown or does not apply. The upper bound of the
+prefix length has been chosen to be consistent with the maximum size of an
+InetAddress.
+"""
+
class InetPortNumber(TextualConvention, Unsigned32):
- reference = 'STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960'
- description = 'Represents a 16 bit port number of an Internet transport layer protocol. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where a port number is unknown, or when the value zero is used as a wildcard in a filter.'
- status = 'current'
- displayHint = 'd'
- subtypeSpec = Unsigned32.subtypeSpec + ValueRangeConstraint(0, 65535)
+ status = "current"
+ displayHint = "d"
+ subtypeSpec = Unsigned32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 65535),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a 16 bit port number of an Internet transport layer protocol. Port
+numbers are assigned by IANA. A current list of all assignments is available
+from <http://www.iana.org/>. The value zero is object-specific and must be
+defined as part of the description of any object that uses this syntax.
+Examples of the usage of zero might include situations where a port number is
+unknown, or when the value zero is used as a wildcard in a filter.
+"""
+
class InetAutonomousSystemNumber(TextualConvention, Unsigned32):
- reference = 'RFC 1771, RFC 1930'
- description = "Represents an autonomous system number that identifies an Autonomous System (AS). An AS is a set of routers under a single technical administration, using an interior gateway protocol and common metrics to route packets within the AS, and using an exterior gateway protocol to route packets to other ASes'. IANA maintains the AS number space and has delegated large parts to the regional registries. Autonomous system numbers are currently limited to 16 bits (0..65535). There is, however, work in progress to enlarge the autonomous system number space to 32 bits. Therefore, this textual convention uses an Unsigned32 value without a range restriction in order to support a larger autonomous system number space."
- status = 'current'
- displayHint = 'd'
+ status = "current"
+ displayHint = "d"
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an autonomous system number that identifies an Autonomous System
+(AS). An AS is a set of routers under a single technical administration, using
+an interior gateway protocol and common metrics to route packets within the AS,
+and using an exterior gateway protocol to route packets to other ASes'. IANA
+maintains the AS number space and has delegated large parts to the regional
+registries. Autonomous system numbers are currently limited to 16 bits
+(0..65535). There is, however, work in progress to enlarge the autonomous
+system number space to 32 bits. Therefore, this textual convention uses an
+Unsigned32 value without a range restriction in order to support a larger
+autonomous system number space.
+"""
+
class InetScopeType(TextualConvention, Integer32):
- reference = 'RFC 3513'
- description = 'Represents a scope type. This textual convention can be used in cases where a MIB has to represent different scope types and there is no context information, such as an InetAddress object, that implicitly defines the scope type. Note that not all possible values have been assigned yet, but they may be assigned in future revisions of this specification. Applications should therefore be able to deal with values not yet assigned.'
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4, 5, 8, 14))
- namedValues = NamedValues(("interfaceLocal", 1), ("linkLocal", 2), ("subnetLocal", 3), ("adminLocal", 4), ("siteLocal", 5), ("organizationLocal", 8), ("global", 14))
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 8,
+ 14)
+ )
+ )
+ namedValues = NamedValues(
+ *(("adminLocal", 4),
+ ("global", 14),
+ ("interfaceLocal", 1),
+ ("linkLocal", 2),
+ ("organizationLocal", 8),
+ ("siteLocal", 5),
+ ("subnetLocal", 3))
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a scope type. This textual convention can be used in cases where a
+MIB has to represent different scope types and there is no context information,
+such as an InetAddress object, that implicitly defines the scope type. Note
+that not all possible values have been assigned yet, but they may be assigned
+in future revisions of this specification. Applications should therefore be
+able to deal with values not yet assigned.
+"""
+
class InetZoneIndex(TextualConvention, Unsigned32):
- reference = 'RFC4007'
- description = 'A zone index identifies an instance of a zone of a specific scope. The zone index MUST disambiguate identical address values. For link-local addresses, the zone index will typically be the interface index (ifIndex as defined in the IF-MIB) of the interface on which the address is configured. The zone index may contain the special value 0, which refers to the default zone. The default zone may be used in cases where the valid zone index is not known (e.g., when a management application has to write a link-local IPv6 address without knowing the interface index value). The default zone SHOULD NOT be used as an easy way out in cases where the zone index for a non-global IPv6 address is known.'
- status = 'current'
- displayHint = 'd'
+ status = "current"
+ displayHint = "d"
+ if mibBuilder.loadTexts:
+ description = """\
+A zone index identifies an instance of a zone of a specific scope. The zone
+index MUST disambiguate identical address values. For link-local addresses, the
+zone index will typically be the interface index (ifIndex as defined in the IF-
+MIB) of the interface on which the address is configured. The zone index may
+contain the special value 0, which refers to the default zone. The default zone
+may be used in cases where the valid zone index is not known (e.g., when a
+management application has to write a link-local IPv6 address without knowing
+the interface index value). The default zone SHOULD NOT be used as an easy way
+out in cases where the zone index for a non-global IPv6 address is known.
+"""
+
class InetVersion(TextualConvention, Integer32):
- reference = 'RFC 791, RFC 2460'
- description = 'A value representing a version of the IP protocol. unknown(0) An unknown or unspecified version of the IP protocol. ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5). ipv6(2) The IPv6 protocol as defined in RFC 2460. Note that this textual convention SHOULD NOT be used to distinguish different address types associated with IP protocols. The InetAddressType has been designed for this purpose.'
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ConstraintsUnion(SingleValueConstraint(0, 1, 2))
- namedValues = NamedValues(("unknown", 0), ("ipv4", 1), ("ipv6", 2))
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("ipv4", 1),
+ ("ipv6", 2),
+ ("unknown", 0))
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+A value representing a version of the IP protocol. unknown(0) An unknown or
+unspecified version of the IP protocol. ipv4(1) The IPv4 protocol as defined in
+RFC 791 (STD 5). ipv6(2) The IPv6 protocol as defined in RFC 2460. Note that
+this textual convention SHOULD NOT be used to distinguish different address
+types associated with IP protocols. The InetAddressType has been designed for
+this purpose.
+"""
-mibBuilder.exportSymbols("INET-ADDRESS-MIB", inetAddressMIB=inetAddressMIB, InetVersion=InetVersion, InetAddressIPv4=InetAddressIPv4, InetAddressIPv6z=InetAddressIPv6z, InetScopeType=InetScopeType, InetAddressType=InetAddressType, InetPortNumber=InetPortNumber, InetAddressIPv6=InetAddressIPv6, InetAddress=InetAddress, PYSNMP_MODULE_ID=inetAddressMIB, InetAddressDNS=InetAddressDNS, InetAutonomousSystemNumber=InetAutonomousSystemNumber, InetZoneIndex=InetZoneIndex, InetAddressPrefixLength=InetAddressPrefixLength, InetAddressIPv4z=InetAddressIPv4z)
+mibBuilder.exportSymbols(
+ "INET-ADDRESS-MIB",
+ **{"InetAddressType": InetAddressType,
+ "InetAddress": InetAddress,
+ "InetAddressIPv4": InetAddressIPv4,
+ "InetAddressIPv6": InetAddressIPv6,
+ "InetAddressIPv4z": InetAddressIPv4z,
+ "InetAddressIPv6z": InetAddressIPv6z,
+ "InetAddressDNS": InetAddressDNS,
+ "InetAddressPrefixLength": InetAddressPrefixLength,
+ "InetPortNumber": InetPortNumber,
+ "InetAutonomousSystemNumber": InetAutonomousSystemNumber,
+ "InetScopeType": InetScopeType,
+ "InetZoneIndex": InetZoneIndex,
+ "InetVersion": InetVersion,
+ "inetAddressMIB": inetAddressMIB}
+)
diff --git a/pysnmp/smi/mibs/PYSNMP-MIB.py b/pysnmp/smi/mibs/PYSNMP-MIB.py
index 9e0df721..05ca28ad 100644
--- a/pysnmp/smi/mibs/PYSNMP-MIB.py
+++ b/pysnmp/smi/mibs/PYSNMP-MIB.py
@@ -4,35 +4,178 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module PYSNMP-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/PYSNMP-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 11:46:02 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# ASN.1 source http://mibs.snmplabs.com/asn1/PYSNMP-MIB.txt
+# Produced by pysmi-0.4.0 at Thu Feb 14 10:50:29 2019
#
-Integer, OctetString, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "Integer", "OctetString", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ValueRangeConstraint, ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueRangeConstraint", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-ModuleIdentity, iso, MibScalar, MibTable, MibTableRow, MibTableColumn, Gauge32, NotificationType, IpAddress, MibIdentifier, Unsigned32, Counter32, ObjectIdentity, Counter64, Bits, Integer32, enterprises, TimeTicks = mibBuilder.importSymbols("SNMPv2-SMI", "ModuleIdentity", "iso", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Gauge32", "NotificationType", "IpAddress", "MibIdentifier", "Unsigned32", "Counter32", "ObjectIdentity", "Counter64", "Bits", "Integer32", "enterprises", "TimeTicks")
-TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
-pysnmp = ModuleIdentity((1, 3, 6, 1, 4, 1, 20408))
-if mibBuilder.loadTexts: pysnmp.setRevisions(('2017-04-14 00:00', '2005-05-14 00:00',))
-if mibBuilder.loadTexts: pysnmp.setLastUpdated('201704140000Z')
-if mibBuilder.loadTexts: pysnmp.setOrganization('The PySNMP Project')
-if mibBuilder.loadTexts: pysnmp.setContactInfo('E-mail: Ilya Etingof <etingof@gmail.com> GitHub: https://github.com/etingof/pysnmp')
-if mibBuilder.loadTexts: pysnmp.setDescription('PySNMP top-level MIB tree infrastructure')
-pysnmpObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 1))
-pysnmpExamples = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 2))
-pysnmpEnumerations = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3))
-pysnmpModuleIDs = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1))
-pysnmpAgentOIDs = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 2))
-pysnmpDomains = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 3))
-pysnmpExperimental = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 9999))
-pysnmpNotificationPrefix = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 4))
-pysnmpNotifications = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 4, 0))
-pysnmpNotificationObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 4, 1))
-pysnmpConformance = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 5))
-pysnmpCompliances = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 5, 1))
-pysnmpGroups = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 5, 2))
-mibBuilder.exportSymbols("PYSNMP-MIB", pysnmpCompliances=pysnmpCompliances, pysnmpObjects=pysnmpObjects, pysnmpNotificationPrefix=pysnmpNotificationPrefix, pysnmpModuleIDs=pysnmpModuleIDs, pysnmpGroups=pysnmpGroups, pysnmpNotificationObjects=pysnmpNotificationObjects, pysnmp=pysnmp, pysnmpExperimental=pysnmpExperimental, pysnmpNotifications=pysnmpNotifications, PYSNMP_MODULE_ID=pysnmp, pysnmpEnumerations=pysnmpEnumerations, pysnmpDomains=pysnmpDomains, pysnmpAgentOIDs=pysnmpAgentOIDs, pysnmpConformance=pysnmpConformance, pysnmpExamples=pysnmpExamples)
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(ObjectIdentity,
+ Counter32,
+ IpAddress,
+ MibIdentifier,
+ Gauge32,
+ iso,
+ Unsigned32,
+ Bits,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ TimeTicks,
+ Integer32,
+ ModuleIdentity,
+ enterprises,
+ Counter64,
+ NotificationType) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "ObjectIdentity",
+ "Counter32",
+ "IpAddress",
+ "MibIdentifier",
+ "Gauge32",
+ "iso",
+ "Unsigned32",
+ "Bits",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "TimeTicks",
+ "Integer32",
+ "ModuleIdentity",
+ "enterprises",
+ "Counter64",
+ "NotificationType")
+
+(DisplayString,
+ TextualConvention) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "DisplayString",
+ "TextualConvention")
+
+pysnmp = ModuleIdentity(
+ (1, 3, 6, 1, 4, 1, 20408)
+)
+pysnmp.setRevisions(
+ ("2017-04-14 00:00",
+ "2005-05-14 00:00")
+)
+pysnmp.setLastUpdated("201704140000Z")
+if mibBuilder.loadTexts:
+ pysnmp.setOrganization("""\
+The PySNMP Project
+""")
+pysnmp.setContactInfo("""\
+E-mail: Ilya Etingof <etingof@gmail.com> GitHub:
+https://github.com/etingof/pysnmp
+""")
+if mibBuilder.loadTexts:
+ pysnmp.setDescription("""\
+PySNMP top-level MIB tree infrastructure
+""")
+
+_PysnmpObjects_ObjectIdentity = ObjectIdentity
+pysnmpObjects = _PysnmpObjects_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 1)
+)
+_PysnmpExamples_ObjectIdentity = ObjectIdentity
+pysnmpExamples = _PysnmpExamples_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 2)
+)
+_PysnmpEnumerations_ObjectIdentity = ObjectIdentity
+pysnmpEnumerations = _PysnmpEnumerations_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3)
+)
+_PysnmpModuleIDs_ObjectIdentity = ObjectIdentity
+pysnmpModuleIDs = _PysnmpModuleIDs_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1)
+)
+_PysnmpAgentOIDs_ObjectIdentity = ObjectIdentity
+pysnmpAgentOIDs = _PysnmpAgentOIDs_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 2)
+)
+_PysnmpDomains_ObjectIdentity = ObjectIdentity
+pysnmpDomains = _PysnmpDomains_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 3)
+)
+_PysnmpNotificationPrefix_ObjectIdentity = ObjectIdentity
+pysnmpNotificationPrefix = _PysnmpNotificationPrefix_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 4)
+)
+_PysnmpNotifications_ObjectIdentity = ObjectIdentity
+pysnmpNotifications = _PysnmpNotifications_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 4, 0)
+)
+_PysnmpNotificationObjects_ObjectIdentity = ObjectIdentity
+pysnmpNotificationObjects = _PysnmpNotificationObjects_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 4, 1)
+)
+_PysnmpConformance_ObjectIdentity = ObjectIdentity
+pysnmpConformance = _PysnmpConformance_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 5)
+)
+_PysnmpCompliances_ObjectIdentity = ObjectIdentity
+pysnmpCompliances = _PysnmpCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 5, 1)
+)
+_PysnmpGroups_ObjectIdentity = ObjectIdentity
+pysnmpGroups = _PysnmpGroups_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 5, 2)
+)
+_PysnmpExperimental_ObjectIdentity = ObjectIdentity
+pysnmpExperimental = _PysnmpExperimental_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 9999)
+)
+
+mibBuilder.exportSymbols(
+ "PYSNMP-MIB",
+ **{"pysnmp": pysnmp,
+ "pysnmpObjects": pysnmpObjects,
+ "pysnmpExamples": pysnmpExamples,
+ "pysnmpEnumerations": pysnmpEnumerations,
+ "pysnmpModuleIDs": pysnmpModuleIDs,
+ "pysnmpAgentOIDs": pysnmpAgentOIDs,
+ "pysnmpDomains": pysnmpDomains,
+ "pysnmpNotificationPrefix": pysnmpNotificationPrefix,
+ "pysnmpNotifications": pysnmpNotifications,
+ "pysnmpNotificationObjects": pysnmpNotificationObjects,
+ "pysnmpConformance": pysnmpConformance,
+ "pysnmpCompliances": pysnmpCompliances,
+ "pysnmpGroups": pysnmpGroups,
+ "pysnmpExperimental": pysnmpExperimental}
+)
diff --git a/pysnmp/smi/mibs/PYSNMP-SOURCE-MIB.py b/pysnmp/smi/mibs/PYSNMP-SOURCE-MIB.py
index 19863ee1..b7e73fa5 100644
--- a/pysnmp/smi/mibs/PYSNMP-SOURCE-MIB.py
+++ b/pysnmp/smi/mibs/PYSNMP-SOURCE-MIB.py
@@ -4,39 +4,189 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module PYSNMP-SOURCE-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/PYSNMP-SOURCE-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 11:46:02 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# ASN.1 source http://mibs.snmplabs.com/asn1/PYSNMP-SOURCE-MIB.txt
+# Produced by pysmi-0.4.0 at Thu Feb 14 23:03:52 2019
#
-Integer, OctetString, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "Integer", "OctetString", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ValueRangeConstraint, ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueRangeConstraint", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion")
-pysnmpModuleIDs, = mibBuilder.importSymbols("PYSNMP-MIB", "pysnmpModuleIDs")
-snmpTargetAddrEntry, = mibBuilder.importSymbols("SNMP-TARGET-MIB", "snmpTargetAddrEntry")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-ModuleIdentity, iso, MibScalar, MibTable, MibTableRow, MibTableColumn, Gauge32, NotificationType, IpAddress, MibIdentifier, Unsigned32, Counter32, ObjectIdentity, Counter64, Bits, Integer32, TimeTicks = mibBuilder.importSymbols("SNMPv2-SMI", "ModuleIdentity", "iso", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Gauge32", "NotificationType", "IpAddress", "MibIdentifier", "Unsigned32", "Counter32", "ObjectIdentity", "Counter64", "Bits", "Integer32", "TimeTicks")
-TextualConvention, DisplayString, TAddress = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString", "TAddress")
-pysnmpSourceMIB = ModuleIdentity((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8))
-if mibBuilder.loadTexts: pysnmpSourceMIB.setRevisions(('2017-04-14 00:00', '2015-01-16 00:00',))
-if mibBuilder.loadTexts: pysnmpSourceMIB.setLastUpdated('201704140000Z')
-if mibBuilder.loadTexts: pysnmpSourceMIB.setOrganization('The PySNMP Project')
-if mibBuilder.loadTexts: pysnmpSourceMIB.setContactInfo('E-mail: Ilya Etingof <etingof@gmail.com> GitHub: https://github.com/etingof/pysnmp')
-if mibBuilder.loadTexts: pysnmpSourceMIB.setDescription('This MIB module defines implementation specific objects that provide variable source transport endpoints feature to SNMP Engine and Standard SNMP Applications.')
-pysnmpSourceMIBObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1))
-pysnmpSourceMIBConformance = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2))
-snmpSourceAddrTable = MibTable((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1), )
-if mibBuilder.loadTexts: snmpSourceAddrTable.setStatus('current')
-if mibBuilder.loadTexts: snmpSourceAddrTable.setDescription('A table of transport addresses to be used as a source in the generation of SNMP messages. This table contains additional objects for the SNMP-TRANSPORT-ADDRESS::snmpSourceAddressTable.')
-snmpSourceAddrEntry = MibTableRow((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1, 1), )
-snmpTargetAddrEntry.registerAugmentation(("PYSNMP-SOURCE-MIB", "snmpSourceAddrEntry"))
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(pysnmpModuleIDs,) = mibBuilder.importSymbols(
+ "PYSNMP-MIB",
+ "pysnmpModuleIDs")
+
+(snmpTargetAddrEntry,) = mibBuilder.importSymbols(
+ "SNMP-TARGET-MIB",
+ "snmpTargetAddrEntry")
+
+(NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(Counter32,
+ ModuleIdentity,
+ NotificationType,
+ iso,
+ MibIdentifier,
+ TimeTicks,
+ Bits,
+ Integer32,
+ Counter64,
+ Gauge32,
+ Unsigned32,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ ObjectIdentity,
+ IpAddress) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter32",
+ "ModuleIdentity",
+ "NotificationType",
+ "iso",
+ "MibIdentifier",
+ "TimeTicks",
+ "Bits",
+ "Integer32",
+ "Counter64",
+ "Gauge32",
+ "Unsigned32",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "ObjectIdentity",
+ "IpAddress")
+
+(DisplayString,
+ TAddress,
+ TextualConvention) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "DisplayString",
+ "TAddress",
+ "TextualConvention")
+
+pysnmpSourceMIB = ModuleIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8)
+)
+pysnmpSourceMIB.setRevisions(
+ ("2017-04-14 00:00",
+ "2015-01-16 00:00")
+)
+pysnmpSourceMIB.setLastUpdated("201704140000Z")
+if mibBuilder.loadTexts:
+ pysnmpSourceMIB.setOrganization("""\
+The PySNMP Project
+""")
+pysnmpSourceMIB.setContactInfo("""\
+E-mail: Ilya Etingof <etingof@gmail.com> GitHub:
+https://github.com/etingof/pysnmp
+""")
+if mibBuilder.loadTexts:
+ pysnmpSourceMIB.setDescription("""\
+This MIB module defines implementation specific objects that provide variable
+source transport endpoints feature to SNMP Engine and Standard SNMP
+Applications.
+""")
+
+_PysnmpsourcemibobjectsObjectIdentity = ObjectIdentity
+pysnmpSourceMIBObjects = _PysnmpsourcemibobjectsObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1)
+)
+_SnmpsourceaddrtableObject = MibTable
+snmpSourceAddrTable = _SnmpsourceaddrtableObject(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpSourceAddrTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSourceAddrTable.setDescription("""\
+A table of transport addresses to be used as a source in the generation of SNMP
+messages. This table contains additional objects for the SNMP-TRANSPORT-
+ADDRESS::snmpSourceAddressTable.
+""")
+_SnmpsourceaddrentryObject = MibTableRow
+snmpSourceAddrEntry = _SnmpsourceaddrentryObject(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1, 1)
+)
+snmpTargetAddrEntry.registerAugmentions(
+ ("PYSNMP-SOURCE-MIB",
+ "snmpSourceAddrEntry")
+)
snmpSourceAddrEntry.setIndexNames(*snmpTargetAddrEntry.getIndexNames())
-if mibBuilder.loadTexts: snmpSourceAddrEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpSourceAddrEntry.setDescription('A transport address to be used as a source in the generation of SNMP operations. An entry containing additional management information applicable to a particular target.')
-snmpSourceAddrTAddress = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1, 1, 1), TAddress()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpSourceAddrTAddress.setStatus('current')
-if mibBuilder.loadTexts: snmpSourceAddrTAddress.setDescription('This object contains a transport address. The format of this address depends on the value of the snmpSourceAddrTDomain object.')
-pysnmpSourceMIBCompliances = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2, 1))
-pysnmpSourceMIBGroups = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2, 2))
-mibBuilder.exportSymbols("PYSNMP-SOURCE-MIB", pysnmpSourceMIBConformance=pysnmpSourceMIBConformance, pysnmpSourceMIB=pysnmpSourceMIB, snmpSourceAddrTable=snmpSourceAddrTable, snmpSourceAddrEntry=snmpSourceAddrEntry, pysnmpSourceMIBGroups=pysnmpSourceMIBGroups, PYSNMP_MODULE_ID=pysnmpSourceMIB, snmpSourceAddrTAddress=snmpSourceAddrTAddress, pysnmpSourceMIBObjects=pysnmpSourceMIBObjects, pysnmpSourceMIBCompliances=pysnmpSourceMIBCompliances)
+if mibBuilder.loadTexts:
+ snmpSourceAddrEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSourceAddrEntry.setDescription("""\
+A transport address to be used as a source in the generation of SNMP
+operations. An entry containing additional management information applicable to
+a particular target.
+""")
+_SnmpsourceaddrtaddressType = TAddress
+_SnmpsourceaddrtaddressObject = MibTableColumn
+snmpSourceAddrTAddress = _SnmpsourceaddrtaddressObject(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 1, 1, 1, 1),
+ _SnmpsourceaddrtaddressType()
+)
+snmpSourceAddrTAddress.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpSourceAddrTAddress.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSourceAddrTAddress.setDescription("""\
+This object contains a transport address. The format of this address depends on
+the value of the snmpSourceAddrTDomain object.
+""")
+_PysnmpsourcemibconformanceObjectIdentity = ObjectIdentity
+pysnmpSourceMIBConformance = _PysnmpsourcemibconformanceObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2)
+)
+_PysnmpsourcemibcompliancesObjectIdentity = ObjectIdentity
+pysnmpSourceMIBCompliances = _PysnmpsourcemibcompliancesObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2, 1)
+)
+_PysnmpsourcemibgroupsObjectIdentity = ObjectIdentity
+pysnmpSourceMIBGroups = _PysnmpsourcemibgroupsObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 8, 2, 2)
+)
+
+mibBuilder.exportSymbols(
+ "PYSNMP-SOURCE-MIB",
+ **{"pysnmpSourceMIB": pysnmpSourceMIB,
+ "pysnmpSourceMIBObjects": pysnmpSourceMIBObjects,
+ "snmpSourceAddrTable": snmpSourceAddrTable,
+ "snmpSourceAddrEntry": snmpSourceAddrEntry,
+ "snmpSourceAddrTAddress": snmpSourceAddrTAddress,
+ "pysnmpSourceMIBConformance": pysnmpSourceMIBConformance,
+ "pysnmpSourceMIBCompliances": pysnmpSourceMIBCompliances,
+ "pysnmpSourceMIBGroups": pysnmpSourceMIBGroups}
+)
diff --git a/pysnmp/smi/mibs/PYSNMP-USM-MIB.py b/pysnmp/smi/mibs/PYSNMP-USM-MIB.py
index d9ad0264..7b1686aa 100644
--- a/pysnmp/smi/mibs/PYSNMP-USM-MIB.py
+++ b/pysnmp/smi/mibs/PYSNMP-USM-MIB.py
@@ -4,75 +4,457 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module PYSNMP-USM-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/PYSNMP-USM-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 11:46:02 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Thu Feb 14 23:15:36 2019
#
-Integer, OctetString, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "Integer", "OctetString", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ValueRangeConstraint, ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueRangeConstraint", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion")
-pysnmpModuleIDs, = mibBuilder.importSymbols("PYSNMP-MIB", "pysnmpModuleIDs")
-SnmpAdminString, = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString")
-usmUserEntry, = mibBuilder.importSymbols("SNMP-USER-BASED-SM-MIB", "usmUserEntry")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-ModuleIdentity, iso, MibScalar, MibTable, MibTableRow, MibTableColumn, Gauge32, NotificationType, IpAddress, MibIdentifier, Unsigned32, Counter32, ObjectIdentity, Counter64, Bits, Integer32, TimeTicks = mibBuilder.importSymbols("SNMPv2-SMI", "ModuleIdentity", "iso", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Gauge32", "NotificationType", "IpAddress", "MibIdentifier", "Unsigned32", "Counter32", "ObjectIdentity", "Counter64", "Bits", "Integer32", "TimeTicks")
-RowStatus, DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "RowStatus", "DisplayString", "TextualConvention")
-pysnmpUsmMIB = ModuleIdentity((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1))
-if mibBuilder.loadTexts: pysnmpUsmMIB.setRevisions(('2017-04-14 00:00', '2005-05-14 00:00',))
-if mibBuilder.loadTexts: pysnmpUsmMIB.setLastUpdated('201704140000Z')
-if mibBuilder.loadTexts: pysnmpUsmMIB.setOrganization('The PySNMP Project')
-if mibBuilder.loadTexts: pysnmpUsmMIB.setContactInfo('E-mail: Ilya Etingof <etingof@gmail.com> GitHub: https://github.com/etingof/pysnmp')
-if mibBuilder.loadTexts: pysnmpUsmMIB.setDescription('This MIB module defines objects specific to User Security Model (USM) implementation at PySNMP.')
-pysnmpUsmMIBObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1))
-pysnmpUsmMIBConformance = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2))
-pysnmpUsmCfg = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1))
-pysnmpUsmDiscoverable = MibScalar((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1, 1), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(0, 1))).clone(namedValues=NamedValues(("notDiscoverable", 0), ("discoverable", 1))).clone('discoverable')).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: pysnmpUsmDiscoverable.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmDiscoverable.setDescription('Whether SNMP engine would support its discovery by responding to unknown clients.')
-pysnmpUsmDiscovery = MibScalar((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(0, 1))).clone(namedValues=NamedValues(("doNotDiscover", 0), ("doDiscover", 1))).clone('doDiscover')).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: pysnmpUsmDiscovery.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmDiscovery.setDescription('Whether SNMP engine would try to figure out the EngineIDs of its peers by sending discover requests.')
-pysnmpUsmUser = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3))
-pysnmpUsmSecretTable = MibTable((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2), )
-if mibBuilder.loadTexts: pysnmpUsmSecretTable.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretTable.setDescription("The table of USM users passphrases configured in the SNMP engine's Local Configuration Datastore (LCD).")
-pysnmpUsmSecretEntry = MibTableRow((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1), ).setIndexNames((1, "PYSNMP-USM-MIB", "pysnmpUsmSecretUserName"))
-if mibBuilder.loadTexts: pysnmpUsmSecretEntry.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretEntry.setDescription('Information about a particular USM user credentials.')
-pysnmpUsmSecretUserName = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: pysnmpUsmSecretUserName.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretUserName.setDescription('The username string for which a row in this table represents a configuration.')
-pysnmpUsmSecretAuthKey = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 2), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 65535)))
-if mibBuilder.loadTexts: pysnmpUsmSecretAuthKey.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretAuthKey.setDescription("User's authentication passphrase used for localized key generation.")
-pysnmpUsmSecretPrivKey = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 3), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 65535)))
-if mibBuilder.loadTexts: pysnmpUsmSecretPrivKey.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretPrivKey.setDescription("User's encryption passphrase used for localized key generation.")
-pysnmpUsmSecretStatus = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 4), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: pysnmpUsmSecretStatus.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmSecretStatus.setDescription('Table status')
-pysnmpUsmKeyTable = MibTable((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3), )
-if mibBuilder.loadTexts: pysnmpUsmKeyTable.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyTable.setDescription("The table of USM users localized keys configured in the SNMP engine's Local Configuration Datastore (LCD).")
-pysnmpUsmKeyEntry = MibTableRow((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1), )
-usmUserEntry.registerAugmentation(("PYSNMP-USM-MIB", "pysnmpUsmKeyEntry"))
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(pysnmpModuleIDs,) = mibBuilder.importSymbols(
+ "PYSNMP-MIB",
+ "pysnmpModuleIDs")
+
+(SnmpAdminString,) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpAdminString")
+
+(usmUserEntry,) = mibBuilder.importSymbols(
+ "SNMP-USER-BASED-SM-MIB",
+ "usmUserEntry")
+
+(ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(Bits,
+ NotificationType,
+ Counter64,
+ Gauge32,
+ ObjectIdentity,
+ Unsigned32,
+ IpAddress,
+ MibIdentifier,
+ Counter32,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ ModuleIdentity,
+ iso,
+ TimeTicks,
+ Integer32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Bits",
+ "NotificationType",
+ "Counter64",
+ "Gauge32",
+ "ObjectIdentity",
+ "Unsigned32",
+ "IpAddress",
+ "MibIdentifier",
+ "Counter32",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "ModuleIdentity",
+ "iso",
+ "TimeTicks",
+ "Integer32")
+
+(TextualConvention,
+ RowStatus,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "RowStatus",
+ "DisplayString")
+
+pysnmpUsmMIB = ModuleIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1)
+)
+pysnmpUsmMIB.setRevisions(
+ ("2017-04-14 00:00",
+ "2005-05-14 00:00")
+)
+pysnmpUsmMIB.setLastUpdated("201704140000Z")
+if mibBuilder.loadTexts:
+ pysnmpUsmMIB.setOrganization("""\
+The PySNMP Project
+""")
+pysnmpUsmMIB.setContactInfo("""\
+E-mail: Ilya Etingof <etingof@gmail.com> GitHub:
+https://github.com/etingof/pysnmp
+""")
+if mibBuilder.loadTexts:
+ pysnmpUsmMIB.setDescription("""\
+This MIB module defines objects specific to User Security Model (USM)
+implementation at PySNMP.
+""")
+
+_PysnmpUsmMIBObjects_ObjectIdentity = ObjectIdentity
+pysnmpUsmMIBObjects = _PysnmpUsmMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1)
+)
+_PysnmpUsmCfg_ObjectIdentity = ObjectIdentity
+pysnmpUsmCfg = _PysnmpUsmCfg_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1)
+)
+
+
+class _PysnmpUsmDiscoverable_Type(Integer32):
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1)
+ )
+ )
+ namedValues = NamedValues(
+ *(("discoverable", 1),
+ ("notDiscoverable", 0))
+ )
+
+
+_PysnmpUsmDiscoverable_Type.__name__ = "Integer32"
+_PysnmpUsmDiscoverable_Object = MibScalar
+pysnmpUsmDiscoverable = _PysnmpUsmDiscoverable_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1, 1),
+ _PysnmpUsmDiscoverable_Type()
+)
+pysnmpUsmDiscoverable.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ pysnmpUsmDiscoverable.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmDiscoverable.setDescription("""\
+Whether SNMP engine would support its discovery by responding to unknown
+clients.
+""")
+
+
+class _PysnmpUsmDiscovery_Type(Integer32):
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1)
+ )
+ )
+ namedValues = NamedValues(
+ *(("doDiscover", 1),
+ ("doNotDiscover", 0))
+ )
+
+
+_PysnmpUsmDiscovery_Type.__name__ = "Integer32"
+_PysnmpUsmDiscovery_Object = MibScalar
+pysnmpUsmDiscovery = _PysnmpUsmDiscovery_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 1, 2),
+ _PysnmpUsmDiscovery_Type()
+)
+pysnmpUsmDiscovery.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ pysnmpUsmDiscovery.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmDiscovery.setDescription("""\
+Whether SNMP engine would try to figure out the EngineIDs of its peers by
+sending discover requests.
+""")
+_PysnmpUsmSecretTable_Object = MibTable
+pysnmpUsmSecretTable = _PysnmpUsmSecretTable_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2)
+)
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretTable.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretTable.setDescription("""\
+The table of USM users passphrases configured in the SNMP engine's Local
+Configuration Datastore (LCD).
+""")
+_PysnmpUsmSecretEntry_Object = MibTableRow
+pysnmpUsmSecretEntry = _PysnmpUsmSecretEntry_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1)
+)
+pysnmpUsmSecretEntry.setIndexNames(
+ (1, "PYSNMP-USM-MIB", "pysnmpUsmSecretUserName"),
+)
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretEntry.setDescription("""\
+Information about a particular USM user credentials.
+""")
+
+
+class _PysnmpUsmSecretUserName_Type(SnmpAdminString):
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_PysnmpUsmSecretUserName_Type.__name__ = "SnmpAdminString"
+_PysnmpUsmSecretUserName_Object = MibTableColumn
+pysnmpUsmSecretUserName = _PysnmpUsmSecretUserName_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 1),
+ _PysnmpUsmSecretUserName_Type()
+)
+pysnmpUsmSecretUserName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretUserName.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretUserName.setDescription("""\
+The username string for which a row in this table represents a configuration.
+""")
+
+
+class _PysnmpUsmSecretAuthKey_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 65535),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmSecretAuthKey_Type.__name__ = "OctetString"
+_PysnmpUsmSecretAuthKey_Object = MibTableColumn
+pysnmpUsmSecretAuthKey = _PysnmpUsmSecretAuthKey_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 2),
+ _PysnmpUsmSecretAuthKey_Type()
+)
+pysnmpUsmSecretAuthKey.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretAuthKey.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretAuthKey.setDescription("""\
+User's authentication passphrase used for localized key generation.
+""")
+
+
+class _PysnmpUsmSecretPrivKey_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 65535),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmSecretPrivKey_Type.__name__ = "OctetString"
+_PysnmpUsmSecretPrivKey_Object = MibTableColumn
+pysnmpUsmSecretPrivKey = _PysnmpUsmSecretPrivKey_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 3),
+ _PysnmpUsmSecretPrivKey_Type()
+)
+pysnmpUsmSecretPrivKey.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretPrivKey.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretPrivKey.setDescription("""\
+User's encryption passphrase used for localized key generation.
+""")
+_PysnmpUsmSecretStatus_Type = RowStatus
+_PysnmpUsmSecretStatus_Object = MibTableColumn
+pysnmpUsmSecretStatus = _PysnmpUsmSecretStatus_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 2, 1, 4),
+ _PysnmpUsmSecretStatus_Type()
+)
+pysnmpUsmSecretStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmSecretStatus.setDescription("""\
+Table status
+""")
+_PysnmpUsmUser_ObjectIdentity = ObjectIdentity
+pysnmpUsmUser = _PysnmpUsmUser_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3)
+)
+_PysnmpUsmKeyTable_Object = MibTable
+pysnmpUsmKeyTable = _PysnmpUsmKeyTable_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3)
+)
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyTable.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyTable.setDescription("""\
+The table of USM users localized keys configured in the SNMP engine's Local
+Configuration Datastore (LCD).
+""")
+_PysnmpUsmKeyEntry_Object = MibTableRow
+pysnmpUsmKeyEntry = _PysnmpUsmKeyEntry_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1)
+)
+usmUserEntry.registerAugmentions(
+ ("PYSNMP-USM-MIB",
+ "pysnmpUsmKeyEntry")
+)
pysnmpUsmKeyEntry.setIndexNames(*usmUserEntry.getIndexNames())
-if mibBuilder.loadTexts: pysnmpUsmKeyEntry.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyEntry.setDescription('Information about a particular USM user credentials.')
-pysnmpUsmKeyAuthLocalized = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 1), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 64)))
-if mibBuilder.loadTexts: pysnmpUsmKeyAuthLocalized.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyAuthLocalized.setDescription("User's localized key used for authentication.")
-pysnmpUsmKeyPrivLocalized = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 2), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 64)))
-if mibBuilder.loadTexts: pysnmpUsmKeyPrivLocalized.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyPrivLocalized.setDescription("User's localized key used for encryption.")
-pysnmpUsmKeyAuth = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 3), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 64)))
-if mibBuilder.loadTexts: pysnmpUsmKeyAuth.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyAuth.setDescription("User's non-localized key used for authentication.")
-pysnmpUsmKeyPriv = MibTableColumn((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 4), OctetString('\x00\x00\x00\x00\x00\x00\x00\x00').subtype(subtypeSpec=ValueSizeConstraint(8, 64)))
-if mibBuilder.loadTexts: pysnmpUsmKeyPriv.setStatus('current')
-if mibBuilder.loadTexts: pysnmpUsmKeyPriv.setDescription("User's non-localized key used for encryption.")
-pysnmpUsmMIBCompliances = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2, 1))
-pysnmpUsmMIBGroups = MibIdentifier((1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2, 2))
-mibBuilder.exportSymbols("PYSNMP-USM-MIB", pysnmpUsmCfg=pysnmpUsmCfg, pysnmpUsmDiscoverable=pysnmpUsmDiscoverable, pysnmpUsmKeyEntry=pysnmpUsmKeyEntry, pysnmpUsmKeyTable=pysnmpUsmKeyTable, pysnmpUsmKeyPrivLocalized=pysnmpUsmKeyPrivLocalized, pysnmpUsmMIBCompliances=pysnmpUsmMIBCompliances, pysnmpUsmMIBObjects=pysnmpUsmMIBObjects, pysnmpUsmSecretTable=pysnmpUsmSecretTable, PYSNMP_MODULE_ID=pysnmpUsmMIB, pysnmpUsmSecretEntry=pysnmpUsmSecretEntry, pysnmpUsmMIBConformance=pysnmpUsmMIBConformance, pysnmpUsmUser=pysnmpUsmUser, pysnmpUsmKeyAuth=pysnmpUsmKeyAuth, pysnmpUsmSecretPrivKey=pysnmpUsmSecretPrivKey, pysnmpUsmKeyAuthLocalized=pysnmpUsmKeyAuthLocalized, pysnmpUsmMIB=pysnmpUsmMIB, pysnmpUsmDiscovery=pysnmpUsmDiscovery, pysnmpUsmSecretUserName=pysnmpUsmSecretUserName, pysnmpUsmKeyPriv=pysnmpUsmKeyPriv, pysnmpUsmSecretAuthKey=pysnmpUsmSecretAuthKey, pysnmpUsmSecretStatus=pysnmpUsmSecretStatus, pysnmpUsmMIBGroups=pysnmpUsmMIBGroups)
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyEntry.setDescription("""\
+Information about a particular USM user credentials.
+""")
+
+
+class _PysnmpUsmKeyAuthLocalized_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 32),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmKeyAuthLocalized_Type.__name__ = "OctetString"
+_PysnmpUsmKeyAuthLocalized_Object = MibTableColumn
+pysnmpUsmKeyAuthLocalized = _PysnmpUsmKeyAuthLocalized_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 1),
+ _PysnmpUsmKeyAuthLocalized_Type()
+)
+pysnmpUsmKeyAuthLocalized.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyAuthLocalized.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyAuthLocalized.setDescription("""\
+User's localized key used for authentication.
+""")
+
+
+class _PysnmpUsmKeyPrivLocalized_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 32),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmKeyPrivLocalized_Type.__name__ = "OctetString"
+_PysnmpUsmKeyPrivLocalized_Object = MibTableColumn
+pysnmpUsmKeyPrivLocalized = _PysnmpUsmKeyPrivLocalized_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 2),
+ _PysnmpUsmKeyPrivLocalized_Type()
+)
+pysnmpUsmKeyPrivLocalized.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyPrivLocalized.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyPrivLocalized.setDescription("""\
+User's localized key used for encryption.
+""")
+
+
+class _PysnmpUsmKeyAuth_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 32),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmKeyAuth_Type.__name__ = "OctetString"
+_PysnmpUsmKeyAuth_Object = MibTableColumn
+pysnmpUsmKeyAuth = _PysnmpUsmKeyAuth_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 3),
+ _PysnmpUsmKeyAuth_Type()
+)
+pysnmpUsmKeyAuth.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyAuth.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyAuth.setDescription("""\
+User's non-localized key used for authentication.
+""")
+
+
+class _PysnmpUsmKeyPriv_Type(OctetString):
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 32),
+ )
+ defaultHexValue = '0000000000000000'
+
+
+_PysnmpUsmKeyPriv_Type.__name__ = "OctetString"
+_PysnmpUsmKeyPriv_Object = MibTableColumn
+pysnmpUsmKeyPriv = _PysnmpUsmKeyPriv_Object(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 1, 3, 1, 4),
+ _PysnmpUsmKeyPriv_Type()
+)
+pysnmpUsmKeyPriv.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyPriv.setStatus("current")
+if mibBuilder.loadTexts:
+ pysnmpUsmKeyPriv.setDescription("""\
+User's non-localized key used for encryption.
+""")
+_PysnmpUsmMIBConformance_ObjectIdentity = ObjectIdentity
+pysnmpUsmMIBConformance = _PysnmpUsmMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2)
+)
+_PysnmpUsmMIBCompliances_ObjectIdentity = ObjectIdentity
+pysnmpUsmMIBCompliances = _PysnmpUsmMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2, 1)
+)
+_PysnmpUsmMIBGroups_ObjectIdentity = ObjectIdentity
+pysnmpUsmMIBGroups = _PysnmpUsmMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 4, 1, 20408, 3, 1, 1, 2, 2)
+)
+
+mibBuilder.exportSymbols(
+ "PYSNMP-USM-MIB",
+ **{"pysnmpUsmMIB": pysnmpUsmMIB,
+ "pysnmpUsmMIBObjects": pysnmpUsmMIBObjects,
+ "pysnmpUsmCfg": pysnmpUsmCfg,
+ "pysnmpUsmDiscoverable": pysnmpUsmDiscoverable,
+ "pysnmpUsmDiscovery": pysnmpUsmDiscovery,
+ "pysnmpUsmSecretTable": pysnmpUsmSecretTable,
+ "pysnmpUsmSecretEntry": pysnmpUsmSecretEntry,
+ "pysnmpUsmSecretUserName": pysnmpUsmSecretUserName,
+ "pysnmpUsmSecretAuthKey": pysnmpUsmSecretAuthKey,
+ "pysnmpUsmSecretPrivKey": pysnmpUsmSecretPrivKey,
+ "pysnmpUsmSecretStatus": pysnmpUsmSecretStatus,
+ "pysnmpUsmUser": pysnmpUsmUser,
+ "pysnmpUsmKeyTable": pysnmpUsmKeyTable,
+ "pysnmpUsmKeyEntry": pysnmpUsmKeyEntry,
+ "pysnmpUsmKeyAuthLocalized": pysnmpUsmKeyAuthLocalized,
+ "pysnmpUsmKeyPrivLocalized": pysnmpUsmKeyPrivLocalized,
+ "pysnmpUsmKeyAuth": pysnmpUsmKeyAuth,
+ "pysnmpUsmKeyPriv": pysnmpUsmKeyPriv,
+ "pysnmpUsmMIBConformance": pysnmpUsmMIBConformance,
+ "pysnmpUsmMIBCompliances": pysnmpUsmMIBCompliances,
+ "pysnmpUsmMIBGroups": pysnmpUsmMIBGroups}
+)
diff --git a/pysnmp/smi/mibs/RFC1158-MIB.py b/pysnmp/smi/mibs/RFC1158-MIB.py
index ef5c2c16..6267f357 100644
--- a/pysnmp/smi/mibs/RFC1158-MIB.py
+++ b/pysnmp/smi/mibs/RFC1158-MIB.py
@@ -4,18 +4,47 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module RFC1158-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/RFC1158-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 12:12:07 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Thu Feb 14 23:20:17 2019
#
# It is a stripped version of MIB that contains only symbols that is
# unique to SMIv1 and have no analogues in SMIv2
#
-Integer32, MibScalar, MibTable, MibTableRow, MibTableColumn, TimeTicks, iso, Gauge32, MibIdentifier, Bits, Counter32 = mibBuilder.importSymbols("SNMPv2-SMI", "Integer32", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "TimeTicks", "iso", "Gauge32", "MibIdentifier", "Bits","Counter32")
-snmpInBadTypes = MibScalar((1, 3, 6, 1, 2, 1, 11, 7), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInBadTypes.setStatus('mandatory')
-snmpOutReadOnlys = MibScalar((1, 3, 6, 1, 2, 1, 11, 23), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutReadOnlys.setStatus('mandatory')
-mibBuilder.exportSymbols("RFC1158-MIB", snmpOutReadOnlys=snmpOutReadOnlys, snmpInBadTypes=snmpInBadTypes)
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Counter32,
+ MibScalar) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter32",
+ "MibScalar")
+
+_SnmpInBadTypes_Type = Counter32
+_SnmpInBadTypes_Object = MibScalar
+snmpInBadTypes = _SnmpInBadTypes_Object(
+ (1, 3, 6, 1, 2, 1, 11, 7),
+ _SnmpInBadTypes_Type()
+)
+snmpInBadTypes.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInBadTypes.setStatus("mandatory")
+
+_SnmpOutReadOnlys_Type = Counter32
+_SnmpOutReadOnlys_Object = MibScalar
+snmpOutReadOnlys = _SnmpOutReadOnlys_Object(
+ (1, 3, 6, 1, 2, 1, 11, 23),
+ _SnmpOutReadOnlys_Type()
+)
+snmpOutReadOnlys.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutReadOnlys.setStatus("mandatory")
+
+mibBuilder.exportSymbols(
+ "RFC1158-MIB",
+ **{"snmpInBadTypes": snmpInBadTypes,
+ "snmpOutReadOnlys": snmpOutReadOnlys}
+)
diff --git a/pysnmp/smi/mibs/RFC1213-MIB.py b/pysnmp/smi/mibs/RFC1213-MIB.py
index 01cd008a..b4d759ec 100644
--- a/pysnmp/smi/mibs/RFC1213-MIB.py
+++ b/pysnmp/smi/mibs/RFC1213-MIB.py
@@ -4,414 +4,2361 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module RFC1213-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/RFC1213-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 12:12:07 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
-#
# It is a stripped version of MIB that contains only symbols that is
# unique to SMIv1 and have no analogues in SMIv2
#
-OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion, ValueRangeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion", "ValueRangeConstraint")
-ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
-IpAddress, TimeTicks, NotificationType, ModuleIdentity, Integer32, Counter32, MibIdentifier, ObjectIdentity, Gauge32, Unsigned32, mgmt, MibScalar, MibTable, MibTableRow, MibTableColumn, Bits, iso, Counter64, mib_2 = mibBuilder.importSymbols("SNMPv2-SMI", "IpAddress", "TimeTicks", "NotificationType", "ModuleIdentity", "Integer32", "Counter32", "MibIdentifier", "ObjectIdentity", "Gauge32", "Unsigned32", "mgmt", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Bits", "iso", "Counter64","mib-2")
-DisplayString, PhysAddress = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "PhysAddress")
from pysnmp.proto.rfc1155 import NetworkAddress
-at = MibIdentifier((1, 3, 6, 1, 2, 1, 3))
-ip = MibIdentifier((1, 3, 6, 1, 2, 1, 4))
-egp = MibIdentifier((1, 3, 6, 1, 2, 1, 8))
-atTable = MibTable((1, 3, 6, 1, 2, 1, 3, 1), )
-if mibBuilder.loadTexts: atTable.setStatus('deprecated')
-if mibBuilder.loadTexts: atTable.setDescription("The Address Translation tables contain the NetworkAddress to `physical' address equivalences. Some interfaces do not use translation tables for determining address equivalences (e.g., DDN-X.25 has an algorithmic method); if all interfaces are of this type, then the Address Translation table is empty, i.e., has zero entries.")
-atEntry = MibTableRow((1, 3, 6, 1, 2, 1, 3, 1, 1), ).setIndexNames((0, "RFC1213-MIB", "atIfIndex"), (0, "RFC1213-MIB", "atNetAddress"))
-if mibBuilder.loadTexts: atEntry.setStatus('deprecated')
-if mibBuilder.loadTexts: atEntry.setDescription("Each entry contains one NetworkAddress to `physical' address equivalence.")
-atIfIndex = MibTableColumn((1, 3, 6, 1, 2, 1, 3, 1, 1, 1), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: atIfIndex.setStatus('deprecated')
-if mibBuilder.loadTexts: atIfIndex.setDescription("The interface on which this entry's equivalence is effective. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex.")
-atPhysAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 3, 1, 1, 2), PhysAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: atPhysAddress.setStatus('deprecated')
-if mibBuilder.loadTexts: atPhysAddress.setDescription("The media-dependent `physical' address. Setting this object to a null string (one of zero length) has the effect of invaliding the corresponding entry in the atTable object. That is, it effectively dissasociates the interface identified with said entry from the mapping identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant atPhysAddress object.")
-atNetAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 3, 1, 1, 3), NetworkAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: atNetAddress.setStatus('deprecated')
-if mibBuilder.loadTexts: atNetAddress.setDescription("The NetworkAddress (e.g., the IP address) corresponding to the media-dependent `physical' address.")
-ipForwarding = MibScalar((1, 3, 6, 1, 2, 1, 4, 1), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("forwarding", 1), ("not-forwarding", 2)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipForwarding.setStatus('mandatory')
-if mibBuilder.loadTexts: ipForwarding.setDescription("The indication of whether this entity is acting as an IP gateway in respect to the forwarding of datagrams received by, but not addressed to, this entity. IP gateways forward datagrams. IP hosts do not (except those source-routed via the host). Note that for some managed nodes, this object may take on only a subset of the values possible. Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to change this object to an inappropriate value.")
-ipDefaultTTL = MibScalar((1, 3, 6, 1, 2, 1, 4, 2), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipDefaultTTL.setStatus('mandatory')
-if mibBuilder.loadTexts: ipDefaultTTL.setDescription('The default value inserted into the Time-To-Live field of the IP header of datagrams originated at this entity, whenever a TTL value is not supplied by the transport layer protocol.')
-ipInReceives = MibScalar((1, 3, 6, 1, 2, 1, 4, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInReceives.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInReceives.setDescription('The total number of input datagrams received from interfaces, including those received in error.')
-ipInHdrErrors = MibScalar((1, 3, 6, 1, 2, 1, 4, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInHdrErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInHdrErrors.setDescription('The number of input datagrams discarded due to errors in their IP headers, including bad checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered in processing their IP options, etc.')
-ipInAddrErrors = MibScalar((1, 3, 6, 1, 2, 1, 4, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInAddrErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInAddrErrors.setDescription("The number of input datagrams discarded because the IP address in their IP header's destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., 0.0.0.0) and addresses of unsupported Classes (e.g., Class E). For entities which are not IP Gateways and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address.")
-ipForwDatagrams = MibScalar((1, 3, 6, 1, 2, 1, 4, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipForwDatagrams.setStatus('mandatory')
-if mibBuilder.loadTexts: ipForwDatagrams.setDescription('The number of input datagrams for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination. In entities which do not act as IP Gateways, this counter will include only those packets which were Source-Routed via this entity, and the Source- Route option processing was successful.')
-ipInUnknownProtos = MibScalar((1, 3, 6, 1, 2, 1, 4, 7), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInUnknownProtos.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInUnknownProtos.setDescription('The number of locally-addressed datagrams received successfully but discarded because of an unknown or unsupported protocol.')
-ipInDiscards = MibScalar((1, 3, 6, 1, 2, 1, 4, 8), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInDiscards.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInDiscards.setDescription('The number of input IP datagrams for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space). Note that this counter does not include any datagrams discarded while awaiting re-assembly.')
-ipInDelivers = MibScalar((1, 3, 6, 1, 2, 1, 4, 9), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipInDelivers.setStatus('mandatory')
-if mibBuilder.loadTexts: ipInDelivers.setDescription('The total number of input datagrams successfully delivered to IP user-protocols (including ICMP).')
-ipOutRequests = MibScalar((1, 3, 6, 1, 2, 1, 4, 10), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipOutRequests.setStatus('mandatory')
-if mibBuilder.loadTexts: ipOutRequests.setDescription('The total number of IP datagrams which local IP user-protocols (including ICMP) supplied to IP in requests for transmission. Note that this counter does not include any datagrams counted in ipForwDatagrams.')
-ipOutDiscards = MibScalar((1, 3, 6, 1, 2, 1, 4, 11), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipOutDiscards.setStatus('mandatory')
-if mibBuilder.loadTexts: ipOutDiscards.setDescription('The number of output IP datagrams for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space). Note that this counter would include datagrams counted in ipForwDatagrams if any such packets met this (discretionary) discard criterion.')
-ipOutNoRoutes = MibScalar((1, 3, 6, 1, 2, 1, 4, 12), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipOutNoRoutes.setStatus('mandatory')
-if mibBuilder.loadTexts: ipOutNoRoutes.setDescription("The number of IP datagrams discarded because no route could be found to transmit them to their destination. Note that this counter includes any packets counted in ipForwDatagrams which meet this `no-route' criterion. Note that this includes any datagarms which a host cannot route because all of its default gateways are down.")
-ipReasmTimeout = MibScalar((1, 3, 6, 1, 2, 1, 4, 13), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipReasmTimeout.setStatus('mandatory')
-if mibBuilder.loadTexts: ipReasmTimeout.setDescription('The maximum number of seconds which received fragments are held while they are awaiting reassembly at this entity.')
-ipReasmReqds = MibScalar((1, 3, 6, 1, 2, 1, 4, 14), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipReasmReqds.setStatus('mandatory')
-if mibBuilder.loadTexts: ipReasmReqds.setDescription('The number of IP fragments received which needed to be reassembled at this entity.')
-ipReasmOKs = MibScalar((1, 3, 6, 1, 2, 1, 4, 15), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipReasmOKs.setStatus('mandatory')
-if mibBuilder.loadTexts: ipReasmOKs.setDescription('The number of IP datagrams successfully re- assembled.')
-ipReasmFails = MibScalar((1, 3, 6, 1, 2, 1, 4, 16), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipReasmFails.setStatus('mandatory')
-if mibBuilder.loadTexts: ipReasmFails.setDescription('The number of failures detected by the IP re- assembly algorithm (for whatever reason: timed out, errors, etc). Note that this is not necessarily a count of discarded IP fragments since some algorithms (notably the algorithm in RFC 815) can lose track of the number of fragments by combining them as they are received.')
-ipFragOKs = MibScalar((1, 3, 6, 1, 2, 1, 4, 17), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipFragOKs.setStatus('mandatory')
-if mibBuilder.loadTexts: ipFragOKs.setDescription('The number of IP datagrams that have been successfully fragmented at this entity.')
-ipFragFails = MibScalar((1, 3, 6, 1, 2, 1, 4, 18), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipFragFails.setStatus('mandatory')
-if mibBuilder.loadTexts: ipFragFails.setDescription("The number of IP datagrams that have been discarded because they needed to be fragmented at this entity but could not be, e.g., because their Don't Fragment flag was set.")
-ipFragCreates = MibScalar((1, 3, 6, 1, 2, 1, 4, 19), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipFragCreates.setStatus('mandatory')
-if mibBuilder.loadTexts: ipFragCreates.setDescription('The number of IP datagram fragments that have been generated as a result of fragmentation at this entity.')
-ipAddrTable = MibTable((1, 3, 6, 1, 2, 1, 4, 20), )
-if mibBuilder.loadTexts: ipAddrTable.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAddrTable.setDescription("The table of addressing information relevant to this entity's IP addresses.")
-ipAddrEntry = MibTableRow((1, 3, 6, 1, 2, 1, 4, 20, 1), ).setIndexNames((0, "RFC1213-MIB", "ipAdEntAddr"))
-if mibBuilder.loadTexts: ipAddrEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAddrEntry.setDescription("The addressing information for one of this entity's IP addresses.")
-ipAdEntAddr = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 20, 1, 1), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipAdEntAddr.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAdEntAddr.setDescription("The IP address to which this entry's addressing information pertains.")
-ipAdEntIfIndex = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 20, 1, 2), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipAdEntIfIndex.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAdEntIfIndex.setDescription('The index value which uniquely identifies the interface to which this entry is applicable. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex.')
-ipAdEntNetMask = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 20, 1, 3), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipAdEntNetMask.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAdEntNetMask.setDescription('The subnet mask associated with the IP address of this entry. The value of the mask is an IP address with all the network bits set to 1 and all the hosts bits set to 0.')
-ipAdEntBcastAddr = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 20, 1, 4), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipAdEntBcastAddr.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAdEntBcastAddr.setDescription('The value of the least-significant bit in the IP broadcast address used for sending datagrams on the (logical) interface associated with the IP address of this entry. For example, when the Internet standard all-ones broadcast address is used, the value will be 1. This value applies to both the subnet and network broadcasts addresses used by the entity on this (logical) interface.')
-ipAdEntReasmMaxSize = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 20, 1, 5), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 65535))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipAdEntReasmMaxSize.setStatus('mandatory')
-if mibBuilder.loadTexts: ipAdEntReasmMaxSize.setDescription('The size of the largest IP datagram which this entity can re-assemble from incoming IP fragmented datagrams received on this interface.')
-ipRouteTable = MibTable((1, 3, 6, 1, 2, 1, 4, 21), )
-if mibBuilder.loadTexts: ipRouteTable.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteTable.setDescription("This entity's IP Routing table.")
-ipRouteEntry = MibTableRow((1, 3, 6, 1, 2, 1, 4, 21, 1), ).setIndexNames((0, "RFC1213-MIB", "ipRouteDest"))
-if mibBuilder.loadTexts: ipRouteEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteEntry.setDescription('A route to a particular destination.')
-ipRouteDest = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 1), IpAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteDest.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteDest.setDescription('The destination IP address of this route. An entry with a value of 0.0.0.0 is considered a default route. Multiple routes to a single destination can appear in the table, but access to such multiple entries is dependent on the table- access mechanisms defined by the network management protocol in use.')
-ipRouteIfIndex = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 2), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteIfIndex.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteIfIndex.setDescription('The index value which uniquely identifies the local interface through which the next hop of this route should be reached. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex.')
-ipRouteMetric1 = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 3), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMetric1.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMetric1.setDescription("The primary routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1.")
-ipRouteMetric2 = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 4), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMetric2.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMetric2.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1.")
-ipRouteMetric3 = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 5), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMetric3.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMetric3.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1.")
-ipRouteMetric4 = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 6), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMetric4.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMetric4.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1.")
-ipRouteNextHop = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 7), IpAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteNextHop.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteNextHop.setDescription("The IP address of the next hop of this route. (In the case of a route bound to an interface which is realized via a broadcast media, the value of this field is the agent's IP address on that interface.)")
-ipRouteType = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 8), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4))).clone(namedValues=NamedValues(("other", 1), ("invalid", 2), ("direct", 3), ("indirect", 4)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteType.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteType.setDescription('The type of route. Note that the values direct(3) and indirect(4) refer to the notion of direct and indirect routing in the IP architecture. Setting this object to the value invalid(2) has the effect of invalidating the corresponding entry in the ipRouteTable object. That is, it effectively dissasociates the destination identified with said entry from the route identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant ipRouteType object.')
-ipRouteProto = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 9), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14))).clone(namedValues=NamedValues(("other", 1), ("local", 2), ("netmgmt", 3), ("icmp", 4), ("egp", 5), ("ggp", 6), ("hello", 7), ("rip", 8), ("is-is", 9), ("es-is", 10), ("ciscoIgrp", 11), ("bbnSpfIgp", 12), ("ospf", 13), ("bgp", 14)))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipRouteProto.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteProto.setDescription('The routing mechanism via which this route was learned. Inclusion of values for gateway routing protocols is not intended to imply that hosts should support those protocols.')
-ipRouteAge = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 10), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteAge.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteAge.setDescription("The number of seconds since this route was last updated or otherwise determined to be correct. Note that no semantics of `too old' can be implied except through knowledge of the routing protocol by which the route was learned.")
-ipRouteMask = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 11), IpAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMask.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMask.setDescription('Indicate the mask to be logical-ANDed with the destination address before being compared to the value in the ipRouteDest field. For those systems that do not support arbitrary subnet masks, an agent constructs the value of the ipRouteMask by determining whether the value of the correspondent ipRouteDest field belong to a class-A, B, or C network, and then using one of: mask network 255.0.0.0 class-A 255.255.0.0 class-B 255.255.255.0 class-C If the value of the ipRouteDest is 0.0.0.0 (a default route), then the mask value is also 0.0.0.0. It should be noted that all IP routing subsystems implicitly use this mechanism.')
-ipRouteMetric5 = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 12), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipRouteMetric5.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteMetric5.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1.")
-ipRouteInfo = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 21, 1, 13), ObjectIdentifier()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipRouteInfo.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRouteInfo.setDescription("A reference to MIB definitions specific to the particular routing protocol which is responsible for this route, as determined by the value specified in the route's ipRouteProto value. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntatically valid object identifier, and any conformant implementation of ASN.1 and BER must be able to generate and recognize this value.")
-ipNetToMediaTable = MibTable((1, 3, 6, 1, 2, 1, 4, 22), )
-if mibBuilder.loadTexts: ipNetToMediaTable.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaTable.setDescription('The IP Address Translation table used for mapping from IP addresses to physical addresses.')
-ipNetToMediaEntry = MibTableRow((1, 3, 6, 1, 2, 1, 4, 22, 1), ).setIndexNames((0, "RFC1213-MIB", "ipNetToMediaIfIndex"), (0, "RFC1213-MIB", "ipNetToMediaNetAddress"))
-if mibBuilder.loadTexts: ipNetToMediaEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaEntry.setDescription("Each entry contains one IpAddress to `physical' address equivalence.")
-ipNetToMediaIfIndex = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 22, 1, 1), Integer32()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipNetToMediaIfIndex.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaIfIndex.setDescription("The interface on which this entry's equivalence is effective. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex.")
-ipNetToMediaPhysAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 22, 1, 2), PhysAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipNetToMediaPhysAddress.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaPhysAddress.setDescription("The media-dependent `physical' address.")
-ipNetToMediaNetAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 22, 1, 3), IpAddress()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipNetToMediaNetAddress.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaNetAddress.setDescription("The IpAddress corresponding to the media- dependent `physical' address.")
-ipNetToMediaType = MibTableColumn((1, 3, 6, 1, 2, 1, 4, 22, 1, 4), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4))).clone(namedValues=NamedValues(("other", 1), ("invalid", 2), ("dynamic", 3), ("static", 4)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: ipNetToMediaType.setStatus('mandatory')
-if mibBuilder.loadTexts: ipNetToMediaType.setDescription('The type of mapping. Setting this object to the value invalid(2) has the effect of invalidating the corresponding entry in the ipNetToMediaTable. That is, it effectively dissasociates the interface identified with said entry from the mapping identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant ipNetToMediaType object.')
-ipRoutingDiscards = MibScalar((1, 3, 6, 1, 2, 1, 4, 23), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: ipRoutingDiscards.setStatus('mandatory')
-if mibBuilder.loadTexts: ipRoutingDiscards.setDescription('The number of routing entries which were chosen to be discarded even though they are valid. One possible reason for discarding such an entry could be to free-up buffer space for other routing entries.')
-icmpInMsgs = MibScalar((1, 3, 6, 1, 2, 1, 5, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInMsgs.setDescription('The total number of ICMP messages which the entity received. Note that this counter includes all those counted by icmpInErrors.')
-icmpInErrors = MibScalar((1, 3, 6, 1, 2, 1, 5, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInErrors.setDescription('The number of ICMP messages which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.).')
-icmpInDestUnreachs = MibScalar((1, 3, 6, 1, 2, 1, 5, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInDestUnreachs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInDestUnreachs.setDescription('The number of ICMP Destination Unreachable messages received.')
-icmpInTimeExcds = MibScalar((1, 3, 6, 1, 2, 1, 5, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInTimeExcds.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInTimeExcds.setDescription('The number of ICMP Time Exceeded messages received.')
-icmpInParmProbs = MibScalar((1, 3, 6, 1, 2, 1, 5, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInParmProbs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInParmProbs.setDescription('The number of ICMP Parameter Problem messages received.')
-icmpInSrcQuenchs = MibScalar((1, 3, 6, 1, 2, 1, 5, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInSrcQuenchs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInSrcQuenchs.setDescription('The number of ICMP Source Quench messages received.')
-icmpInRedirects = MibScalar((1, 3, 6, 1, 2, 1, 5, 7), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInRedirects.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInRedirects.setDescription('The number of ICMP Redirect messages received.')
-icmpInEchos = MibScalar((1, 3, 6, 1, 2, 1, 5, 8), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInEchos.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInEchos.setDescription('The number of ICMP Echo (request) messages received.')
-icmpInEchoReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 9), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInEchoReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInEchoReps.setDescription('The number of ICMP Echo Reply messages received.')
-icmpInTimestamps = MibScalar((1, 3, 6, 1, 2, 1, 5, 10), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInTimestamps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInTimestamps.setDescription('The number of ICMP Timestamp (request) messages received.')
-icmpInTimestampReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 11), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInTimestampReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInTimestampReps.setDescription('The number of ICMP Timestamp Reply messages received.')
-icmpInAddrMasks = MibScalar((1, 3, 6, 1, 2, 1, 5, 12), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInAddrMasks.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInAddrMasks.setDescription('The number of ICMP Address Mask Request messages received.')
-icmpInAddrMaskReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 13), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpInAddrMaskReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpInAddrMaskReps.setDescription('The number of ICMP Address Mask Reply messages received.')
-icmpOutMsgs = MibScalar((1, 3, 6, 1, 2, 1, 5, 14), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutMsgs.setDescription('The total number of ICMP messages which this entity attempted to send. Note that this counter includes all those counted by icmpOutErrors.')
-icmpOutErrors = MibScalar((1, 3, 6, 1, 2, 1, 5, 15), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutErrors.setDescription("The number of ICMP messages which this entity did not send due to problems discovered within ICMP such as a lack of buffers. This value should not include errors discovered outside the ICMP layer such as the inability of IP to route the resultant datagram. In some implementations there may be no types of error which contribute to this counter's value.")
-icmpOutDestUnreachs = MibScalar((1, 3, 6, 1, 2, 1, 5, 16), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutDestUnreachs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutDestUnreachs.setDescription('The number of ICMP Destination Unreachable messages sent.')
-icmpOutTimeExcds = MibScalar((1, 3, 6, 1, 2, 1, 5, 17), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutTimeExcds.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutTimeExcds.setDescription('The number of ICMP Time Exceeded messages sent.')
-icmpOutParmProbs = MibScalar((1, 3, 6, 1, 2, 1, 5, 18), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutParmProbs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutParmProbs.setDescription('The number of ICMP Parameter Problem messages sent.')
-icmpOutSrcQuenchs = MibScalar((1, 3, 6, 1, 2, 1, 5, 19), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutSrcQuenchs.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutSrcQuenchs.setDescription('The number of ICMP Source Quench messages sent.')
-icmpOutRedirects = MibScalar((1, 3, 6, 1, 2, 1, 5, 20), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutRedirects.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutRedirects.setDescription('The number of ICMP Redirect messages sent. For a host, this object will always be zero, since hosts do not send redirects.')
-icmpOutEchos = MibScalar((1, 3, 6, 1, 2, 1, 5, 21), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutEchos.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutEchos.setDescription('The number of ICMP Echo (request) messages sent.')
-icmpOutEchoReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 22), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutEchoReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutEchoReps.setDescription('The number of ICMP Echo Reply messages sent.')
-icmpOutTimestamps = MibScalar((1, 3, 6, 1, 2, 1, 5, 23), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutTimestamps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutTimestamps.setDescription('The number of ICMP Timestamp (request) messages sent.')
-icmpOutTimestampReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 24), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutTimestampReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutTimestampReps.setDescription('The number of ICMP Timestamp Reply messages sent.')
-icmpOutAddrMasks = MibScalar((1, 3, 6, 1, 2, 1, 5, 25), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutAddrMasks.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutAddrMasks.setDescription('The number of ICMP Address Mask Request messages sent.')
-icmpOutAddrMaskReps = MibScalar((1, 3, 6, 1, 2, 1, 5, 26), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: icmpOutAddrMaskReps.setStatus('mandatory')
-if mibBuilder.loadTexts: icmpOutAddrMaskReps.setDescription('The number of ICMP Address Mask Reply messages sent.')
-tcpRtoAlgorithm = MibScalar((1, 3, 6, 1, 2, 1, 6, 1), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4))).clone(namedValues=NamedValues(("other", 1), ("constant", 2), ("rsre", 3), ("vanj", 4)))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpRtoAlgorithm.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpRtoAlgorithm.setDescription('The algorithm used to determine the timeout value used for retransmitting unacknowledged octets.')
-tcpRtoMin = MibScalar((1, 3, 6, 1, 2, 1, 6, 2), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpRtoMin.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpRtoMin.setDescription('The minimum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. In particular, when the timeout algorithm is rsre(3), an object of this type has the semantics of the LBOUND quantity described in RFC 793.')
-tcpRtoMax = MibScalar((1, 3, 6, 1, 2, 1, 6, 3), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpRtoMax.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpRtoMax.setDescription('The maximum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. In particular, when the timeout algorithm is rsre(3), an object of this type has the semantics of the UBOUND quantity described in RFC 793.')
-tcpMaxConn = MibScalar((1, 3, 6, 1, 2, 1, 6, 4), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpMaxConn.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpMaxConn.setDescription('The limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1.')
-tcpActiveOpens = MibScalar((1, 3, 6, 1, 2, 1, 6, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpActiveOpens.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpActiveOpens.setDescription('The number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state.')
-tcpPassiveOpens = MibScalar((1, 3, 6, 1, 2, 1, 6, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpPassiveOpens.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpPassiveOpens.setDescription('The number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state.')
-tcpAttemptFails = MibScalar((1, 3, 6, 1, 2, 1, 6, 7), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpAttemptFails.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpAttemptFails.setDescription('The number of times TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, plus the number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state.')
-tcpEstabResets = MibScalar((1, 3, 6, 1, 2, 1, 6, 8), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpEstabResets.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpEstabResets.setDescription('The number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state.')
-tcpCurrEstab = MibScalar((1, 3, 6, 1, 2, 1, 6, 9), Gauge32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpCurrEstab.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpCurrEstab.setDescription('The number of TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT.')
-tcpInSegs = MibScalar((1, 3, 6, 1, 2, 1, 6, 10), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpInSegs.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpInSegs.setDescription('The total number of segments received, including those received in error. This count includes segments received on currently established connections.')
-tcpOutSegs = MibScalar((1, 3, 6, 1, 2, 1, 6, 11), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpOutSegs.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpOutSegs.setDescription('The total number of segments sent, including those on current connections but excluding those containing only retransmitted octets.')
-tcpRetransSegs = MibScalar((1, 3, 6, 1, 2, 1, 6, 12), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpRetransSegs.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpRetransSegs.setDescription('The total number of segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets.')
-tcpConnTable = MibTable((1, 3, 6, 1, 2, 1, 6, 13), )
-if mibBuilder.loadTexts: tcpConnTable.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnTable.setDescription('A table containing TCP connection-specific information.')
-tcpConnEntry = MibTableRow((1, 3, 6, 1, 2, 1, 6, 13, 1), ).setIndexNames((0, "RFC1213-MIB", "tcpConnLocalAddress"), (0, "RFC1213-MIB", "tcpConnLocalPort"), (0, "RFC1213-MIB", "tcpConnRemAddress"), (0, "RFC1213-MIB", "tcpConnRemPort"))
-if mibBuilder.loadTexts: tcpConnEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnEntry.setDescription('Information about a particular current TCP connection. An object of this type is transient, in that it ceases to exist when (or soon after) the connection makes the transition to the CLOSED state.')
-tcpConnState = MibTableColumn((1, 3, 6, 1, 2, 1, 6, 13, 1, 1), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))).clone(namedValues=NamedValues(("closed", 1), ("listen", 2), ("synSent", 3), ("synReceived", 4), ("established", 5), ("finWait1", 6), ("finWait2", 7), ("closeWait", 8), ("lastAck", 9), ("closing", 10), ("timeWait", 11), ("deleteTCB", 12)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: tcpConnState.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnState.setDescription("The state of this TCP connection. The only value which may be set by a management station is deleteTCB(12). Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to set this object to any other value. If a management station sets this object to the value deleteTCB(12), then this has the effect of deleting the TCB (as defined in RFC 793) of the corresponding connection on the managed node, resulting in immediate termination of the connection. As an implementation-specific option, a RST segment may be sent from the managed node to the other TCP endpoint (note however that RST segments are not sent reliably).")
-tcpConnLocalAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 6, 13, 1, 2), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpConnLocalAddress.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnLocalAddress.setDescription('The local IP address for this TCP connection. In the case of a connection in the listen state which is willing to accept connections for any IP interface associated with the node, the value 0.0.0.0 is used.')
-tcpConnLocalPort = MibTableColumn((1, 3, 6, 1, 2, 1, 6, 13, 1, 3), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 65535))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpConnLocalPort.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnLocalPort.setDescription('The local port number for this TCP connection.')
-tcpConnRemAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 6, 13, 1, 4), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpConnRemAddress.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnRemAddress.setDescription('The remote IP address for this TCP connection.')
-tcpConnRemPort = MibTableColumn((1, 3, 6, 1, 2, 1, 6, 13, 1, 5), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 65535))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpConnRemPort.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpConnRemPort.setDescription('The remote port number for this TCP connection.')
-tcpInErrs = MibScalar((1, 3, 6, 1, 2, 1, 6, 14), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpInErrs.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpInErrs.setDescription('The total number of segments received in error (e.g., bad TCP checksums).')
-tcpOutRsts = MibScalar((1, 3, 6, 1, 2, 1, 6, 15), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: tcpOutRsts.setStatus('mandatory')
-if mibBuilder.loadTexts: tcpOutRsts.setDescription('The number of TCP segments sent containing the RST flag.')
-udpInDatagrams = MibScalar((1, 3, 6, 1, 2, 1, 7, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpInDatagrams.setStatus('mandatory')
-if mibBuilder.loadTexts: udpInDatagrams.setDescription('The total number of UDP datagrams delivered to UDP users.')
-udpNoPorts = MibScalar((1, 3, 6, 1, 2, 1, 7, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpNoPorts.setStatus('mandatory')
-if mibBuilder.loadTexts: udpNoPorts.setDescription('The total number of received UDP datagrams for which there was no application at the destination port.')
-udpInErrors = MibScalar((1, 3, 6, 1, 2, 1, 7, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpInErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: udpInErrors.setDescription('The number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.')
-udpOutDatagrams = MibScalar((1, 3, 6, 1, 2, 1, 7, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpOutDatagrams.setStatus('mandatory')
-if mibBuilder.loadTexts: udpOutDatagrams.setDescription('The total number of UDP datagrams sent from this entity.')
-udpTable = MibTable((1, 3, 6, 1, 2, 1, 7, 5), )
-if mibBuilder.loadTexts: udpTable.setStatus('mandatory')
-if mibBuilder.loadTexts: udpTable.setDescription('A table containing UDP listener information.')
-udpEntry = MibTableRow((1, 3, 6, 1, 2, 1, 7, 5, 1), ).setIndexNames((0, "RFC1213-MIB", "udpLocalAddress"), (0, "RFC1213-MIB", "udpLocalPort"))
-if mibBuilder.loadTexts: udpEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: udpEntry.setDescription('Information about a particular current UDP listener.')
-udpLocalAddress = MibTableColumn((1, 3, 6, 1, 2, 1, 7, 5, 1, 1), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpLocalAddress.setStatus('mandatory')
-if mibBuilder.loadTexts: udpLocalAddress.setDescription('The local IP address for this UDP listener. In the case of a UDP listener which is willing to accept datagrams for any IP interface associated with the node, the value 0.0.0.0 is used.')
-udpLocalPort = MibTableColumn((1, 3, 6, 1, 2, 1, 7, 5, 1, 2), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 65535))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: udpLocalPort.setStatus('mandatory')
-if mibBuilder.loadTexts: udpLocalPort.setDescription('The local port number for this UDP listener.')
-egpInMsgs = MibScalar((1, 3, 6, 1, 2, 1, 8, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpInMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpInMsgs.setDescription('The number of EGP messages received without error.')
-egpInErrors = MibScalar((1, 3, 6, 1, 2, 1, 8, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpInErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: egpInErrors.setDescription('The number of EGP messages received that proved to be in error.')
-egpOutMsgs = MibScalar((1, 3, 6, 1, 2, 1, 8, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpOutMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpOutMsgs.setDescription('The total number of locally generated EGP messages.')
-egpOutErrors = MibScalar((1, 3, 6, 1, 2, 1, 8, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpOutErrors.setStatus('mandatory')
-if mibBuilder.loadTexts: egpOutErrors.setDescription('The number of locally generated EGP messages not sent due to resource limitations within an EGP entity.')
-egpNeighTable = MibTable((1, 3, 6, 1, 2, 1, 8, 5), )
-if mibBuilder.loadTexts: egpNeighTable.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighTable.setDescription('The EGP neighbor table.')
-egpNeighEntry = MibTableRow((1, 3, 6, 1, 2, 1, 8, 5, 1), ).setIndexNames((0, "RFC1213-MIB", "egpNeighAddr"))
-if mibBuilder.loadTexts: egpNeighEntry.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighEntry.setDescription("Information about this entity's relationship with a particular EGP neighbor.")
-egpNeighState = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 1), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4, 5))).clone(namedValues=NamedValues(("idle", 1), ("acquisition", 2), ("down", 3), ("up", 4), ("cease", 5)))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighState.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighState.setDescription("The EGP state of the local system with respect to this entry's EGP neighbor. Each EGP state is represented by a value that is one greater than the numerical value associated with said state in RFC 904.")
-egpNeighAddr = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 2), IpAddress()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighAddr.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighAddr.setDescription("The IP address of this entry's EGP neighbor.")
-egpNeighAs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 3), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighAs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighAs.setDescription('The autonomous system of this EGP peer. Zero should be specified if the autonomous system number of the neighbor is not yet known.')
-egpNeighInMsgs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighInMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighInMsgs.setDescription('The number of EGP messages received without error from this EGP peer.')
-egpNeighInErrs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighInErrs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighInErrs.setDescription('The number of EGP messages received from this EGP peer that proved to be in error (e.g., bad EGP checksum).')
-egpNeighOutMsgs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighOutMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighOutMsgs.setDescription('The number of locally generated EGP messages to this EGP peer.')
-egpNeighOutErrs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 7), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighOutErrs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighOutErrs.setDescription('The number of locally generated EGP messages not sent to this EGP peer due to resource limitations within an EGP entity.')
-egpNeighInErrMsgs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 8), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighInErrMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighInErrMsgs.setDescription('The number of EGP-defined error messages received from this EGP peer.')
-egpNeighOutErrMsgs = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 9), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighOutErrMsgs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighOutErrMsgs.setDescription('The number of EGP-defined error messages sent to this EGP peer.')
-egpNeighStateUps = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 10), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighStateUps.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighStateUps.setDescription('The number of EGP state transitions to the UP state with this EGP peer.')
-egpNeighStateDowns = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 11), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighStateDowns.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighStateDowns.setDescription('The number of EGP state transitions from the UP state to any other state with this EGP peer.')
-egpNeighIntervalHello = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 12), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighIntervalHello.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighIntervalHello.setDescription('The interval between EGP Hello command retransmissions (in hundredths of a second). This represents the t1 timer as defined in RFC 904.')
-egpNeighIntervalPoll = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 13), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighIntervalPoll.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighIntervalPoll.setDescription('The interval between EGP poll command retransmissions (in hundredths of a second). This represents the t3 timer as defined in RFC 904.')
-egpNeighMode = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 14), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("active", 1), ("passive", 2)))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpNeighMode.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighMode.setDescription('The polling mode of this EGP entity, either passive or active.')
-egpNeighEventTrigger = MibTableColumn((1, 3, 6, 1, 2, 1, 8, 5, 1, 15), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("start", 1), ("stop", 2)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: egpNeighEventTrigger.setStatus('mandatory')
-if mibBuilder.loadTexts: egpNeighEventTrigger.setDescription("A control variable used to trigger operator- initiated Start and Stop events. When read, this variable always returns the most recent value that egpNeighEventTrigger was set to. If it has not been set since the last initialization of the network management subsystem on the node, it returns a value of `stop'. When set, this variable causes a Start or Stop event on the specified neighbor, as specified on pages 8-10 of RFC 904. Briefly, a Start event causes an Idle peer to begin neighbor acquisition and a non-Idle peer to reinitiate neighbor acquisition. A stop event causes a non-Idle peer to return to the Idle state until a Start event occurs, either via egpNeighEventTrigger or otherwise.")
-egpAs = MibScalar((1, 3, 6, 1, 2, 1, 8, 6), Integer32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: egpAs.setStatus('mandatory')
-if mibBuilder.loadTexts: egpAs.setDescription('The autonomous system number of this EGP entity.')
-mibBuilder.exportSymbols("RFC1213-MIB", ipAdEntReasmMaxSize=ipAdEntReasmMaxSize, icmpOutAddrMasks=icmpOutAddrMasks, ipRouteNextHop=ipRouteNextHop, tcpRtoMax=tcpRtoMax, ipOutRequests=ipOutRequests, udpNoPorts=udpNoPorts, ipNetToMediaIfIndex=ipNetToMediaIfIndex, ipNetToMediaTable=ipNetToMediaTable, udpTable=udpTable, tcpRetransSegs=tcpRetransSegs, icmpOutAddrMaskReps=icmpOutAddrMaskReps, icmpInEchoReps=icmpInEchoReps, ipRouteMetric5=ipRouteMetric5, ipNetToMediaNetAddress=ipNetToMediaNetAddress, ipAddrTable=ipAddrTable, tcpAttemptFails=tcpAttemptFails, icmpInDestUnreachs=icmpInDestUnreachs, ipAdEntIfIndex=ipAdEntIfIndex, egpInErrors=egpInErrors, TtcpInSegs=tcpInSegs, icmpInAddrMaskReps=icmpInAddrMaskReps, egp=egp, icmpInSrcQuenchs=icmpInSrcQuenchs, icmpInTimestamps=icmpInTimestamps, ipOutNoRoutes=ipOutNoRoutes, icmpOutTimestampReps=icmpOutTimestampReps, udpLocalPort=udpLocalPort, ipRouteType=ipRouteType, atIfIndex=atIfIndex, tcpEstabResets=tcpEstabResets, icmpOutTimestamps=icmpOutTimestamps, ipAdEntBcastAddr=ipAdEntBcastAddr, PhysAddress=PhysAddress, mib_2=mib_2, atPhysAddress=atPhysAddress, icmpInAddrMasks=icmpInAddrMasks, ipRouteMask=ipRouteMask, ipInHdrErrors=ipInHdrErrors, egpNeighInMsgs=egpNeighInMsgs, egpNeighAs=egpNeighAs, icmpOutErrors=icmpOutErrors, icmpOutTimeExcds=icmpOutTimeExcds, icmpOutEchoReps=icmpOutEchoReps, icmpOutDestUnreachs=icmpOutDestUnreachs, ipReasmFails=ipReasmFails, egpNeighOutErrMsgs=egpNeighOutErrMsgs, egpNeighEntry=egpNeighEntry, egpNeighTable=egpNeighTable, DisplayString=DisplayString, ipRouteIfIndex=ipRouteIfIndex, tcpRtoMin=tcpRtoMin, icmpInParmProbs=icmpInParmProbs, tcpCurrEstab=tcpCurrEstab, tcpConnLocalPort=tcpConnLocalPort, tcpOutRsts=tcpOutRsts, icmpOutEchos=icmpOutEchos, ipAdEntAddr=ipAdEntAddr, ipRouteInfo=ipRouteInfo, tcpConnRemAddress=tcpConnRemAddress, ipNetToMediaPhysAddress=ipNetToMediaPhysAddress, ipDefaultTTL=ipDefaultTTL, ipInUnknownProtos=ipInUnknownProtos, ipOutDiscards=ipOutDiscards, ipRouteEntry=ipRouteEntry, egpInMsgs=egpInMsgs, egpNeighIntervalHello=egpNeighIntervalHello, ipRouteProto=ipRouteProto, icmpOutMsgs=icmpOutMsgs, egpNeighStateDowns=egpNeighStateDowns, ipRouteAge=ipRouteAge, icmpInErrors=icmpInErrors, tcpConnTable=tcpConnTable, egpNeighInErrMsgs=egpNeighInErrMsgs, ipInAddrErrors=ipInAddrErrors, tcpOutSegs=tcpOutSegs, icmpInTimestampReps=icmpInTimestampReps, tcpConnLocalAddress=tcpConnLocalAddress, udpOutDatagrams=udpOutDatagrams, tcpRtoAlgorithm=tcpRtoAlgorithm, ipFragCreates=ipFragCreates, tcpPassiveOpens=tcpPassiveOpens, ipNetToMediaEntry=ipNetToMediaEntry, ipInReceives=ipInReceives, ipForwDatagrams=ipForwDatagrams, tcpActiveOpens=tcpActiveOpens, ipFragOKs=ipFragOKs, ipAddrEntry=ipAddrEntry, ipRouteDest=ipRouteDest, udpInDatagrams=udpInDatagrams, egpOutErrors=egpOutErrors, ipRouteMetric1=ipRouteMetric1, ipAdEntNetMask=ipAdEntNetMask, tcpConnEntry=tcpConnEntry, tcpConnRemPort=tcpConnRemPort, ipReasmTimeout=ipReasmTimeout, udpInErrors=udpInErrors, udpEntry=udpEntry, egpNeighState=egpNeighState, ipReasmReqds=ipReasmReqds, egpNeighInErrs=egpNeighInErrs, tcpInErrs=tcpInErrs, egpNeighAddr=egpNeighAddr, ipInDelivers=ipInDelivers, udpLocalAddress=udpLocalAddress, icmpOutRedirects=icmpOutRedirects, icmpInRedirects=icmpInRedirects, ipReasmOKs=ipReasmOKs, egpAs=egpAs, egpOutMsgs=egpOutMsgs, ipRouteMetric3=ipRouteMetric3, icmpInMsgs=icmpInMsgs, icmpOutParmProbs=icmpOutParmProbs, ipRouteMetric2=ipRouteMetric2, atTable=atTable, egpNeighEventTrigger=egpNeighEventTrigger, ipNetToMediaType=ipNetToMediaType, icmpOutSrcQuenchs=icmpOutSrcQuenchs, icmpInTimeExcds=icmpInTimeExcds, icmpInEchos=icmpInEchos, egpNeighStateUps=egpNeighStateUps, atNetAddress=atNetAddress, egpNeighOutMsgs=egpNeighOutMsgs, ipRouteTable=ipRouteTable, tcpConnState=tcpConnState, tcpMaxConn=tcpMaxConn, ipForwarding=ipForwarding, atEntry=atEntry, ipRoutingDiscards=ipRoutingDiscards, ipRouteMetric4=ipRouteMetric4, egpNeighIntervalPoll=egpNeighIntervalPoll, ipFragFails=ipFragFails, egpNeighOutErrs=egpNeighOutErrs, at=at, ipInDiscards=ipInDiscards, egpNeighMode=egpNeighMode)
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(iso,
+ mib_2,
+ Counter32,
+ Integer32,
+ Unsigned32,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ NotificationType,
+ Gauge32,
+ ModuleIdentity,
+ Counter64,
+ ObjectIdentity,
+ MibIdentifier,
+ IpAddress,
+ mgmt,
+ TimeTicks,
+ Bits) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "iso",
+ "mib-2",
+ "Counter32",
+ "Integer32",
+ "Unsigned32",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "NotificationType",
+ "Gauge32",
+ "ModuleIdentity",
+ "Counter64",
+ "ObjectIdentity",
+ "MibIdentifier",
+ "IpAddress",
+ "mgmt",
+ "TimeTicks",
+ "Bits")
+
+(PhysAddress,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "PhysAddress",
+ "DisplayString")
+
+_At_ObjectIdentity = ObjectIdentity
+at = _At_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 3)
+)
+_AtTable_Object = MibTable
+atTable = _AtTable_Object(
+ (1, 3, 6, 1, 2, 1, 3, 1)
+)
+if mibBuilder.loadTexts:
+ atTable.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ atTable.setDescription("""\
+The Address Translation tables contain the NetworkAddress to `physical' address
+equivalences. Some interfaces do not use translation tables for determining
+address equivalences (e.g., DDN-X.25 has an algorithmic method); if all
+interfaces are of this type, then the Address Translation table is empty, i.e.,
+has zero entries.
+""")
+_AtEntry_Object = MibTableRow
+atEntry = _AtEntry_Object(
+ (1, 3, 6, 1, 2, 1, 3, 1, 1)
+)
+atEntry.setIndexNames(
+ (0, "RFC1213-MIB", "atIfIndex"),
+ (0, "RFC1213-MIB", "atNetAddress"),
+)
+if mibBuilder.loadTexts:
+ atEntry.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ atEntry.setDescription("""\
+Each entry contains one NetworkAddress to `physical' address equivalence.
+""")
+_AtIfIndex_Type = Integer32
+_AtIfIndex_Object = MibTableColumn
+atIfIndex = _AtIfIndex_Object(
+ (1, 3, 6, 1, 2, 1, 3, 1, 1, 1),
+ _AtIfIndex_Type()
+)
+atIfIndex.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ atIfIndex.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ atIfIndex.setDescription("""\
+The interface on which this entry's equivalence is effective. The interface
+identified by a particular value of this index is the same interface as
+identified by the same value of ifIndex.
+""")
+_AtPhysAddress_Type = PhysAddress
+_AtPhysAddress_Object = MibTableColumn
+atPhysAddress = _AtPhysAddress_Object(
+ (1, 3, 6, 1, 2, 1, 3, 1, 1, 2),
+ _AtPhysAddress_Type()
+)
+atPhysAddress.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ atPhysAddress.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ atPhysAddress.setDescription("""\
+The media-dependent `physical' address. Setting this object to a null string
+(one of zero length) has the effect of invaliding the corresponding entry in
+the atTable object. That is, it effectively dissasociates the interface
+identified with said entry from the mapping identified with said entry. It is
+an implementation-specific matter as to whether the agent removes an
+invalidated entry from the table. Accordingly, management stations must be
+prepared to receive tabular information from agents that corresponds to entries
+not currently in use. Proper interpretation of such entries requires
+examination of the relevant atPhysAddress object.
+""")
+_AtNetAddress_Type = NetworkAddress
+_AtNetAddress_Object = MibTableColumn
+atNetAddress = _AtNetAddress_Object(
+ (1, 3, 6, 1, 2, 1, 3, 1, 1, 3),
+ _AtNetAddress_Type()
+)
+atNetAddress.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ atNetAddress.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ atNetAddress.setDescription("""\
+The NetworkAddress (e.g., the IP address) corresponding to the media-dependent
+`physical' address.
+""")
+_Ip_ObjectIdentity = ObjectIdentity
+ip = _Ip_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 4)
+)
+
+
+class _IpForwarding_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("forwarding", 1),
+ ("not-forwarding", 2))
+ )
+
+
+_IpForwarding_Type.__name__ = "Integer32"
+_IpForwarding_Object = MibScalar
+ipForwarding = _IpForwarding_Object(
+ (1, 3, 6, 1, 2, 1, 4, 1),
+ _IpForwarding_Type()
+)
+ipForwarding.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipForwarding.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipForwarding.setDescription("""\
+The indication of whether this entity is acting as an IP gateway in respect to
+the forwarding of datagrams received by, but not addressed to, this entity. IP
+gateways forward datagrams. IP hosts do not (except those source-routed via the
+host). Note that for some managed nodes, this object may take on only a subset
+of the values possible. Accordingly, it is appropriate for an agent to return a
+`badValue' response if a management station attempts to change this object to
+an inappropriate value.
+""")
+_IpDefaultTTL_Type = Integer32
+_IpDefaultTTL_Object = MibScalar
+ipDefaultTTL = _IpDefaultTTL_Object(
+ (1, 3, 6, 1, 2, 1, 4, 2),
+ _IpDefaultTTL_Type()
+)
+ipDefaultTTL.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipDefaultTTL.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipDefaultTTL.setDescription("""\
+The default value inserted into the Time-To-Live field of the IP header of
+datagrams originated at this entity, whenever a TTL value is not supplied by
+the transport layer protocol.
+""")
+_IpInReceives_Type = Counter32
+_IpInReceives_Object = MibScalar
+ipInReceives = _IpInReceives_Object(
+ (1, 3, 6, 1, 2, 1, 4, 3),
+ _IpInReceives_Type()
+)
+ipInReceives.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInReceives.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInReceives.setDescription("""\
+The total number of input datagrams received from interfaces, including those
+received in error.
+""")
+_IpInHdrErrors_Type = Counter32
+_IpInHdrErrors_Object = MibScalar
+ipInHdrErrors = _IpInHdrErrors_Object(
+ (1, 3, 6, 1, 2, 1, 4, 4),
+ _IpInHdrErrors_Type()
+)
+ipInHdrErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInHdrErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInHdrErrors.setDescription("""\
+The number of input datagrams discarded due to errors in their IP headers,
+including bad checksums, version number mismatch, other format errors, time-to-
+live exceeded, errors discovered in processing their IP options, etc.
+""")
+_IpInAddrErrors_Type = Counter32
+_IpInAddrErrors_Object = MibScalar
+ipInAddrErrors = _IpInAddrErrors_Object(
+ (1, 3, 6, 1, 2, 1, 4, 5),
+ _IpInAddrErrors_Type()
+)
+ipInAddrErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInAddrErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInAddrErrors.setDescription("""\
+The number of input datagrams discarded because the IP address in their IP
+header's destination field was not a valid address to be received at this
+entity. This count includes invalid addresses (e.g., 0.0.0.0) and addresses of
+unsupported Classes (e.g., Class E). For entities which are not IP Gateways and
+therefore do not forward datagrams, this counter includes datagrams discarded
+because the destination address was not a local address.
+""")
+_IpForwDatagrams_Type = Counter32
+_IpForwDatagrams_Object = MibScalar
+ipForwDatagrams = _IpForwDatagrams_Object(
+ (1, 3, 6, 1, 2, 1, 4, 6),
+ _IpForwDatagrams_Type()
+)
+ipForwDatagrams.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipForwDatagrams.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipForwDatagrams.setDescription("""\
+The number of input datagrams for which this entity was not their final IP
+destination, as a result of which an attempt was made to find a route to
+forward them to that final destination. In entities which do not act as IP
+Gateways, this counter will include only those packets which were Source-Routed
+via this entity, and the Source- Route option processing was successful.
+""")
+_IpInUnknownProtos_Type = Counter32
+_IpInUnknownProtos_Object = MibScalar
+ipInUnknownProtos = _IpInUnknownProtos_Object(
+ (1, 3, 6, 1, 2, 1, 4, 7),
+ _IpInUnknownProtos_Type()
+)
+ipInUnknownProtos.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInUnknownProtos.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInUnknownProtos.setDescription("""\
+The number of locally-addressed datagrams received successfully but discarded
+because of an unknown or unsupported protocol.
+""")
+_IpInDiscards_Type = Counter32
+_IpInDiscards_Object = MibScalar
+ipInDiscards = _IpInDiscards_Object(
+ (1, 3, 6, 1, 2, 1, 4, 8),
+ _IpInDiscards_Type()
+)
+ipInDiscards.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInDiscards.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInDiscards.setDescription("""\
+The number of input IP datagrams for which no problems were encountered to
+prevent their continued processing, but which were discarded (e.g., for lack of
+buffer space). Note that this counter does not include any datagrams discarded
+while awaiting re-assembly.
+""")
+_IpInDelivers_Type = Counter32
+_IpInDelivers_Object = MibScalar
+ipInDelivers = _IpInDelivers_Object(
+ (1, 3, 6, 1, 2, 1, 4, 9),
+ _IpInDelivers_Type()
+)
+ipInDelivers.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipInDelivers.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipInDelivers.setDescription("""\
+The total number of input datagrams successfully delivered to IP user-protocols
+(including ICMP).
+""")
+_IpOutRequests_Type = Counter32
+_IpOutRequests_Object = MibScalar
+ipOutRequests = _IpOutRequests_Object(
+ (1, 3, 6, 1, 2, 1, 4, 10),
+ _IpOutRequests_Type()
+)
+ipOutRequests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipOutRequests.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipOutRequests.setDescription("""\
+The total number of IP datagrams which local IP user-protocols (including ICMP)
+supplied to IP in requests for transmission. Note that this counter does not
+include any datagrams counted in ipForwDatagrams.
+""")
+_IpOutDiscards_Type = Counter32
+_IpOutDiscards_Object = MibScalar
+ipOutDiscards = _IpOutDiscards_Object(
+ (1, 3, 6, 1, 2, 1, 4, 11),
+ _IpOutDiscards_Type()
+)
+ipOutDiscards.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipOutDiscards.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipOutDiscards.setDescription("""\
+The number of output IP datagrams for which no problem was encountered to
+prevent their transmission to their destination, but which were discarded
+(e.g., for lack of buffer space). Note that this counter would include
+datagrams counted in ipForwDatagrams if any such packets met this
+(discretionary) discard criterion.
+""")
+_IpOutNoRoutes_Type = Counter32
+_IpOutNoRoutes_Object = MibScalar
+ipOutNoRoutes = _IpOutNoRoutes_Object(
+ (1, 3, 6, 1, 2, 1, 4, 12),
+ _IpOutNoRoutes_Type()
+)
+ipOutNoRoutes.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipOutNoRoutes.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipOutNoRoutes.setDescription("""\
+The number of IP datagrams discarded because no route could be found to
+transmit them to their destination. Note that this counter includes any packets
+counted in ipForwDatagrams which meet this `no-route' criterion. Note that this
+includes any datagarms which a host cannot route because all of its default
+gateways are down.
+""")
+_IpReasmTimeout_Type = Integer32
+_IpReasmTimeout_Object = MibScalar
+ipReasmTimeout = _IpReasmTimeout_Object(
+ (1, 3, 6, 1, 2, 1, 4, 13),
+ _IpReasmTimeout_Type()
+)
+ipReasmTimeout.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipReasmTimeout.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipReasmTimeout.setDescription("""\
+The maximum number of seconds which received fragments are held while they are
+awaiting reassembly at this entity.
+""")
+_IpReasmReqds_Type = Counter32
+_IpReasmReqds_Object = MibScalar
+ipReasmReqds = _IpReasmReqds_Object(
+ (1, 3, 6, 1, 2, 1, 4, 14),
+ _IpReasmReqds_Type()
+)
+ipReasmReqds.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipReasmReqds.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipReasmReqds.setDescription("""\
+The number of IP fragments received which needed to be reassembled at this
+entity.
+""")
+_IpReasmOKs_Type = Counter32
+_IpReasmOKs_Object = MibScalar
+ipReasmOKs = _IpReasmOKs_Object(
+ (1, 3, 6, 1, 2, 1, 4, 15),
+ _IpReasmOKs_Type()
+)
+ipReasmOKs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipReasmOKs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipReasmOKs.setDescription("""\
+The number of IP datagrams successfully re- assembled.
+""")
+_IpReasmFails_Type = Counter32
+_IpReasmFails_Object = MibScalar
+ipReasmFails = _IpReasmFails_Object(
+ (1, 3, 6, 1, 2, 1, 4, 16),
+ _IpReasmFails_Type()
+)
+ipReasmFails.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipReasmFails.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipReasmFails.setDescription("""\
+The number of failures detected by the IP re- assembly algorithm (for whatever
+reason: timed out, errors, etc). Note that this is not necessarily a count of
+discarded IP fragments since some algorithms (notably the algorithm in RFC 815)
+can lose track of the number of fragments by combining them as they are
+received.
+""")
+_IpFragOKs_Type = Counter32
+_IpFragOKs_Object = MibScalar
+ipFragOKs = _IpFragOKs_Object(
+ (1, 3, 6, 1, 2, 1, 4, 17),
+ _IpFragOKs_Type()
+)
+ipFragOKs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipFragOKs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipFragOKs.setDescription("""\
+The number of IP datagrams that have been successfully fragmented at this
+entity.
+""")
+_IpFragFails_Type = Counter32
+_IpFragFails_Object = MibScalar
+ipFragFails = _IpFragFails_Object(
+ (1, 3, 6, 1, 2, 1, 4, 18),
+ _IpFragFails_Type()
+)
+ipFragFails.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipFragFails.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipFragFails.setDescription("""\
+The number of IP datagrams that have been discarded because they needed to be
+fragmented at this entity but could not be, e.g., because their Don't Fragment
+flag was set.
+""")
+_IpFragCreates_Type = Counter32
+_IpFragCreates_Object = MibScalar
+ipFragCreates = _IpFragCreates_Object(
+ (1, 3, 6, 1, 2, 1, 4, 19),
+ _IpFragCreates_Type()
+)
+ipFragCreates.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipFragCreates.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipFragCreates.setDescription("""\
+The number of IP datagram fragments that have been generated as a result of
+fragmentation at this entity.
+""")
+_IpAddrTable_Object = MibTable
+ipAddrTable = _IpAddrTable_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20)
+)
+if mibBuilder.loadTexts:
+ ipAddrTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAddrTable.setDescription("""\
+The table of addressing information relevant to this entity's IP addresses.
+""")
+_IpAddrEntry_Object = MibTableRow
+ipAddrEntry = _IpAddrEntry_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1)
+)
+ipAddrEntry.setIndexNames(
+ (0, "RFC1213-MIB", "ipAdEntAddr"),
+)
+if mibBuilder.loadTexts:
+ ipAddrEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAddrEntry.setDescription("""\
+The addressing information for one of this entity's IP addresses.
+""")
+_IpAdEntAddr_Type = IpAddress
+_IpAdEntAddr_Object = MibTableColumn
+ipAdEntAddr = _IpAdEntAddr_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1, 1),
+ _IpAdEntAddr_Type()
+)
+ipAdEntAddr.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipAdEntAddr.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAdEntAddr.setDescription("""\
+The IP address to which this entry's addressing information pertains.
+""")
+_IpAdEntIfIndex_Type = Integer32
+_IpAdEntIfIndex_Object = MibTableColumn
+ipAdEntIfIndex = _IpAdEntIfIndex_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1, 2),
+ _IpAdEntIfIndex_Type()
+)
+ipAdEntIfIndex.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipAdEntIfIndex.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAdEntIfIndex.setDescription("""\
+The index value which uniquely identifies the interface to which this entry is
+applicable. The interface identified by a particular value of this index is the
+same interface as identified by the same value of ifIndex.
+""")
+_IpAdEntNetMask_Type = IpAddress
+_IpAdEntNetMask_Object = MibTableColumn
+ipAdEntNetMask = _IpAdEntNetMask_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1, 3),
+ _IpAdEntNetMask_Type()
+)
+ipAdEntNetMask.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipAdEntNetMask.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAdEntNetMask.setDescription("""\
+The subnet mask associated with the IP address of this entry. The value of the
+mask is an IP address with all the network bits set to 1 and all the hosts bits
+set to 0.
+""")
+_IpAdEntBcastAddr_Type = Integer32
+_IpAdEntBcastAddr_Object = MibTableColumn
+ipAdEntBcastAddr = _IpAdEntBcastAddr_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1, 4),
+ _IpAdEntBcastAddr_Type()
+)
+ipAdEntBcastAddr.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipAdEntBcastAddr.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAdEntBcastAddr.setDescription("""\
+The value of the least-significant bit in the IP broadcast address used for
+sending datagrams on the (logical) interface associated with the IP address of
+this entry. For example, when the Internet standard all-ones broadcast address
+is used, the value will be 1. This value applies to both the subnet and network
+broadcasts addresses used by the entity on this (logical) interface.
+""")
+
+
+class _IpAdEntReasmMaxSize_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 65535),
+ )
+
+
+_IpAdEntReasmMaxSize_Type.__name__ = "Integer32"
+_IpAdEntReasmMaxSize_Object = MibTableColumn
+ipAdEntReasmMaxSize = _IpAdEntReasmMaxSize_Object(
+ (1, 3, 6, 1, 2, 1, 4, 20, 1, 5),
+ _IpAdEntReasmMaxSize_Type()
+)
+ipAdEntReasmMaxSize.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipAdEntReasmMaxSize.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipAdEntReasmMaxSize.setDescription("""\
+The size of the largest IP datagram which this entity can re-assemble from
+incoming IP fragmented datagrams received on this interface.
+""")
+_IpRouteTable_Object = MibTable
+ipRouteTable = _IpRouteTable_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21)
+)
+if mibBuilder.loadTexts:
+ ipRouteTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteTable.setDescription("""\
+This entity's IP Routing table.
+""")
+_IpRouteEntry_Object = MibTableRow
+ipRouteEntry = _IpRouteEntry_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1)
+)
+ipRouteEntry.setIndexNames(
+ (0, "RFC1213-MIB", "ipRouteDest"),
+)
+if mibBuilder.loadTexts:
+ ipRouteEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteEntry.setDescription("""\
+A route to a particular destination.
+""")
+_IpRouteDest_Type = IpAddress
+_IpRouteDest_Object = MibTableColumn
+ipRouteDest = _IpRouteDest_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 1),
+ _IpRouteDest_Type()
+)
+ipRouteDest.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteDest.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteDest.setDescription("""\
+The destination IP address of this route. An entry with a value of 0.0.0.0 is
+considered a default route. Multiple routes to a single destination can appear
+in the table, but access to such multiple entries is dependent on the table-
+access mechanisms defined by the network management protocol in use.
+""")
+_IpRouteIfIndex_Type = Integer32
+_IpRouteIfIndex_Object = MibTableColumn
+ipRouteIfIndex = _IpRouteIfIndex_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 2),
+ _IpRouteIfIndex_Type()
+)
+ipRouteIfIndex.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteIfIndex.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteIfIndex.setDescription("""\
+The index value which uniquely identifies the local interface through which the
+next hop of this route should be reached. The interface identified by a
+particular value of this index is the same interface as identified by the same
+value of ifIndex.
+""")
+_IpRouteMetric1_Type = Integer32
+_IpRouteMetric1_Object = MibTableColumn
+ipRouteMetric1 = _IpRouteMetric1_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 3),
+ _IpRouteMetric1_Type()
+)
+ipRouteMetric1.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMetric1.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMetric1.setDescription("""\
+The primary routing metric for this route. The semantics of this metric are
+determined by the routing-protocol specified in the route's ipRouteProto value.
+If this metric is not used, its value should be set to -1.
+""")
+_IpRouteMetric2_Type = Integer32
+_IpRouteMetric2_Object = MibTableColumn
+ipRouteMetric2 = _IpRouteMetric2_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 4),
+ _IpRouteMetric2_Type()
+)
+ipRouteMetric2.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMetric2.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMetric2.setDescription("""\
+An alternate routing metric for this route. The semantics of this metric are
+determined by the routing-protocol specified in the route's ipRouteProto value.
+If this metric is not used, its value should be set to -1.
+""")
+_IpRouteMetric3_Type = Integer32
+_IpRouteMetric3_Object = MibTableColumn
+ipRouteMetric3 = _IpRouteMetric3_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 5),
+ _IpRouteMetric3_Type()
+)
+ipRouteMetric3.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMetric3.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMetric3.setDescription("""\
+An alternate routing metric for this route. The semantics of this metric are
+determined by the routing-protocol specified in the route's ipRouteProto value.
+If this metric is not used, its value should be set to -1.
+""")
+_IpRouteMetric4_Type = Integer32
+_IpRouteMetric4_Object = MibTableColumn
+ipRouteMetric4 = _IpRouteMetric4_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 6),
+ _IpRouteMetric4_Type()
+)
+ipRouteMetric4.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMetric4.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMetric4.setDescription("""\
+An alternate routing metric for this route. The semantics of this metric are
+determined by the routing-protocol specified in the route's ipRouteProto value.
+If this metric is not used, its value should be set to -1.
+""")
+_IpRouteNextHop_Type = IpAddress
+_IpRouteNextHop_Object = MibTableColumn
+ipRouteNextHop = _IpRouteNextHop_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 7),
+ _IpRouteNextHop_Type()
+)
+ipRouteNextHop.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteNextHop.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteNextHop.setDescription("""\
+The IP address of the next hop of this route. (In the case of a route bound to
+an interface which is realized via a broadcast media, the value of this field
+is the agent's IP address on that interface.)
+""")
+
+
+class _IpRouteType_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4)
+ )
+ )
+ namedValues = NamedValues(
+ *(("direct", 3),
+ ("indirect", 4),
+ ("invalid", 2),
+ ("other", 1))
+ )
+
+
+_IpRouteType_Type.__name__ = "Integer32"
+_IpRouteType_Object = MibTableColumn
+ipRouteType = _IpRouteType_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 8),
+ _IpRouteType_Type()
+)
+ipRouteType.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteType.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteType.setDescription("""\
+The type of route. Note that the values direct(3) and indirect(4) refer to the
+notion of direct and indirect routing in the IP architecture. Setting this
+object to the value invalid(2) has the effect of invalidating the corresponding
+entry in the ipRouteTable object. That is, it effectively dissasociates the
+destination identified with said entry from the route identified with said
+entry. It is an implementation-specific matter as to whether the agent removes
+an invalidated entry from the table. Accordingly, management stations must be
+prepared to receive tabular information from agents that corresponds to entries
+not currently in use. Proper interpretation of such entries requires
+examination of the relevant ipRouteType object.
+""")
+
+
+class _IpRouteProto_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14)
+ )
+ )
+ namedValues = NamedValues(
+ *(("bbnSpfIgp", 12),
+ ("bgp", 14),
+ ("ciscoIgrp", 11),
+ ("egp", 5),
+ ("es-is", 10),
+ ("ggp", 6),
+ ("hello", 7),
+ ("icmp", 4),
+ ("is-is", 9),
+ ("local", 2),
+ ("netmgmt", 3),
+ ("ospf", 13),
+ ("other", 1),
+ ("rip", 8))
+ )
+
+
+_IpRouteProto_Type.__name__ = "Integer32"
+_IpRouteProto_Object = MibTableColumn
+ipRouteProto = _IpRouteProto_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 9),
+ _IpRouteProto_Type()
+)
+ipRouteProto.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipRouteProto.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteProto.setDescription("""\
+The routing mechanism via which this route was learned. Inclusion of values for
+gateway routing protocols is not intended to imply that hosts should support
+those protocols.
+""")
+_IpRouteAge_Type = Integer32
+_IpRouteAge_Object = MibTableColumn
+ipRouteAge = _IpRouteAge_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 10),
+ _IpRouteAge_Type()
+)
+ipRouteAge.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteAge.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteAge.setDescription("""\
+The number of seconds since this route was last updated or otherwise determined
+to be correct. Note that no semantics of `too old' can be implied except
+through knowledge of the routing protocol by which the route was learned.
+""")
+_IpRouteMask_Type = IpAddress
+_IpRouteMask_Object = MibTableColumn
+ipRouteMask = _IpRouteMask_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 11),
+ _IpRouteMask_Type()
+)
+ipRouteMask.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMask.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMask.setDescription("""\
+Indicate the mask to be logical-ANDed with the destination address before being
+compared to the value in the ipRouteDest field. For those systems that do not
+support arbitrary subnet masks, an agent constructs the value of the
+ipRouteMask by determining whether the value of the correspondent ipRouteDest
+field belong to a class-A, B, or C network, and then using one of: mask network
+255.0.0.0 class-A 255.255.0.0 class-B 255.255.255.0 class-C If the value of the
+ipRouteDest is 0.0.0.0 (a default route), then the mask value is also 0.0.0.0.
+It should be noted that all IP routing subsystems implicitly use this
+mechanism.
+""")
+_IpRouteMetric5_Type = Integer32
+_IpRouteMetric5_Object = MibTableColumn
+ipRouteMetric5 = _IpRouteMetric5_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 12),
+ _IpRouteMetric5_Type()
+)
+ipRouteMetric5.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipRouteMetric5.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteMetric5.setDescription("""\
+An alternate routing metric for this route. The semantics of this metric are
+determined by the routing-protocol specified in the route's ipRouteProto value.
+If this metric is not used, its value should be set to -1.
+""")
+_IpRouteInfo_Type = ObjectIdentifier
+_IpRouteInfo_Object = MibTableColumn
+ipRouteInfo = _IpRouteInfo_Object(
+ (1, 3, 6, 1, 2, 1, 4, 21, 1, 13),
+ _IpRouteInfo_Type()
+)
+ipRouteInfo.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipRouteInfo.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRouteInfo.setDescription("""\
+A reference to MIB definitions specific to the particular routing protocol
+which is responsible for this route, as determined by the value specified in
+the route's ipRouteProto value. If this information is not present, its value
+should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntatically valid
+object identifier, and any conformant implementation of ASN.1 and BER must be
+able to generate and recognize this value.
+""")
+_IpNetToMediaTable_Object = MibTable
+ipNetToMediaTable = _IpNetToMediaTable_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22)
+)
+if mibBuilder.loadTexts:
+ ipNetToMediaTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaTable.setDescription("""\
+The IP Address Translation table used for mapping from IP addresses to physical
+addresses.
+""")
+_IpNetToMediaEntry_Object = MibTableRow
+ipNetToMediaEntry = _IpNetToMediaEntry_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22, 1)
+)
+ipNetToMediaEntry.setIndexNames(
+ (0, "RFC1213-MIB", "ipNetToMediaIfIndex"),
+ (0, "RFC1213-MIB", "ipNetToMediaNetAddress"),
+)
+if mibBuilder.loadTexts:
+ ipNetToMediaEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaEntry.setDescription("""\
+Each entry contains one IpAddress to `physical' address equivalence.
+""")
+_IpNetToMediaIfIndex_Type = Integer32
+_IpNetToMediaIfIndex_Object = MibTableColumn
+ipNetToMediaIfIndex = _IpNetToMediaIfIndex_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22, 1, 1),
+ _IpNetToMediaIfIndex_Type()
+)
+ipNetToMediaIfIndex.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipNetToMediaIfIndex.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaIfIndex.setDescription("""\
+The interface on which this entry's equivalence is effective. The interface
+identified by a particular value of this index is the same interface as
+identified by the same value of ifIndex.
+""")
+_IpNetToMediaPhysAddress_Type = PhysAddress
+_IpNetToMediaPhysAddress_Object = MibTableColumn
+ipNetToMediaPhysAddress = _IpNetToMediaPhysAddress_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22, 1, 2),
+ _IpNetToMediaPhysAddress_Type()
+)
+ipNetToMediaPhysAddress.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipNetToMediaPhysAddress.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaPhysAddress.setDescription("""\
+The media-dependent `physical' address.
+""")
+_IpNetToMediaNetAddress_Type = IpAddress
+_IpNetToMediaNetAddress_Object = MibTableColumn
+ipNetToMediaNetAddress = _IpNetToMediaNetAddress_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22, 1, 3),
+ _IpNetToMediaNetAddress_Type()
+)
+ipNetToMediaNetAddress.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipNetToMediaNetAddress.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaNetAddress.setDescription("""\
+The IpAddress corresponding to the media- dependent `physical' address.
+""")
+
+
+class _IpNetToMediaType_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4)
+ )
+ )
+ namedValues = NamedValues(
+ *(("dynamic", 3),
+ ("invalid", 2),
+ ("other", 1),
+ ("static", 4))
+ )
+
+
+_IpNetToMediaType_Type.__name__ = "Integer32"
+_IpNetToMediaType_Object = MibTableColumn
+ipNetToMediaType = _IpNetToMediaType_Object(
+ (1, 3, 6, 1, 2, 1, 4, 22, 1, 4),
+ _IpNetToMediaType_Type()
+)
+ipNetToMediaType.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ ipNetToMediaType.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipNetToMediaType.setDescription("""\
+The type of mapping. Setting this object to the value invalid(2) has the effect
+of invalidating the corresponding entry in the ipNetToMediaTable. That is, it
+effectively dissasociates the interface identified with said entry from the
+mapping identified with said entry. It is an implementation-specific matter as
+to whether the agent removes an invalidated entry from the table. Accordingly,
+management stations must be prepared to receive tabular information from agents
+that corresponds to entries not currently in use. Proper interpretation of such
+entries requires examination of the relevant ipNetToMediaType object.
+""")
+_IpRoutingDiscards_Type = Counter32
+_IpRoutingDiscards_Object = MibScalar
+ipRoutingDiscards = _IpRoutingDiscards_Object(
+ (1, 3, 6, 1, 2, 1, 4, 23),
+ _IpRoutingDiscards_Type()
+)
+ipRoutingDiscards.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ ipRoutingDiscards.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ ipRoutingDiscards.setDescription("""\
+The number of routing entries which were chosen to be discarded even though
+they are valid. One possible reason for discarding such an entry could be to
+free-up buffer space for other routing entries.
+""")
+_Icmp_ObjectIdentity = ObjectIdentity
+icmp = _Icmp_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 5)
+)
+_IcmpInMsgs_Type = Counter32
+_IcmpInMsgs_Object = MibScalar
+icmpInMsgs = _IcmpInMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 1),
+ _IcmpInMsgs_Type()
+)
+icmpInMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInMsgs.setDescription("""\
+The total number of ICMP messages which the entity received. Note that this
+counter includes all those counted by icmpInErrors.
+""")
+_IcmpInErrors_Type = Counter32
+_IcmpInErrors_Object = MibScalar
+icmpInErrors = _IcmpInErrors_Object(
+ (1, 3, 6, 1, 2, 1, 5, 2),
+ _IcmpInErrors_Type()
+)
+icmpInErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInErrors.setDescription("""\
+The number of ICMP messages which the entity received but determined as having
+ICMP-specific errors (bad ICMP checksums, bad length, etc.).
+""")
+_IcmpInDestUnreachs_Type = Counter32
+_IcmpInDestUnreachs_Object = MibScalar
+icmpInDestUnreachs = _IcmpInDestUnreachs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 3),
+ _IcmpInDestUnreachs_Type()
+)
+icmpInDestUnreachs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInDestUnreachs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInDestUnreachs.setDescription("""\
+The number of ICMP Destination Unreachable messages received.
+""")
+_IcmpInTimeExcds_Type = Counter32
+_IcmpInTimeExcds_Object = MibScalar
+icmpInTimeExcds = _IcmpInTimeExcds_Object(
+ (1, 3, 6, 1, 2, 1, 5, 4),
+ _IcmpInTimeExcds_Type()
+)
+icmpInTimeExcds.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInTimeExcds.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInTimeExcds.setDescription("""\
+The number of ICMP Time Exceeded messages received.
+""")
+_IcmpInParmProbs_Type = Counter32
+_IcmpInParmProbs_Object = MibScalar
+icmpInParmProbs = _IcmpInParmProbs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 5),
+ _IcmpInParmProbs_Type()
+)
+icmpInParmProbs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInParmProbs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInParmProbs.setDescription("""\
+The number of ICMP Parameter Problem messages received.
+""")
+_IcmpInSrcQuenchs_Type = Counter32
+_IcmpInSrcQuenchs_Object = MibScalar
+icmpInSrcQuenchs = _IcmpInSrcQuenchs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 6),
+ _IcmpInSrcQuenchs_Type()
+)
+icmpInSrcQuenchs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInSrcQuenchs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInSrcQuenchs.setDescription("""\
+The number of ICMP Source Quench messages received.
+""")
+_IcmpInRedirects_Type = Counter32
+_IcmpInRedirects_Object = MibScalar
+icmpInRedirects = _IcmpInRedirects_Object(
+ (1, 3, 6, 1, 2, 1, 5, 7),
+ _IcmpInRedirects_Type()
+)
+icmpInRedirects.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInRedirects.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInRedirects.setDescription("""\
+The number of ICMP Redirect messages received.
+""")
+_IcmpInEchos_Type = Counter32
+_IcmpInEchos_Object = MibScalar
+icmpInEchos = _IcmpInEchos_Object(
+ (1, 3, 6, 1, 2, 1, 5, 8),
+ _IcmpInEchos_Type()
+)
+icmpInEchos.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInEchos.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInEchos.setDescription("""\
+The number of ICMP Echo (request) messages received.
+""")
+_IcmpInEchoReps_Type = Counter32
+_IcmpInEchoReps_Object = MibScalar
+icmpInEchoReps = _IcmpInEchoReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 9),
+ _IcmpInEchoReps_Type()
+)
+icmpInEchoReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInEchoReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInEchoReps.setDescription("""\
+The number of ICMP Echo Reply messages received.
+""")
+_IcmpInTimestamps_Type = Counter32
+_IcmpInTimestamps_Object = MibScalar
+icmpInTimestamps = _IcmpInTimestamps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 10),
+ _IcmpInTimestamps_Type()
+)
+icmpInTimestamps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInTimestamps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInTimestamps.setDescription("""\
+The number of ICMP Timestamp (request) messages received.
+""")
+_IcmpInTimestampReps_Type = Counter32
+_IcmpInTimestampReps_Object = MibScalar
+icmpInTimestampReps = _IcmpInTimestampReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 11),
+ _IcmpInTimestampReps_Type()
+)
+icmpInTimestampReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInTimestampReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInTimestampReps.setDescription("""\
+The number of ICMP Timestamp Reply messages received.
+""")
+_IcmpInAddrMasks_Type = Counter32
+_IcmpInAddrMasks_Object = MibScalar
+icmpInAddrMasks = _IcmpInAddrMasks_Object(
+ (1, 3, 6, 1, 2, 1, 5, 12),
+ _IcmpInAddrMasks_Type()
+)
+icmpInAddrMasks.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInAddrMasks.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInAddrMasks.setDescription("""\
+The number of ICMP Address Mask Request messages received.
+""")
+_IcmpInAddrMaskReps_Type = Counter32
+_IcmpInAddrMaskReps_Object = MibScalar
+icmpInAddrMaskReps = _IcmpInAddrMaskReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 13),
+ _IcmpInAddrMaskReps_Type()
+)
+icmpInAddrMaskReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpInAddrMaskReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpInAddrMaskReps.setDescription("""\
+The number of ICMP Address Mask Reply messages received.
+""")
+_IcmpOutMsgs_Type = Counter32
+_IcmpOutMsgs_Object = MibScalar
+icmpOutMsgs = _IcmpOutMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 14),
+ _IcmpOutMsgs_Type()
+)
+icmpOutMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutMsgs.setDescription("""\
+The total number of ICMP messages which this entity attempted to send. Note
+that this counter includes all those counted by icmpOutErrors.
+""")
+_IcmpOutErrors_Type = Counter32
+_IcmpOutErrors_Object = MibScalar
+icmpOutErrors = _IcmpOutErrors_Object(
+ (1, 3, 6, 1, 2, 1, 5, 15),
+ _IcmpOutErrors_Type()
+)
+icmpOutErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutErrors.setDescription("""\
+The number of ICMP messages which this entity did not send due to problems
+discovered within ICMP such as a lack of buffers. This value should not include
+errors discovered outside the ICMP layer such as the inability of IP to route
+the resultant datagram. In some implementations there may be no types of error
+which contribute to this counter's value.
+""")
+_IcmpOutDestUnreachs_Type = Counter32
+_IcmpOutDestUnreachs_Object = MibScalar
+icmpOutDestUnreachs = _IcmpOutDestUnreachs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 16),
+ _IcmpOutDestUnreachs_Type()
+)
+icmpOutDestUnreachs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutDestUnreachs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutDestUnreachs.setDescription("""\
+The number of ICMP Destination Unreachable messages sent.
+""")
+_IcmpOutTimeExcds_Type = Counter32
+_IcmpOutTimeExcds_Object = MibScalar
+icmpOutTimeExcds = _IcmpOutTimeExcds_Object(
+ (1, 3, 6, 1, 2, 1, 5, 17),
+ _IcmpOutTimeExcds_Type()
+)
+icmpOutTimeExcds.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutTimeExcds.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutTimeExcds.setDescription("""\
+The number of ICMP Time Exceeded messages sent.
+""")
+_IcmpOutParmProbs_Type = Counter32
+_IcmpOutParmProbs_Object = MibScalar
+icmpOutParmProbs = _IcmpOutParmProbs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 18),
+ _IcmpOutParmProbs_Type()
+)
+icmpOutParmProbs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutParmProbs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutParmProbs.setDescription("""\
+The number of ICMP Parameter Problem messages sent.
+""")
+_IcmpOutSrcQuenchs_Type = Counter32
+_IcmpOutSrcQuenchs_Object = MibScalar
+icmpOutSrcQuenchs = _IcmpOutSrcQuenchs_Object(
+ (1, 3, 6, 1, 2, 1, 5, 19),
+ _IcmpOutSrcQuenchs_Type()
+)
+icmpOutSrcQuenchs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutSrcQuenchs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutSrcQuenchs.setDescription("""\
+The number of ICMP Source Quench messages sent.
+""")
+_IcmpOutRedirects_Type = Counter32
+_IcmpOutRedirects_Object = MibScalar
+icmpOutRedirects = _IcmpOutRedirects_Object(
+ (1, 3, 6, 1, 2, 1, 5, 20),
+ _IcmpOutRedirects_Type()
+)
+icmpOutRedirects.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutRedirects.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutRedirects.setDescription("""\
+The number of ICMP Redirect messages sent. For a host, this object will always
+be zero, since hosts do not send redirects.
+""")
+_IcmpOutEchos_Type = Counter32
+_IcmpOutEchos_Object = MibScalar
+icmpOutEchos = _IcmpOutEchos_Object(
+ (1, 3, 6, 1, 2, 1, 5, 21),
+ _IcmpOutEchos_Type()
+)
+icmpOutEchos.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutEchos.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutEchos.setDescription("""\
+The number of ICMP Echo (request) messages sent.
+""")
+_IcmpOutEchoReps_Type = Counter32
+_IcmpOutEchoReps_Object = MibScalar
+icmpOutEchoReps = _IcmpOutEchoReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 22),
+ _IcmpOutEchoReps_Type()
+)
+icmpOutEchoReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutEchoReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutEchoReps.setDescription("""\
+The number of ICMP Echo Reply messages sent.
+""")
+_IcmpOutTimestamps_Type = Counter32
+_IcmpOutTimestamps_Object = MibScalar
+icmpOutTimestamps = _IcmpOutTimestamps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 23),
+ _IcmpOutTimestamps_Type()
+)
+icmpOutTimestamps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutTimestamps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutTimestamps.setDescription("""\
+The number of ICMP Timestamp (request) messages sent.
+""")
+_IcmpOutTimestampReps_Type = Counter32
+_IcmpOutTimestampReps_Object = MibScalar
+icmpOutTimestampReps = _IcmpOutTimestampReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 24),
+ _IcmpOutTimestampReps_Type()
+)
+icmpOutTimestampReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutTimestampReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutTimestampReps.setDescription("""\
+The number of ICMP Timestamp Reply messages sent.
+""")
+_IcmpOutAddrMasks_Type = Counter32
+_IcmpOutAddrMasks_Object = MibScalar
+icmpOutAddrMasks = _IcmpOutAddrMasks_Object(
+ (1, 3, 6, 1, 2, 1, 5, 25),
+ _IcmpOutAddrMasks_Type()
+)
+icmpOutAddrMasks.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutAddrMasks.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutAddrMasks.setDescription("""\
+The number of ICMP Address Mask Request messages sent.
+""")
+_IcmpOutAddrMaskReps_Type = Counter32
+_IcmpOutAddrMaskReps_Object = MibScalar
+icmpOutAddrMaskReps = _IcmpOutAddrMaskReps_Object(
+ (1, 3, 6, 1, 2, 1, 5, 26),
+ _IcmpOutAddrMaskReps_Type()
+)
+icmpOutAddrMaskReps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ icmpOutAddrMaskReps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ icmpOutAddrMaskReps.setDescription("""\
+The number of ICMP Address Mask Reply messages sent.
+""")
+_Tcp_ObjectIdentity = ObjectIdentity
+tcp = _Tcp_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 6)
+)
+
+
+class _TcpRtoAlgorithm_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4)
+ )
+ )
+ namedValues = NamedValues(
+ *(("constant", 2),
+ ("other", 1),
+ ("rsre", 3),
+ ("vanj", 4))
+ )
+
+
+_TcpRtoAlgorithm_Type.__name__ = "Integer32"
+_TcpRtoAlgorithm_Object = MibScalar
+tcpRtoAlgorithm = _TcpRtoAlgorithm_Object(
+ (1, 3, 6, 1, 2, 1, 6, 1),
+ _TcpRtoAlgorithm_Type()
+)
+tcpRtoAlgorithm.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpRtoAlgorithm.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpRtoAlgorithm.setDescription("""\
+The algorithm used to determine the timeout value used for retransmitting
+unacknowledged octets.
+""")
+_TcpRtoMin_Type = Integer32
+_TcpRtoMin_Object = MibScalar
+tcpRtoMin = _TcpRtoMin_Object(
+ (1, 3, 6, 1, 2, 1, 6, 2),
+ _TcpRtoMin_Type()
+)
+tcpRtoMin.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpRtoMin.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpRtoMin.setDescription("""\
+The minimum value permitted by a TCP implementation for the retransmission
+timeout, measured in milliseconds. More refined semantics for objects of this
+type depend upon the algorithm used to determine the retransmission timeout. In
+particular, when the timeout algorithm is rsre(3), an object of this type has
+the semantics of the LBOUND quantity described in RFC 793.
+""")
+_TcpRtoMax_Type = Integer32
+_TcpRtoMax_Object = MibScalar
+tcpRtoMax = _TcpRtoMax_Object(
+ (1, 3, 6, 1, 2, 1, 6, 3),
+ _TcpRtoMax_Type()
+)
+tcpRtoMax.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpRtoMax.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpRtoMax.setDescription("""\
+The maximum value permitted by a TCP implementation for the retransmission
+timeout, measured in milliseconds. More refined semantics for objects of this
+type depend upon the algorithm used to determine the retransmission timeout. In
+particular, when the timeout algorithm is rsre(3), an object of this type has
+the semantics of the UBOUND quantity described in RFC 793.
+""")
+_TcpMaxConn_Type = Integer32
+_TcpMaxConn_Object = MibScalar
+tcpMaxConn = _TcpMaxConn_Object(
+ (1, 3, 6, 1, 2, 1, 6, 4),
+ _TcpMaxConn_Type()
+)
+tcpMaxConn.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpMaxConn.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpMaxConn.setDescription("""\
+The limit on the total number of TCP connections the entity can support. In
+entities where the maximum number of connections is dynamic, this object should
+contain the value -1.
+""")
+_TcpActiveOpens_Type = Counter32
+_TcpActiveOpens_Object = MibScalar
+tcpActiveOpens = _TcpActiveOpens_Object(
+ (1, 3, 6, 1, 2, 1, 6, 5),
+ _TcpActiveOpens_Type()
+)
+tcpActiveOpens.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpActiveOpens.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpActiveOpens.setDescription("""\
+The number of times TCP connections have made a direct transition to the SYN-
+SENT state from the CLOSED state.
+""")
+_TcpPassiveOpens_Type = Counter32
+_TcpPassiveOpens_Object = MibScalar
+tcpPassiveOpens = _TcpPassiveOpens_Object(
+ (1, 3, 6, 1, 2, 1, 6, 6),
+ _TcpPassiveOpens_Type()
+)
+tcpPassiveOpens.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpPassiveOpens.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpPassiveOpens.setDescription("""\
+The number of times TCP connections have made a direct transition to the SYN-
+RCVD state from the LISTEN state.
+""")
+_TcpAttemptFails_Type = Counter32
+_TcpAttemptFails_Object = MibScalar
+tcpAttemptFails = _TcpAttemptFails_Object(
+ (1, 3, 6, 1, 2, 1, 6, 7),
+ _TcpAttemptFails_Type()
+)
+tcpAttemptFails.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpAttemptFails.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpAttemptFails.setDescription("""\
+The number of times TCP connections have made a direct transition to the CLOSED
+state from either the SYN-SENT state or the SYN-RCVD state, plus the number of
+times TCP connections have made a direct transition to the LISTEN state from
+the SYN-RCVD state.
+""")
+_TcpEstabResets_Type = Counter32
+_TcpEstabResets_Object = MibScalar
+tcpEstabResets = _TcpEstabResets_Object(
+ (1, 3, 6, 1, 2, 1, 6, 8),
+ _TcpEstabResets_Type()
+)
+tcpEstabResets.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpEstabResets.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpEstabResets.setDescription("""\
+The number of times TCP connections have made a direct transition to the CLOSED
+state from either the ESTABLISHED state or the CLOSE-WAIT state.
+""")
+_TcpCurrEstab_Type = Gauge32
+_TcpCurrEstab_Object = MibScalar
+tcpCurrEstab = _TcpCurrEstab_Object(
+ (1, 3, 6, 1, 2, 1, 6, 9),
+ _TcpCurrEstab_Type()
+)
+tcpCurrEstab.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpCurrEstab.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpCurrEstab.setDescription("""\
+The number of TCP connections for which the current state is either ESTABLISHED
+or CLOSE- WAIT.
+""")
+_TcpInSegs_Type = Counter32
+_TcpInSegs_Object = MibScalar
+tcpInSegs = _TcpInSegs_Object(
+ (1, 3, 6, 1, 2, 1, 6, 10),
+ _TcpInSegs_Type()
+)
+tcpInSegs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpInSegs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpInSegs.setDescription("""\
+The total number of segments received, including those received in error. This
+count includes segments received on currently established connections.
+""")
+_TcpOutSegs_Type = Counter32
+_TcpOutSegs_Object = MibScalar
+tcpOutSegs = _TcpOutSegs_Object(
+ (1, 3, 6, 1, 2, 1, 6, 11),
+ _TcpOutSegs_Type()
+)
+tcpOutSegs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpOutSegs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpOutSegs.setDescription("""\
+The total number of segments sent, including those on current connections but
+excluding those containing only retransmitted octets.
+""")
+_TcpRetransSegs_Type = Counter32
+_TcpRetransSegs_Object = MibScalar
+tcpRetransSegs = _TcpRetransSegs_Object(
+ (1, 3, 6, 1, 2, 1, 6, 12),
+ _TcpRetransSegs_Type()
+)
+tcpRetransSegs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpRetransSegs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpRetransSegs.setDescription("""\
+The total number of segments retransmitted - that is, the number of TCP
+segments transmitted containing one or more previously transmitted octets.
+""")
+_TcpConnTable_Object = MibTable
+tcpConnTable = _TcpConnTable_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13)
+)
+if mibBuilder.loadTexts:
+ tcpConnTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnTable.setDescription("""\
+A table containing TCP connection-specific information.
+""")
+_TcpConnEntry_Object = MibTableRow
+tcpConnEntry = _TcpConnEntry_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1)
+)
+tcpConnEntry.setIndexNames(
+ (0, "RFC1213-MIB", "tcpConnLocalAddress"),
+ (0, "RFC1213-MIB", "tcpConnLocalPort"),
+ (0, "RFC1213-MIB", "tcpConnRemAddress"),
+ (0, "RFC1213-MIB", "tcpConnRemPort"),
+)
+if mibBuilder.loadTexts:
+ tcpConnEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnEntry.setDescription("""\
+Information about a particular current TCP connection. An object of this type
+is transient, in that it ceases to exist when (or soon after) the connection
+makes the transition to the CLOSED state.
+""")
+
+
+class _TcpConnState_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12)
+ )
+ )
+ namedValues = NamedValues(
+ *(("closeWait", 8),
+ ("closed", 1),
+ ("closing", 10),
+ ("deleteTCB", 12),
+ ("established", 5),
+ ("finWait1", 6),
+ ("finWait2", 7),
+ ("lastAck", 9),
+ ("listen", 2),
+ ("synReceived", 4),
+ ("synSent", 3),
+ ("timeWait", 11))
+ )
+
+
+_TcpConnState_Type.__name__ = "Integer32"
+_TcpConnState_Object = MibTableColumn
+tcpConnState = _TcpConnState_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1, 1),
+ _TcpConnState_Type()
+)
+tcpConnState.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ tcpConnState.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnState.setDescription("""\
+The state of this TCP connection. The only value which may be set by a
+management station is deleteTCB(12). Accordingly, it is appropriate for an
+agent to return a `badValue' response if a management station attempts to set
+this object to any other value. If a management station sets this object to the
+value deleteTCB(12), then this has the effect of deleting the TCB (as defined
+in RFC 793) of the corresponding connection on the managed node, resulting in
+immediate termination of the connection. As an implementation-specific option,
+a RST segment may be sent from the managed node to the other TCP endpoint (note
+however that RST segments are not sent reliably).
+""")
+_TcpConnLocalAddress_Type = IpAddress
+_TcpConnLocalAddress_Object = MibTableColumn
+tcpConnLocalAddress = _TcpConnLocalAddress_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1, 2),
+ _TcpConnLocalAddress_Type()
+)
+tcpConnLocalAddress.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpConnLocalAddress.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnLocalAddress.setDescription("""\
+The local IP address for this TCP connection. In the case of a connection in
+the listen state which is willing to accept connections for any IP interface
+associated with the node, the value 0.0.0.0 is used.
+""")
+
+
+class _TcpConnLocalPort_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 65535),
+ )
+
+
+_TcpConnLocalPort_Type.__name__ = "Integer32"
+_TcpConnLocalPort_Object = MibTableColumn
+tcpConnLocalPort = _TcpConnLocalPort_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1, 3),
+ _TcpConnLocalPort_Type()
+)
+tcpConnLocalPort.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpConnLocalPort.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnLocalPort.setDescription("""\
+The local port number for this TCP connection.
+""")
+_TcpConnRemAddress_Type = IpAddress
+_TcpConnRemAddress_Object = MibTableColumn
+tcpConnRemAddress = _TcpConnRemAddress_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1, 4),
+ _TcpConnRemAddress_Type()
+)
+tcpConnRemAddress.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpConnRemAddress.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnRemAddress.setDescription("""\
+The remote IP address for this TCP connection.
+""")
+
+
+class _TcpConnRemPort_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 65535),
+ )
+
+
+_TcpConnRemPort_Type.__name__ = "Integer32"
+_TcpConnRemPort_Object = MibTableColumn
+tcpConnRemPort = _TcpConnRemPort_Object(
+ (1, 3, 6, 1, 2, 1, 6, 13, 1, 5),
+ _TcpConnRemPort_Type()
+)
+tcpConnRemPort.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpConnRemPort.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpConnRemPort.setDescription("""\
+The remote port number for this TCP connection.
+""")
+_TcpInErrs_Type = Counter32
+_TcpInErrs_Object = MibScalar
+tcpInErrs = _TcpInErrs_Object(
+ (1, 3, 6, 1, 2, 1, 6, 14),
+ _TcpInErrs_Type()
+)
+tcpInErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpInErrs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpInErrs.setDescription("""\
+The total number of segments received in error (e.g., bad TCP checksums).
+""")
+_TcpOutRsts_Type = Counter32
+_TcpOutRsts_Object = MibScalar
+tcpOutRsts = _TcpOutRsts_Object(
+ (1, 3, 6, 1, 2, 1, 6, 15),
+ _TcpOutRsts_Type()
+)
+tcpOutRsts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ tcpOutRsts.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ tcpOutRsts.setDescription("""\
+The number of TCP segments sent containing the RST flag.
+""")
+_Udp_ObjectIdentity = ObjectIdentity
+udp = _Udp_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 7)
+)
+_UdpInDatagrams_Type = Counter32
+_UdpInDatagrams_Object = MibScalar
+udpInDatagrams = _UdpInDatagrams_Object(
+ (1, 3, 6, 1, 2, 1, 7, 1),
+ _UdpInDatagrams_Type()
+)
+udpInDatagrams.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpInDatagrams.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpInDatagrams.setDescription("""\
+The total number of UDP datagrams delivered to UDP users.
+""")
+_UdpNoPorts_Type = Counter32
+_UdpNoPorts_Object = MibScalar
+udpNoPorts = _UdpNoPorts_Object(
+ (1, 3, 6, 1, 2, 1, 7, 2),
+ _UdpNoPorts_Type()
+)
+udpNoPorts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpNoPorts.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpNoPorts.setDescription("""\
+The total number of received UDP datagrams for which there was no application
+at the destination port.
+""")
+_UdpInErrors_Type = Counter32
+_UdpInErrors_Object = MibScalar
+udpInErrors = _UdpInErrors_Object(
+ (1, 3, 6, 1, 2, 1, 7, 3),
+ _UdpInErrors_Type()
+)
+udpInErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpInErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpInErrors.setDescription("""\
+The number of received UDP datagrams that could not be delivered for reasons
+other than the lack of an application at the destination port.
+""")
+_UdpOutDatagrams_Type = Counter32
+_UdpOutDatagrams_Object = MibScalar
+udpOutDatagrams = _UdpOutDatagrams_Object(
+ (1, 3, 6, 1, 2, 1, 7, 4),
+ _UdpOutDatagrams_Type()
+)
+udpOutDatagrams.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpOutDatagrams.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpOutDatagrams.setDescription("""\
+The total number of UDP datagrams sent from this entity.
+""")
+_UdpTable_Object = MibTable
+udpTable = _UdpTable_Object(
+ (1, 3, 6, 1, 2, 1, 7, 5)
+)
+if mibBuilder.loadTexts:
+ udpTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpTable.setDescription("""\
+A table containing UDP listener information.
+""")
+_UdpEntry_Object = MibTableRow
+udpEntry = _UdpEntry_Object(
+ (1, 3, 6, 1, 2, 1, 7, 5, 1)
+)
+udpEntry.setIndexNames(
+ (0, "RFC1213-MIB", "udpLocalAddress"),
+ (0, "RFC1213-MIB", "udpLocalPort"),
+)
+if mibBuilder.loadTexts:
+ udpEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpEntry.setDescription("""\
+Information about a particular current UDP listener.
+""")
+_UdpLocalAddress_Type = IpAddress
+_UdpLocalAddress_Object = MibTableColumn
+udpLocalAddress = _UdpLocalAddress_Object(
+ (1, 3, 6, 1, 2, 1, 7, 5, 1, 1),
+ _UdpLocalAddress_Type()
+)
+udpLocalAddress.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpLocalAddress.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpLocalAddress.setDescription("""\
+The local IP address for this UDP listener. In the case of a UDP listener which
+is willing to accept datagrams for any IP interface associated with the node,
+the value 0.0.0.0 is used.
+""")
+
+
+class _UdpLocalPort_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 65535),
+ )
+
+
+_UdpLocalPort_Type.__name__ = "Integer32"
+_UdpLocalPort_Object = MibTableColumn
+udpLocalPort = _UdpLocalPort_Object(
+ (1, 3, 6, 1, 2, 1, 7, 5, 1, 2),
+ _UdpLocalPort_Type()
+)
+udpLocalPort.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ udpLocalPort.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ udpLocalPort.setDescription("""\
+The local port number for this UDP listener.
+""")
+_Egp_ObjectIdentity = ObjectIdentity
+egp = _Egp_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 8)
+)
+_EgpInMsgs_Type = Counter32
+_EgpInMsgs_Object = MibScalar
+egpInMsgs = _EgpInMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 1),
+ _EgpInMsgs_Type()
+)
+egpInMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpInMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpInMsgs.setDescription("""\
+The number of EGP messages received without error.
+""")
+_EgpInErrors_Type = Counter32
+_EgpInErrors_Object = MibScalar
+egpInErrors = _EgpInErrors_Object(
+ (1, 3, 6, 1, 2, 1, 8, 2),
+ _EgpInErrors_Type()
+)
+egpInErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpInErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpInErrors.setDescription("""\
+The number of EGP messages received that proved to be in error.
+""")
+_EgpOutMsgs_Type = Counter32
+_EgpOutMsgs_Object = MibScalar
+egpOutMsgs = _EgpOutMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 3),
+ _EgpOutMsgs_Type()
+)
+egpOutMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpOutMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpOutMsgs.setDescription("""\
+The total number of locally generated EGP messages.
+""")
+_EgpOutErrors_Type = Counter32
+_EgpOutErrors_Object = MibScalar
+egpOutErrors = _EgpOutErrors_Object(
+ (1, 3, 6, 1, 2, 1, 8, 4),
+ _EgpOutErrors_Type()
+)
+egpOutErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpOutErrors.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpOutErrors.setDescription("""\
+The number of locally generated EGP messages not sent due to resource
+limitations within an EGP entity.
+""")
+_EgpNeighTable_Object = MibTable
+egpNeighTable = _EgpNeighTable_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5)
+)
+if mibBuilder.loadTexts:
+ egpNeighTable.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighTable.setDescription("""\
+The EGP neighbor table.
+""")
+_EgpNeighEntry_Object = MibTableRow
+egpNeighEntry = _EgpNeighEntry_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1)
+)
+egpNeighEntry.setIndexNames(
+ (0, "RFC1213-MIB", "egpNeighAddr"),
+)
+if mibBuilder.loadTexts:
+ egpNeighEntry.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighEntry.setDescription("""\
+Information about this entity's relationship with a particular EGP neighbor.
+""")
+
+
+class _EgpNeighState_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4,
+ 5)
+ )
+ )
+ namedValues = NamedValues(
+ *(("acquisition", 2),
+ ("cease", 5),
+ ("down", 3),
+ ("idle", 1),
+ ("up", 4))
+ )
+
+
+_EgpNeighState_Type.__name__ = "Integer32"
+_EgpNeighState_Object = MibTableColumn
+egpNeighState = _EgpNeighState_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 1),
+ _EgpNeighState_Type()
+)
+egpNeighState.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighState.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighState.setDescription("""\
+The EGP state of the local system with respect to this entry's EGP neighbor.
+Each EGP state is represented by a value that is one greater than the numerical
+value associated with said state in RFC 904.
+""")
+_EgpNeighAddr_Type = IpAddress
+_EgpNeighAddr_Object = MibTableColumn
+egpNeighAddr = _EgpNeighAddr_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 2),
+ _EgpNeighAddr_Type()
+)
+egpNeighAddr.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighAddr.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighAddr.setDescription("""\
+The IP address of this entry's EGP neighbor.
+""")
+_EgpNeighAs_Type = Integer32
+_EgpNeighAs_Object = MibTableColumn
+egpNeighAs = _EgpNeighAs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 3),
+ _EgpNeighAs_Type()
+)
+egpNeighAs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighAs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighAs.setDescription("""\
+The autonomous system of this EGP peer. Zero should be specified if the
+autonomous system number of the neighbor is not yet known.
+""")
+_EgpNeighInMsgs_Type = Counter32
+_EgpNeighInMsgs_Object = MibTableColumn
+egpNeighInMsgs = _EgpNeighInMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 4),
+ _EgpNeighInMsgs_Type()
+)
+egpNeighInMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighInMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighInMsgs.setDescription("""\
+The number of EGP messages received without error from this EGP peer.
+""")
+_EgpNeighInErrs_Type = Counter32
+_EgpNeighInErrs_Object = MibTableColumn
+egpNeighInErrs = _EgpNeighInErrs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 5),
+ _EgpNeighInErrs_Type()
+)
+egpNeighInErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighInErrs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighInErrs.setDescription("""\
+The number of EGP messages received from this EGP peer that proved to be in
+error (e.g., bad EGP checksum).
+""")
+_EgpNeighOutMsgs_Type = Counter32
+_EgpNeighOutMsgs_Object = MibTableColumn
+egpNeighOutMsgs = _EgpNeighOutMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 6),
+ _EgpNeighOutMsgs_Type()
+)
+egpNeighOutMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighOutMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighOutMsgs.setDescription("""\
+The number of locally generated EGP messages to this EGP peer.
+""")
+_EgpNeighOutErrs_Type = Counter32
+_EgpNeighOutErrs_Object = MibTableColumn
+egpNeighOutErrs = _EgpNeighOutErrs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 7),
+ _EgpNeighOutErrs_Type()
+)
+egpNeighOutErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighOutErrs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighOutErrs.setDescription("""\
+The number of locally generated EGP messages not sent to this EGP peer due to
+resource limitations within an EGP entity.
+""")
+_EgpNeighInErrMsgs_Type = Counter32
+_EgpNeighInErrMsgs_Object = MibTableColumn
+egpNeighInErrMsgs = _EgpNeighInErrMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 8),
+ _EgpNeighInErrMsgs_Type()
+)
+egpNeighInErrMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighInErrMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighInErrMsgs.setDescription("""\
+The number of EGP-defined error messages received from this EGP peer.
+""")
+_EgpNeighOutErrMsgs_Type = Counter32
+_EgpNeighOutErrMsgs_Object = MibTableColumn
+egpNeighOutErrMsgs = _EgpNeighOutErrMsgs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 9),
+ _EgpNeighOutErrMsgs_Type()
+)
+egpNeighOutErrMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighOutErrMsgs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighOutErrMsgs.setDescription("""\
+The number of EGP-defined error messages sent to this EGP peer.
+""")
+_EgpNeighStateUps_Type = Counter32
+_EgpNeighStateUps_Object = MibTableColumn
+egpNeighStateUps = _EgpNeighStateUps_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 10),
+ _EgpNeighStateUps_Type()
+)
+egpNeighStateUps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighStateUps.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighStateUps.setDescription("""\
+The number of EGP state transitions to the UP state with this EGP peer.
+""")
+_EgpNeighStateDowns_Type = Counter32
+_EgpNeighStateDowns_Object = MibTableColumn
+egpNeighStateDowns = _EgpNeighStateDowns_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 11),
+ _EgpNeighStateDowns_Type()
+)
+egpNeighStateDowns.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighStateDowns.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighStateDowns.setDescription("""\
+The number of EGP state transitions from the UP state to any other state with
+this EGP peer.
+""")
+_EgpNeighIntervalHello_Type = Integer32
+_EgpNeighIntervalHello_Object = MibTableColumn
+egpNeighIntervalHello = _EgpNeighIntervalHello_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 12),
+ _EgpNeighIntervalHello_Type()
+)
+egpNeighIntervalHello.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighIntervalHello.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighIntervalHello.setDescription("""\
+The interval between EGP Hello command retransmissions (in hundredths of a
+second). This represents the t1 timer as defined in RFC 904.
+""")
+_EgpNeighIntervalPoll_Type = Integer32
+_EgpNeighIntervalPoll_Object = MibTableColumn
+egpNeighIntervalPoll = _EgpNeighIntervalPoll_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 13),
+ _EgpNeighIntervalPoll_Type()
+)
+egpNeighIntervalPoll.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighIntervalPoll.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighIntervalPoll.setDescription("""\
+The interval between EGP poll command retransmissions (in hundredths of a
+second). This represents the t3 timer as defined in RFC 904.
+""")
+
+
+class _EgpNeighMode_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("active", 1),
+ ("passive", 2))
+ )
+
+
+_EgpNeighMode_Type.__name__ = "Integer32"
+_EgpNeighMode_Object = MibTableColumn
+egpNeighMode = _EgpNeighMode_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 14),
+ _EgpNeighMode_Type()
+)
+egpNeighMode.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpNeighMode.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighMode.setDescription("""\
+The polling mode of this EGP entity, either passive or active.
+""")
+
+
+class _EgpNeighEventTrigger_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("start", 1),
+ ("stop", 2))
+ )
+
+
+_EgpNeighEventTrigger_Type.__name__ = "Integer32"
+_EgpNeighEventTrigger_Object = MibTableColumn
+egpNeighEventTrigger = _EgpNeighEventTrigger_Object(
+ (1, 3, 6, 1, 2, 1, 8, 5, 1, 15),
+ _EgpNeighEventTrigger_Type()
+)
+egpNeighEventTrigger.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ egpNeighEventTrigger.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpNeighEventTrigger.setDescription("""\
+A control variable used to trigger operator- initiated Start and Stop events.
+When read, this variable always returns the most recent value that
+egpNeighEventTrigger was set to. If it has not been set since the last
+initialization of the network management subsystem on the node, it returns a
+value of `stop'. When set, this variable causes a Start or Stop event on the
+specified neighbor, as specified on pages 8-10 of RFC 904. Briefly, a Start
+event causes an Idle peer to begin neighbor acquisition and a non-Idle peer to
+reinitiate neighbor acquisition. A stop event causes a non-Idle peer to return
+to the Idle state until a Start event occurs, either via egpNeighEventTrigger
+or otherwise.
+""")
+_EgpAs_Type = Integer32
+_EgpAs_Object = MibScalar
+egpAs = _EgpAs_Object(
+ (1, 3, 6, 1, 2, 1, 8, 6),
+ _EgpAs_Type()
+)
+egpAs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ egpAs.setStatus("mandatory")
+if mibBuilder.loadTexts:
+ egpAs.setDescription("""\
+The autonomous system number of this EGP entity.
+""")
+
+mibBuilder.exportSymbols(
+ "RFC1213-MIB",
+ **{"mib_2": mib_2,
+ "at": at,
+ "atTable": atTable,
+ "atEntry": atEntry,
+ "atIfIndex": atIfIndex,
+ "atPhysAddress": atPhysAddress,
+ "atNetAddress": atNetAddress,
+ "ip": ip,
+ "ipForwarding": ipForwarding,
+ "ipDefaultTTL": ipDefaultTTL,
+ "ipInReceives": ipInReceives,
+ "ipInHdrErrors": ipInHdrErrors,
+ "ipInAddrErrors": ipInAddrErrors,
+ "ipForwDatagrams": ipForwDatagrams,
+ "ipInUnknownProtos": ipInUnknownProtos,
+ "ipInDiscards": ipInDiscards,
+ "ipInDelivers": ipInDelivers,
+ "ipOutRequests": ipOutRequests,
+ "ipOutDiscards": ipOutDiscards,
+ "ipOutNoRoutes": ipOutNoRoutes,
+ "ipReasmTimeout": ipReasmTimeout,
+ "ipReasmReqds": ipReasmReqds,
+ "ipReasmOKs": ipReasmOKs,
+ "ipReasmFails": ipReasmFails,
+ "ipFragOKs": ipFragOKs,
+ "ipFragFails": ipFragFails,
+ "ipFragCreates": ipFragCreates,
+ "ipAddrTable": ipAddrTable,
+ "ipAddrEntry": ipAddrEntry,
+ "ipAdEntAddr": ipAdEntAddr,
+ "ipAdEntIfIndex": ipAdEntIfIndex,
+ "ipAdEntNetMask": ipAdEntNetMask,
+ "ipAdEntBcastAddr": ipAdEntBcastAddr,
+ "ipAdEntReasmMaxSize": ipAdEntReasmMaxSize,
+ "ipRouteTable": ipRouteTable,
+ "ipRouteEntry": ipRouteEntry,
+ "ipRouteDest": ipRouteDest,
+ "ipRouteIfIndex": ipRouteIfIndex,
+ "ipRouteMetric1": ipRouteMetric1,
+ "ipRouteMetric2": ipRouteMetric2,
+ "ipRouteMetric3": ipRouteMetric3,
+ "ipRouteMetric4": ipRouteMetric4,
+ "ipRouteNextHop": ipRouteNextHop,
+ "ipRouteType": ipRouteType,
+ "ipRouteProto": ipRouteProto,
+ "ipRouteAge": ipRouteAge,
+ "ipRouteMask": ipRouteMask,
+ "ipRouteMetric5": ipRouteMetric5,
+ "ipRouteInfo": ipRouteInfo,
+ "ipNetToMediaTable": ipNetToMediaTable,
+ "ipNetToMediaEntry": ipNetToMediaEntry,
+ "ipNetToMediaIfIndex": ipNetToMediaIfIndex,
+ "ipNetToMediaPhysAddress": ipNetToMediaPhysAddress,
+ "ipNetToMediaNetAddress": ipNetToMediaNetAddress,
+ "ipNetToMediaType": ipNetToMediaType,
+ "ipRoutingDiscards": ipRoutingDiscards,
+ "icmp": icmp,
+ "icmpInMsgs": icmpInMsgs,
+ "icmpInErrors": icmpInErrors,
+ "icmpInDestUnreachs": icmpInDestUnreachs,
+ "icmpInTimeExcds": icmpInTimeExcds,
+ "icmpInParmProbs": icmpInParmProbs,
+ "icmpInSrcQuenchs": icmpInSrcQuenchs,
+ "icmpInRedirects": icmpInRedirects,
+ "icmpInEchos": icmpInEchos,
+ "icmpInEchoReps": icmpInEchoReps,
+ "icmpInTimestamps": icmpInTimestamps,
+ "icmpInTimestampReps": icmpInTimestampReps,
+ "icmpInAddrMasks": icmpInAddrMasks,
+ "icmpInAddrMaskReps": icmpInAddrMaskReps,
+ "icmpOutMsgs": icmpOutMsgs,
+ "icmpOutErrors": icmpOutErrors,
+ "icmpOutDestUnreachs": icmpOutDestUnreachs,
+ "icmpOutTimeExcds": icmpOutTimeExcds,
+ "icmpOutParmProbs": icmpOutParmProbs,
+ "icmpOutSrcQuenchs": icmpOutSrcQuenchs,
+ "icmpOutRedirects": icmpOutRedirects,
+ "icmpOutEchos": icmpOutEchos,
+ "icmpOutEchoReps": icmpOutEchoReps,
+ "icmpOutTimestamps": icmpOutTimestamps,
+ "icmpOutTimestampReps": icmpOutTimestampReps,
+ "icmpOutAddrMasks": icmpOutAddrMasks,
+ "icmpOutAddrMaskReps": icmpOutAddrMaskReps,
+ "tcp": tcp,
+ "tcpRtoAlgorithm": tcpRtoAlgorithm,
+ "tcpRtoMin": tcpRtoMin,
+ "tcpRtoMax": tcpRtoMax,
+ "tcpMaxConn": tcpMaxConn,
+ "tcpActiveOpens": tcpActiveOpens,
+ "tcpPassiveOpens": tcpPassiveOpens,
+ "tcpAttemptFails": tcpAttemptFails,
+ "tcpEstabResets": tcpEstabResets,
+ "tcpCurrEstab": tcpCurrEstab,
+ "tcpInSegs": tcpInSegs,
+ "tcpOutSegs": tcpOutSegs,
+ "tcpRetransSegs": tcpRetransSegs,
+ "tcpConnTable": tcpConnTable,
+ "tcpConnEntry": tcpConnEntry,
+ "tcpConnState": tcpConnState,
+ "tcpConnLocalAddress": tcpConnLocalAddress,
+ "tcpConnLocalPort": tcpConnLocalPort,
+ "tcpConnRemAddress": tcpConnRemAddress,
+ "tcpConnRemPort": tcpConnRemPort,
+ "tcpInErrs": tcpInErrs,
+ "tcpOutRsts": tcpOutRsts,
+ "udp": udp,
+ "udpInDatagrams": udpInDatagrams,
+ "udpNoPorts": udpNoPorts,
+ "udpInErrors": udpInErrors,
+ "udpOutDatagrams": udpOutDatagrams,
+ "udpTable": udpTable,
+ "udpEntry": udpEntry,
+ "udpLocalAddress": udpLocalAddress,
+ "udpLocalPort": udpLocalPort,
+ "egp": egp,
+ "egpInMsgs": egpInMsgs,
+ "egpInErrors": egpInErrors,
+ "egpOutMsgs": egpOutMsgs,
+ "egpOutErrors": egpOutErrors,
+ "egpNeighTable": egpNeighTable,
+ "egpNeighEntry": egpNeighEntry,
+ "egpNeighState": egpNeighState,
+ "egpNeighAddr": egpNeighAddr,
+ "egpNeighAs": egpNeighAs,
+ "egpNeighInMsgs": egpNeighInMsgs,
+ "egpNeighInErrs": egpNeighInErrs,
+ "egpNeighOutMsgs": egpNeighOutMsgs,
+ "egpNeighOutErrs": egpNeighOutErrs,
+ "egpNeighInErrMsgs": egpNeighInErrMsgs,
+ "egpNeighOutErrMsgs": egpNeighOutErrMsgs,
+ "egpNeighStateUps": egpNeighStateUps,
+ "egpNeighStateDowns": egpNeighStateDowns,
+ "egpNeighIntervalHello": egpNeighIntervalHello,
+ "egpNeighIntervalPoll": egpNeighIntervalPoll,
+ "egpNeighMode": egpNeighMode,
+ "egpNeighEventTrigger": egpNeighEventTrigger,
+ "egpAs": egpAs}
+)
diff --git a/pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py b/pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py
index a1240835..7ae417fb 100644
--- a/pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py
@@ -4,88 +4,558 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-COMMUNITY-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-COMMUNITY-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 13:47:39 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# ASN.1 source http://mibs.snmplabs.com/asn1/SNMP-COMMUNITY-MIB.txt
+# Produced by pysmi-0.4.0 at Sat Feb 16 08:57:23 2019
#
-OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ConstraintsUnion, ConstraintsIntersection, ValueRangeConstraint, ValueSizeConstraint, SingleValueConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsUnion", "ConstraintsIntersection", "ValueRangeConstraint", "ValueSizeConstraint", "SingleValueConstraint")
-SnmpAdminString, SnmpEngineID = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString", "SnmpEngineID")
-snmpTargetAddrEntry, SnmpTagValue = mibBuilder.importSymbols("SNMP-TARGET-MIB", "snmpTargetAddrEntry", "SnmpTagValue")
-NotificationGroup, ObjectGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ObjectGroup", "ModuleCompliance")
-Unsigned32, MibScalar, MibTable, MibTableRow, MibTableColumn, NotificationType, Bits, ModuleIdentity, TimeTicks, Counter32, Gauge32, Integer32, Counter64, MibIdentifier, IpAddress, snmpModules, iso, ObjectIdentity = mibBuilder.importSymbols("SNMPv2-SMI", "Unsigned32", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "NotificationType", "Bits", "ModuleIdentity", "TimeTicks", "Counter32", "Gauge32", "Integer32", "Counter64", "MibIdentifier", "IpAddress", "snmpModules", "iso", "ObjectIdentity")
-DisplayString, RowStatus, StorageType, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "RowStatus", "StorageType", "TextualConvention")
-snmpCommunityMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 18))
-if mibBuilder.loadTexts: snmpCommunityMIB.setRevisions(('2003-08-06 00:00', '2000-03-06 00:00',))
-if mibBuilder.loadTexts: snmpCommunityMIB.setLastUpdated('200308060000Z')
-if mibBuilder.loadTexts: snmpCommunityMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpCommunityMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In msg body: subscribe snmpv3 Co-Chair: Russ Mundy SPARTA, Inc Postal: 7075 Samuel Morse Drive Columbia, MD 21045 USA EMail: mundy@tislabs.com Phone: +1 410-872-1515 Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5005 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor: Rob Frye Vibrant Solutions Postal: 2711 Prosperity Ave Fairfax, Virginia 22031 USA E-mail: rfrye@vibrant-1.com Phone: +1-703-270-2000 Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 E-mail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-editor: Shawn A. Routhier Wind River Systems, Inc. Postal: 500 Wind River Way Alameda, CA 94501 E-mail: sar@epilogue.com Phone: +1 510 749 2095 Co-editor: Bert Wijnen Lucent Technologies Postal: Schagen 33 3461 GL Linschoten Netherlands Email: bwijnen@lucent.com Phone: +31-348-407-775 ')
-if mibBuilder.loadTexts: snmpCommunityMIB.setDescription('This MIB module defines objects to help support coexistence between SNMPv1, SNMPv2c, and SNMPv3. Copyright (C) The Internet Society (2003) This version of this MIB module is part of RFC 3584; see the RFC itself for full legal notices.')
-snmpCommunityMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 18, 1))
-snmpCommunityMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 18, 2))
-snmpCommunityTable = MibTable((1, 3, 6, 1, 6, 3, 18, 1, 1), )
-if mibBuilder.loadTexts: snmpCommunityTable.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityTable.setDescription("The table of community strings configured in the SNMP engine's Local Configuration Datastore (LCD).")
-snmpCommunityEntry = MibTableRow((1, 3, 6, 1, 6, 3, 18, 1, 1, 1), ).setIndexNames((1, "SNMP-COMMUNITY-MIB", "snmpCommunityIndex"))
-if mibBuilder.loadTexts: snmpCommunityEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityEntry.setDescription('Information about a particular community string.')
-snmpCommunityIndex = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: snmpCommunityIndex.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityIndex.setDescription('The unique index value of a row in this table.')
-snmpCommunityName = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 2), OctetString()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityName.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityName.setDescription('The community string for which a row in this table represents a configuration. There is no SIZE constraint specified for this object because RFC 1157 does not impose any explicit limitation on the length of community strings (their size is constrained indirectly by the SNMP message size).')
-snmpCommunitySecurityName = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 3), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunitySecurityName.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunitySecurityName.setDescription('A human readable string representing the corresponding value of snmpCommunityName in a Security Model independent format.')
-snmpCommunityContextEngineID = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 4), SnmpEngineID()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityContextEngineID.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityContextEngineID.setDescription('The contextEngineID indicating the location of the context in which management information is accessed when using the community string specified by the corresponding instance of snmpCommunityName. The default value is the snmpEngineID of the entity in which this object is instantiated.')
-snmpCommunityContextName = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 5), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityContextName.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityContextName.setDescription('The context in which management information is accessed when using the community string specified by the corresponding instance of snmpCommunityName.')
-snmpCommunityTransportTag = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 6), SnmpTagValue().clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityTransportTag.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityTransportTag.setDescription('This object specifies a set of transport endpoints which are used in two ways: - to specify the transport endpoints from which an SNMP entity will accept management requests, and - to specify the transport endpoints to which a notification may be sent using the community string matching the corresponding instance of snmpCommunityName. In either case, if the value of this object has zero-length, transport endpoints are not checked when either authenticating messages containing this community string, nor when generating notifications. The transports identified by this object are specified in the snmpTargetAddrTable. Entries in that table whose snmpTargetAddrTagList contains this tag value are identified. If a management request containing a community string that matches the corresponding instance of snmpCommunityName is received on a transport endpoint other than the transport endpoints identified by this object the request is deemed unauthentic. When a notification is to be sent using an entry in this table, if the destination transport endpoint of the notification does not match one of the transport endpoints selected by this object, the notification is not sent.')
-snmpCommunityStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 7), StorageType()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityStorageType.setDescription("The storage type for this conceptual row in the snmpCommunityTable. Conceptual rows having the value 'permanent' need not allow write-access to any columnar object in the row.")
-snmpCommunityStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 8), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpCommunityStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpCommunityStatus.setDescription('The status of this conceptual row in the snmpCommunityTable. An entry in this table is not qualified for activation until instances of all corresponding columns have been initialized, either through default values, or through Set operations. The snmpCommunityName and snmpCommunitySecurityName objects must be explicitly set. There is no restriction on setting columns in this table when the value of snmpCommunityStatus is active(1).')
-snmpTargetAddrExtTable = MibTable((1, 3, 6, 1, 6, 3, 18, 1, 2), )
-if mibBuilder.loadTexts: snmpTargetAddrExtTable.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrExtTable.setDescription('The table of mask and maximum message size (mms) values associated with the snmpTargetAddrTable. The snmpTargetAddrExtTable augments the snmpTargetAddrTable with a transport address mask value and a maximum message size value. The transport address mask allows entries in the snmpTargetAddrTable to define a set of addresses instead of just a single address. The maximum message size value allows the maximum message size of another SNMP entity to be configured for use in SNMPv1 (and SNMPv2c) transactions, where the message format does not specify a maximum message size.')
-snmpTargetAddrExtEntry = MibTableRow((1, 3, 6, 1, 6, 3, 18, 1, 2, 1), )
-snmpTargetAddrEntry.registerAugmentation(("SNMP-COMMUNITY-MIB", "snmpTargetAddrExtEntry"))
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(SnmpEngineID,
+ SnmpAdminString) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpEngineID",
+ "SnmpAdminString")
+
+(SnmpTagValue,
+ snmpTargetAddrEntry) = mibBuilder.importSymbols(
+ "SNMP-TARGET-MIB",
+ "SnmpTagValue",
+ "snmpTargetAddrEntry")
+
+(NotificationGroup,
+ ObjectGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ObjectGroup",
+ "ModuleCompliance")
+
+(Unsigned32,
+ Gauge32,
+ iso,
+ ObjectIdentity,
+ snmpModules,
+ TimeTicks,
+ Counter32,
+ Counter64,
+ IpAddress,
+ NotificationType,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ MibIdentifier,
+ Bits,
+ ModuleIdentity,
+ Integer32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Unsigned32",
+ "Gauge32",
+ "iso",
+ "ObjectIdentity",
+ "snmpModules",
+ "TimeTicks",
+ "Counter32",
+ "Counter64",
+ "IpAddress",
+ "NotificationType",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "MibIdentifier",
+ "Bits",
+ "ModuleIdentity",
+ "Integer32")
+
+(TextualConvention,
+ RowStatus,
+ DisplayString,
+ StorageType) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "RowStatus",
+ "DisplayString",
+ "StorageType")
+
+snmpCommunityMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 18)
+)
+snmpCommunityMIB.setRevisions(
+ ("2000-03-06 00:00",
+ "1999-05-13 00:00")
+)
+snmpCommunityMIB.setLastUpdated("200003060000Z")
+if mibBuilder.loadTexts:
+ snmpCommunityMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpCommunityMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+msg body: subscribe snmpv3 Chair: Russ Mundy TIS Labs at Network Associates
+Postal: 3060 Washington Rd Glenwood MD 21738 USA Email: mundy@tislabs.com
+Phone: +1-301-854-6889 Co-editor: Rob Frye CoSine Communications Postal: 1200
+Bridge Parkway Redwood City, CA 94065 USA E-mail: rfrye@cosinecom.com Phone: +1
+703 725 1130 Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood
+Drive Knoxville, TN 37918 E-mail: dlevi@nortelnetworks.com Phone: +1 423 686
+0432 Co-editor: Shawn A. Routhier Integrated Systems Inc. Postal: 333 North Ave
+4th Floor Wakefield, MA 01880 E-mail: sar@epilogue.com Phone: +1 781 245 0804
+Co-editor: Bert Wijnen Lucent Technologies Postal: Schagen 33 3461 GL
+Linschoten Netherlands Email: bwijnen@lucent.com Phone: +31-348-407-775
+""")
+if mibBuilder.loadTexts:
+ snmpCommunityMIB.setDescription("""\
+This MIB module defines objects to help support coexistence between SNMPv1,
+SNMPv2c, and SNMPv3.
+""")
+
+_SnmpCommunityMIBObjects_ObjectIdentity = ObjectIdentity
+snmpCommunityMIBObjects = _SnmpCommunityMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 18, 1)
+)
+_SnmpCommunityTable_Object = MibTable
+snmpCommunityTable = _SnmpCommunityTable_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpCommunityTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityTable.setDescription("""\
+The table of community strings configured in the SNMP engine's Local
+Configuration Datastore (LCD).
+""")
+_SnmpCommunityEntry_Object = MibTableRow
+snmpCommunityEntry = _SnmpCommunityEntry_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1)
+)
+snmpCommunityEntry.setIndexNames(
+ (1, "SNMP-COMMUNITY-MIB", "snmpCommunityIndex"),
+)
+if mibBuilder.loadTexts:
+ snmpCommunityEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityEntry.setDescription("""\
+Information about a particular community string.
+""")
+
+
+class _SnmpCommunityIndex_Type(SnmpAdminString):
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpCommunityIndex_Type.__name__ = "SnmpAdminString"
+_SnmpCommunityIndex_Object = MibTableColumn
+snmpCommunityIndex = _SnmpCommunityIndex_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 1),
+ _SnmpCommunityIndex_Type()
+)
+snmpCommunityIndex.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpCommunityIndex.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityIndex.setDescription("""\
+The unique index value of a row in this table.
+""")
+_SnmpCommunityName_Type = OctetString
+_SnmpCommunityName_Object = MibTableColumn
+snmpCommunityName = _SnmpCommunityName_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 2),
+ _SnmpCommunityName_Type()
+)
+snmpCommunityName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityName.setDescription("""\
+The community string for which a row in this table represents a configuration.
+""")
+
+
+class _SnmpCommunitySecurityName_Type(SnmpAdminString):
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpCommunitySecurityName_Type.__name__ = "SnmpAdminString"
+_SnmpCommunitySecurityName_Object = MibTableColumn
+snmpCommunitySecurityName = _SnmpCommunitySecurityName_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 3),
+ _SnmpCommunitySecurityName_Type()
+)
+snmpCommunitySecurityName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunitySecurityName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunitySecurityName.setDescription("""\
+A human readable string representing the corresponding value of
+snmpCommunityName in a Security Model independent format.
+""")
+_SnmpCommunityContextEngineID_Type = SnmpEngineID
+_SnmpCommunityContextEngineID_Object = MibTableColumn
+snmpCommunityContextEngineID = _SnmpCommunityContextEngineID_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 4),
+ _SnmpCommunityContextEngineID_Type()
+)
+snmpCommunityContextEngineID.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityContextEngineID.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityContextEngineID.setDescription("""\
+The contextEngineID indicating the location of the context in which management
+information is accessed when using the community string specified by the
+corresponding instance of snmpCommunityName. The default value is the
+snmpEngineID of the entity in which this object is instantiated.
+""")
+
+
+class _SnmpCommunityContextName_Type(SnmpAdminString):
+ defaultHexValue = ""
+
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_SnmpCommunityContextName_Type.__name__ = "SnmpAdminString"
+_SnmpCommunityContextName_Object = MibTableColumn
+snmpCommunityContextName = _SnmpCommunityContextName_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 5),
+ _SnmpCommunityContextName_Type()
+)
+snmpCommunityContextName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityContextName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityContextName.setDescription("""\
+The context in which management information is accessed when using the
+community string specified by the corresponding instance of snmpCommunityName.
+""")
+
+
+class _SnmpCommunityTransportTag_Type(SnmpTagValue):
+ defaultHexValue = ""
+
+
+_SnmpCommunityTransportTag_Object = MibTableColumn
+snmpCommunityTransportTag = _SnmpCommunityTransportTag_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 6),
+ _SnmpCommunityTransportTag_Type()
+)
+snmpCommunityTransportTag.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityTransportTag.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityTransportTag.setDescription("""\
+This object specifies a set of transport endpoints from which a command
+responder application will accept management requests. If a management request
+containing this community is received on a transport endpoint other than the
+transport endpoints identified by this object, the request is deemed
+unauthentic. The transports identified by this object are specified in the
+snmpTargetAddrTable. Entries in that table whose snmpTargetAddrTagList contains
+this tag value are identified. If the value of this object has zero-length,
+transport endpoints are not checked when authenticating messages containing
+this community string.
+""")
+_SnmpCommunityStorageType_Type = StorageType
+_SnmpCommunityStorageType_Object = MibTableColumn
+snmpCommunityStorageType = _SnmpCommunityStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 7),
+ _SnmpCommunityStorageType_Type()
+)
+snmpCommunityStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityStorageType.setDescription("""\
+The storage type for this conceptual row in the snmpCommunityTable. Conceptual
+rows having the value 'permanent' need not allow write-access to any columnar
+object in the row.
+""")
+_SnmpCommunityStatus_Type = RowStatus
+_SnmpCommunityStatus_Object = MibTableColumn
+snmpCommunityStatus = _SnmpCommunityStatus_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 8),
+ _SnmpCommunityStatus_Type()
+)
+snmpCommunityStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpCommunityStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityStatus.setDescription("""\
+The status of this conceptual row in the snmpCommunityTable. An entry in this
+table is not qualified for activation until instances of all corresponding
+columns have been initialized, either through default values, or through Set
+operations. The snmpCommunityName and snmpCommunitySecurityName objects must be
+explicitly set. There is no restriction on setting columns in this table when
+the value of snmpCommunityStatus is active(1).
+""")
+_SnmpTargetAddrExtTable_Object = MibTable
+snmpTargetAddrExtTable = _SnmpTargetAddrExtTable_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpTargetAddrExtTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrExtTable.setDescription("""\
+The table of mask and mms values associated with the snmpTargetAddrTable. The
+snmpTargetAddrExtTable augments the snmpTargetAddrTable with a transport
+address mask value and a maximum message size value. The transport address mask
+allows entries in the snmpTargetAddrTable to define a set of addresses instead
+of just a single address. The maximum message size value allows the maximum
+message size of another SNMP entity to be configured for use in SNMPv1 (and
+SNMPv2c) transactions, where the message format does not specify a maximum
+message size.
+""")
+_SnmpTargetAddrExtEntry_Object = MibTableRow
+snmpTargetAddrExtEntry = _SnmpTargetAddrExtEntry_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 2, 1)
+)
+snmpTargetAddrEntry.registerAugmentions(
+ ("SNMP-COMMUNITY-MIB",
+ "snmpTargetAddrExtEntry")
+)
snmpTargetAddrExtEntry.setIndexNames(*snmpTargetAddrEntry.getIndexNames())
-if mibBuilder.loadTexts: snmpTargetAddrExtEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrExtEntry.setDescription('Information about a particular mask and mms value.')
-snmpTargetAddrTMask = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 1), OctetString().subtype(subtypeSpec=ValueSizeConstraint(0, 255)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrTMask.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTMask.setDescription('The mask value associated with an entry in the snmpTargetAddrTable. The value of this object must have the same length as the corresponding instance of snmpTargetAddrTAddress, or must have length 0. An attempt to set it to any other value will result in an inconsistentValue error. The value of this object allows an entry in the snmpTargetAddrTable to specify multiple addresses. The mask value is used to select which bits of a transport address must match bits of the corresponding instance of snmpTargetAddrTAddress, in order for the transport address to match a particular entry in the snmpTargetAddrTable. Bits which are 1 in the mask value indicate bits in the transport address which must match bits in the snmpTargetAddrTAddress value. Bits which are 0 in the mask indicate bits in the transport address which need not match. If the length of the mask is 0, the mask should be treated as if all its bits were 1 and its length were equal to the length of the corresponding value of snmpTargetAddrTable. This object may not be modified while the value of the corresponding instance of snmpTargetAddrRowStatus is active(1). An attempt to set this object in this case will result in an inconsistentValue error.')
-snmpTargetAddrMMS = MibTableColumn((1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(ValueRangeConstraint(0, 0), ValueRangeConstraint(484, 2147483647), )).clone(484)).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrMMS.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrMMS.setDescription('The maximum message size value associated with an entry in the snmpTargetAddrTable. Note that a value of 0 means that the maximum message size is unknown.')
-snmpTrapAddress = MibScalar((1, 3, 6, 1, 6, 3, 18, 1, 3), IpAddress()).setMaxAccess("accessiblefornotify")
-if mibBuilder.loadTexts: snmpTrapAddress.setStatus('current')
-if mibBuilder.loadTexts: snmpTrapAddress.setDescription('The value of the agent-addr field of a Trap PDU which is forwarded by a proxy forwarder application using an SNMP version other than SNMPv1. The value of this object SHOULD contain the value of the agent-addr field from the original Trap PDU as generated by an SNMPv1 agent.')
-snmpTrapCommunity = MibScalar((1, 3, 6, 1, 6, 3, 18, 1, 4), OctetString()).setMaxAccess("accessiblefornotify")
-if mibBuilder.loadTexts: snmpTrapCommunity.setStatus('current')
-if mibBuilder.loadTexts: snmpTrapCommunity.setDescription('The value of the community string field of an SNMPv1 message containing a Trap PDU which is forwarded by a a proxy forwarder application using an SNMP version other than SNMPv1. The value of this object SHOULD contain the value of the community string field from the original SNMPv1 message containing a Trap PDU as generated by an SNMPv1 agent. There is no SIZE constraint specified for this object because RFC 1157 does not impose any explicit limitation on the length of community strings (their size is constrained indirectly by the SNMP message size).')
-snmpCommunityMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 18, 2, 1))
-snmpCommunityMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 18, 2, 2))
-snmpCommunityMIBCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 18, 2, 1, 1)).setObjects(("SNMP-COMMUNITY-MIB", "snmpCommunityTableGroup"))
-if mibBuilder.loadTexts: snmpCommunityMIBCompliance.setDescription('The compliance statement for SNMP engines which implement the SNMP-COMMUNITY-MIB.')
-snmpProxyTrapForwardCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 18, 2, 1, 2)).setObjects(("SNMP-COMMUNITY-MIB", "snmpProxyTrapForwardGroup"))
-if mibBuilder.loadTexts: snmpProxyTrapForwardCompliance.setDescription('The compliance statement for SNMP engines which contain a proxy forwarding application which is capable of forwarding SNMPv1 traps using SNMPv2c or SNMPv3.')
-snmpCommunityMIBFullCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 18, 2, 1, 3)).setObjects(("SNMP-COMMUNITY-MIB", "snmpCommunityTableGroup"))
-if mibBuilder.loadTexts: snmpCommunityMIBFullCompliance.setDescription('The compliance statement for SNMP engines which implement the SNMP-COMMUNITY-MIB with full read-create access.')
-snmpCommunityTableGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 18, 2, 2, 1)).setObjects(("SNMP-COMMUNITY-MIB", "snmpCommunityName"), ("SNMP-COMMUNITY-MIB", "snmpCommunitySecurityName"), ("SNMP-COMMUNITY-MIB", "snmpCommunityContextEngineID"), ("SNMP-COMMUNITY-MIB", "snmpCommunityContextName"), ("SNMP-COMMUNITY-MIB", "snmpCommunityTransportTag"), ("SNMP-COMMUNITY-MIB", "snmpCommunityStorageType"), ("SNMP-COMMUNITY-MIB", "snmpCommunityStatus"), ("SNMP-COMMUNITY-MIB", "snmpTargetAddrTMask"), ("SNMP-COMMUNITY-MIB", "snmpTargetAddrMMS"))
-if mibBuilder.loadTexts: snmpCommunityTableGroup.setDescription('A collection of objects providing for configuration of community strings for SNMPv1 (and SNMPv2c) usage.')
-snmpProxyTrapForwardGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 18, 2, 2, 3)).setObjects(("SNMP-COMMUNITY-MIB", "snmpTrapAddress"), ("SNMP-COMMUNITY-MIB", "snmpTrapCommunity"))
-if mibBuilder.loadTexts: snmpProxyTrapForwardGroup.setDescription('Objects which are used by proxy forwarding applications when translating traps between SNMP versions. These are used to preserve SNMPv1-specific information when translating to SNMPv2c or SNMPv3.')
-mibBuilder.exportSymbols("SNMP-COMMUNITY-MIB", PYSNMP_MODULE_ID=snmpCommunityMIB, snmpCommunityMIBFullCompliance=snmpCommunityMIBFullCompliance, snmpTargetAddrTMask=snmpTargetAddrTMask, snmpTargetAddrExtEntry=snmpTargetAddrExtEntry, snmpCommunityContextName=snmpCommunityContextName, snmpCommunityMIBConformance=snmpCommunityMIBConformance, snmpCommunityTableGroup=snmpCommunityTableGroup, snmpCommunityIndex=snmpCommunityIndex, snmpTrapCommunity=snmpTrapCommunity, snmpCommunityContextEngineID=snmpCommunityContextEngineID, snmpTrapAddress=snmpTrapAddress, snmpCommunityMIBObjects=snmpCommunityMIBObjects, snmpCommunityMIBCompliances=snmpCommunityMIBCompliances, snmpCommunityStorageType=snmpCommunityStorageType, snmpCommunitySecurityName=snmpCommunitySecurityName, snmpCommunityTable=snmpCommunityTable, snmpCommunityMIBGroups=snmpCommunityMIBGroups, snmpCommunityEntry=snmpCommunityEntry, snmpTargetAddrExtTable=snmpTargetAddrExtTable, snmpCommunityName=snmpCommunityName, snmpCommunityMIBCompliance=snmpCommunityMIBCompliance, snmpCommunityMIB=snmpCommunityMIB, snmpCommunityStatus=snmpCommunityStatus, snmpProxyTrapForwardCompliance=snmpProxyTrapForwardCompliance, snmpProxyTrapForwardGroup=snmpProxyTrapForwardGroup, snmpTargetAddrMMS=snmpTargetAddrMMS, snmpCommunityTransportTag=snmpCommunityTransportTag)
+if mibBuilder.loadTexts:
+ snmpTargetAddrExtEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrExtEntry.setDescription("""\
+Information about a particular mask and mms value.
+""")
+
+
+class _SnmpTargetAddrTMask_Type(OctetString):
+ defaultHexValue = ""
+
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+
+_SnmpTargetAddrTMask_Type.__name__ = "OctetString"
+_SnmpTargetAddrTMask_Object = MibTableColumn
+snmpTargetAddrTMask = _SnmpTargetAddrTMask_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 1),
+ _SnmpTargetAddrTMask_Type()
+)
+snmpTargetAddrTMask.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTMask.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTMask.setDescription("""\
+The mask value associated with an entry in the snmpTargetAddrTable. The value
+of this object must have the same length as the corresponding instance of
+snmpTargetAddrTAddress, or must have length 0. An attempt to set it to any
+other value will result in an inconsistentValue error. The value of this object
+allows an entry in the snmpTargetAddrTable to specify multiple addresses. The
+mask value is used to select which bits of a transport address must match bits
+of the corresponding instance of snmpTargetAddrTAddress, in order for the
+transport address to match a particular entry in the snmpTargetAddrTable. Bits
+which are 1 in the mask value indicate bits in the transport address which must
+match bits in the snmpTargetAddrTAddress value. Bits which are 0 in the mask
+indicate bits in the transport address which need not match. If the length of
+the mask is 0, the mask should be treated as if all its bits were 1 and its
+length were equal to the length of the corresponding value of
+snmpTargetAddrTable. This object may not be modified while the value of the
+corresponding instance of snmpTargetAddrRowStatus is active(1). An attempt to
+set this object in this case will result in an inconsistentValue error.
+""")
+
+
+class _SnmpTargetAddrMMS_Type(Integer32):
+ defaultValue = 484
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 0),
+ ValueRangeConstraint(484, 2147483647),
+ )
+
+
+_SnmpTargetAddrMMS_Type.__name__ = "Integer32"
+_SnmpTargetAddrMMS_Object = MibTableColumn
+snmpTargetAddrMMS = _SnmpTargetAddrMMS_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 2),
+ _SnmpTargetAddrMMS_Type()
+)
+snmpTargetAddrMMS.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrMMS.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrMMS.setDescription("""\
+The maximum message size value associated with an entry in the
+snmpTargetAddrTable.
+""")
+_SnmpTrapAddress_Type = IpAddress
+_SnmpTrapAddress_Object = MibScalar
+snmpTrapAddress = _SnmpTrapAddress_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 3),
+ _SnmpTrapAddress_Type()
+)
+snmpTrapAddress.setMaxAccess("accessible-for-notify")
+if mibBuilder.loadTexts:
+ snmpTrapAddress.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTrapAddress.setDescription("""\
+The value of the agent-addr field of a Trap PDU which is forwarded by a proxy
+forwarder application using an SNMP version other than SNMPv1. The value of
+this object SHOULD contain the value of the agent-addr field from the original
+Trap PDU as generated by an SNMPv1 agent.
+""")
+_SnmpTrapCommunity_Type = OctetString
+_SnmpTrapCommunity_Object = MibScalar
+snmpTrapCommunity = _SnmpTrapCommunity_Object(
+ (1, 3, 6, 1, 6, 3, 18, 1, 4),
+ _SnmpTrapCommunity_Type()
+)
+snmpTrapCommunity.setMaxAccess("accessible-for-notify")
+if mibBuilder.loadTexts:
+ snmpTrapCommunity.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTrapCommunity.setDescription("""\
+The value of the community string field of an SNMPv1 message containing a Trap
+PDU which is forwarded by a a proxy forwarder application using an SNMP version
+other than SNMPv1. The value of this object SHOULD contain the value of the
+community string field from the original SNMPv1 message containing a Trap PDU
+as generated by an SNMPv1 agent.
+""")
+_SnmpCommunityMIBConformance_ObjectIdentity = ObjectIdentity
+snmpCommunityMIBConformance = _SnmpCommunityMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 18, 2)
+)
+_SnmpCommunityMIBCompliances_ObjectIdentity = ObjectIdentity
+snmpCommunityMIBCompliances = _SnmpCommunityMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 18, 2, 1)
+)
+_SnmpCommunityMIBGroups_ObjectIdentity = ObjectIdentity
+snmpCommunityMIBGroups = _SnmpCommunityMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 18, 2, 2)
+)
+
+snmpCommunityGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 18, 2, 2, 1)
+)
+snmpCommunityGroup.setObjects(
+ *(("SNMP-COMMUNITY-MIB", "snmpCommunityName"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunitySecurityName"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunityContextEngineID"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunityContextName"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunityTransportTag"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunityStorageType"),
+ ("SNMP-COMMUNITY-MIB", "snmpCommunityStatus"),
+ ("SNMP-COMMUNITY-MIB", "snmpTargetAddrTMask"),
+ ("SNMP-COMMUNITY-MIB", "snmpTargetAddrMMS"))
+)
+if mibBuilder.loadTexts:
+ snmpCommunityGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityGroup.setDescription("""\
+A collection of objects providing for configuration of community strings for
+SNMPv1 (and SNMPv2c) usage.
+""")
+
+snmpProxyTrapForwardGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 18, 2, 2, 3)
+)
+snmpProxyTrapForwardGroup.setObjects(
+ *(("SNMP-COMMUNITY-MIB", "snmpTrapAddress"),
+ ("SNMP-COMMUNITY-MIB", "snmpTrapCommunity"))
+)
+if mibBuilder.loadTexts:
+ snmpProxyTrapForwardGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyTrapForwardGroup.setDescription("""\
+Objects which are used by proxy forwarding applications when translating traps
+between SNMP versions. These are used to preserve SNMPv1-specific information
+when translating to SNMPv2c or SNMPv3.
+""")
+
+
+snmpCommunityMIBCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 18, 2, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpCommunityMIBCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpCommunityMIBCompliance.setDescription("""\
+The compliance statement for SNMP engines which implement the SNMP-COMMUNITY-
+MIB.
+""")
+
+snmpProxyTrapForwardCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 18, 2, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpProxyTrapForwardCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpProxyTrapForwardCompliance.setDescription("""\
+The compliance statement for SNMP engines which contain a proxy forwarding
+application which is capable of forwarding SNMPv1 traps using SNMPv2c or
+SNMPv3.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-COMMUNITY-MIB",
+ **{"snmpCommunityMIB": snmpCommunityMIB,
+ "snmpCommunityMIBObjects": snmpCommunityMIBObjects,
+ "snmpCommunityTable": snmpCommunityTable,
+ "snmpCommunityEntry": snmpCommunityEntry,
+ "snmpCommunityIndex": snmpCommunityIndex,
+ "snmpCommunityName": snmpCommunityName,
+ "snmpCommunitySecurityName": snmpCommunitySecurityName,
+ "snmpCommunityContextEngineID": snmpCommunityContextEngineID,
+ "snmpCommunityContextName": snmpCommunityContextName,
+ "snmpCommunityTransportTag": snmpCommunityTransportTag,
+ "snmpCommunityStorageType": snmpCommunityStorageType,
+ "snmpCommunityStatus": snmpCommunityStatus,
+ "snmpTargetAddrExtTable": snmpTargetAddrExtTable,
+ "snmpTargetAddrExtEntry": snmpTargetAddrExtEntry,
+ "snmpTargetAddrTMask": snmpTargetAddrTMask,
+ "snmpTargetAddrMMS": snmpTargetAddrMMS,
+ "snmpTrapAddress": snmpTrapAddress,
+ "snmpTrapCommunity": snmpTrapCommunity,
+ "snmpCommunityMIBConformance": snmpCommunityMIBConformance,
+ "snmpCommunityMIBCompliances": snmpCommunityMIBCompliances,
+ "snmpCommunityMIBCompliance": snmpCommunityMIBCompliance,
+ "snmpProxyTrapForwardCompliance": snmpProxyTrapForwardCompliance,
+ "snmpCommunityMIBGroups": snmpCommunityMIBGroups,
+ "snmpCommunityGroup": snmpCommunityGroup,
+ "snmpProxyTrapForwardGroup": snmpProxyTrapForwardGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py b/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
index 704e4ef8..4bcb712e 100644
--- a/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
@@ -4,114 +4,569 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-FRAMEWORK-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-FRAMEWORK-MIB
-# Produced by pysmi-0.1.3 at Mon Apr 17 13:59:41 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 11:48:30 2019
+#
+# Parts of otherwise autogenerated MIB has been updated manually.
#
import os
import time
-OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueSizeConstraint, SingleValueConstraint, ValueRangeConstraint, ConstraintsUnion, ConstraintsIntersection = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueSizeConstraint", "SingleValueConstraint", "ValueRangeConstraint", "ConstraintsUnion", "ConstraintsIntersection")
-ObjectGroup, NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "ObjectGroup", "NotificationGroup", "ModuleCompliance")
-Gauge32, Unsigned32, MibIdentifier, ObjectIdentity, iso, Counter64, IpAddress, Counter32, ModuleIdentity, Bits, snmpModules, Integer32, MibScalar, MibTable, MibTableRow, MibTableColumn, TimeTicks, NotificationType = mibBuilder.importSymbols("SNMPv2-SMI", "Gauge32", "Unsigned32", "MibIdentifier", "ObjectIdentity", "iso", "Counter64", "IpAddress", "Counter32", "ModuleIdentity", "Bits", "snmpModules", "Integer32", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "TimeTicks", "NotificationType")
-DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
-snmpFrameworkMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 10))
-if mibBuilder.loadTexts: snmpFrameworkMIB.setRevisions(('2002-10-14 00:00', '1999-01-19 00:00', '1997-11-20 00:00',))
-if mibBuilder.loadTexts: snmpFrameworkMIB.setLastUpdated('200210140000Z')
-if mibBuilder.loadTexts: snmpFrameworkMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpFrameworkMIB.setContactInfo('WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com phone: +1 301-947-7107 Co-Chair & Co-editor: David Harrington Enterasys Networks postal: 35 Industrial Way P. O. Box 5005 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com phone: +1 603-337-2614 Co-editor: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, California 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408-546-1006 Co-editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten Netherlands EMail: bwijnen@lucent.com phone: +31 348-680-485 ')
-if mibBuilder.loadTexts: snmpFrameworkMIB.setDescription('The SNMP Management Architecture MIB Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3411; see the RFC itself for full legal notices. ')
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(NotificationGroup,
+ ObjectGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ObjectGroup",
+ "ModuleCompliance")
+
+(IpAddress,
+ Unsigned32,
+ Counter64,
+ ModuleIdentity,
+ TimeTicks,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ snmpModules,
+ Integer32,
+ NotificationType,
+ Gauge32,
+ iso,
+ MibIdentifier,
+ Bits,
+ Counter32,
+ ObjectIdentity) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "IpAddress",
+ "Unsigned32",
+ "Counter64",
+ "ModuleIdentity",
+ "TimeTicks",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "snmpModules",
+ "Integer32",
+ "NotificationType",
+ "Gauge32",
+ "iso",
+ "MibIdentifier",
+ "Bits",
+ "Counter32",
+ "ObjectIdentity")
+
+(TextualConvention,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString")
+
+
+snmpFrameworkMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 10)
+)
+snmpFrameworkMIB.setRevisions(
+ ("2002-10-14 00:00",
+ "1999-01-19 00:00",
+ "1997-11-20 00:00")
+)
+snmpFrameworkMIB.setLastUpdated("200210140000Z")
+if mibBuilder.loadTexts:
+ snmpFrameworkMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpFrameworkMIB.setContactInfo("""\
+WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
+Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive,
+Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com phone: +1
+301-947-7107 Co-Chair & Co-editor: David Harrington Enterasys Networks postal:
+35 Industrial Way P. O. Box 5005 Rochester, New Hampshire 03866-5005 USA EMail:
+dbh@enterasys.com phone: +1 603-337-2614 Co-editor: Randy Presuhn BMC Software,
+Inc. postal: 2141 North First Street San Jose, California 95131 USA EMail:
+randy_presuhn@bmc.com phone: +1 408-546-1006 Co-editor: Bert Wijnen Lucent
+Technologies postal: Schagen 33 3461 GL Linschoten Netherlands EMail:
+bwijnen@lucent.com phone: +31 348-680-485
+""")
+if mibBuilder.loadTexts:
+ snmpFrameworkMIB.setDescription("""\
+The SNMP Management Architecture MIB Copyright (C) The Internet Society (2002).
+This version of this MIB module is part of RFC 3411; see the RFC itself for
+full legal notices.
+""")
-#
-# WARNING: some of the classes below are manually implemented
-#
class SnmpAdminString(TextualConvention, OctetString):
- description = 'An octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. '
- status = 'current'
+ status = "current"
displayHint = "255t"
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+ An octet string containing administrative information, preferably in human-
+ readable form. To facilitate internationalization, this information is
+ represented using the ISO/IEC IS 10646-1 character set, encoded as an octet
+ string using the UTF-8 transformation format described in [RFC2279]. Since
+ additional code points are added by amendments to the 10646 standard from time
+ to time, implementations must be prepared to encounter any code point from
+ 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid
+ UTF-8 encoding of a code point or are outside this range are prohibited. The
+ use of control codes should be avoided. When it is necessary to represent a
+ newline, the control code sequence CR LF should be used. The use of leading or
+ trailing white space should be avoided. For code points not directly supported
+ by user interface hardware or software, an alternative means of entry and
+ display, such as hexadecimal, may be provided. For information encoded in 7-bit
+ US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may
+ require multiple bytes to represent a single character / code point; thus the
+ length of this object in octets may be different from the number of characters
+ encoded. Similarly, size constraints refer to the number of encoded octets, not
+ the number of characters represented by an encoding. Note that when this TC is
+ used for an object that is used or envisioned to be used as an index, then a
+ SIZE restriction MUST be specified so that the number of sub-identifiers for
+ any object instance does not exceed the limit of 128, as defined by [RFC3416].
+ Note that the size of an SnmpAdminString object is measured in octets, not
+ characters.
+ """
+
encoding = 'utf-8'
class SnmpEngineID(TextualConvention, OctetString):
- description = "An SNMP engine's administratively-unique identifier. Objects of this type are for identification, not for addressing, even though it is possible that an address may have been used in the generation of a specific value. The value for this object may not be all zeros or all 'ff'H or the empty (zero length) string. The initial value for this object may be configured via an operator console entry or via an algorithmic function. In the latter case, the following example algorithm is recommended. In cases where there are multiple engines on the same system, the use of this algorithm is NOT appropriate, as it would result in all of those engines ending up with the same ID value. 1) The very first bit is used to indicate how the rest of the data is composed. 0 - as defined by enterprise using former methods that existed before SNMPv3. See item 2 below. 1 - as defined by this architecture, see item 3 below. Note that this allows existing uses of the engineID (also known as AgentID [RFC1910]) to co-exist with any new uses. 2) The snmpEngineID has a length of 12 octets. The first four octets are set to the binary equivalent of the agent's SNMP management private enterprise number as assigned by the Internet Assigned Numbers Authority (IANA). For example, if Acme Networks has been assigned { enterprises 696 }, the first four octets would be assigned '000002b8'H. The remaining eight octets are determined via one or more enterprise-specific methods. Such methods must be designed so as to maximize the possibility that the value of this object will be unique in the agent's administrative domain. For example, it may be the IP address of the SNMP entity, or the MAC address of one of the interfaces, with each address suitably padded with random octets. If multiple methods are defined, then it is recommended that the first octet indicate the method being used and the remaining octets be a function of the method. 3) The length of the octet string varies. The first four octets are set to the binary equivalent of the agent's SNMP management private enterprise number as assigned by the Internet Assigned Numbers Authority (IANA). For example, if Acme Networks has been assigned { enterprises 696 }, the first four octets would be assigned '000002b8'H. The very first bit is set to 1. For example, the above value for Acme Networks now changes to be '800002b8'H. The fifth octet indicates how the rest (6th and following octets) are formatted. The values for the fifth octet are: 0 - reserved, unused. 1 - IPv4 address (4 octets) lowest non-special IP address 2 - IPv6 address (16 octets) lowest non-special IP address 3 - MAC address (6 octets) lowest IEEE MAC address, canonical order 4 - Text, administratively assigned Maximum remaining length 27 5 - Octets, administratively assigned Maximum remaining length 27 6-127 - reserved, unused 128-255 - as defined by the enterprise Maximum remaining length 27 "
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(5, 32)
+ status = "current"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(5, 32),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+ An SNMP engine's administratively-unique identifier. Objects of this type are
+ for identification, not for addressing, even though it is possible that an
+ address may have been used in the generation of a specific value. The value for
+ this object may not be all zeros or all 'ff'H or the empty (zero length)
+ string. The initial value for this object may be configured via an operator
+ console entry or via an algorithmic function. In the latter case, the following
+ example algorithm is recommended. In cases where there are multiple engines on
+ the same system, the use of this algorithm is NOT appropriate, as it would
+ result in all of those engines ending up with the same ID value. 1) The very
+ first bit is used to indicate how the rest of the data is composed. 0 - as
+ defined by enterprise using former methods that existed before SNMPv3. See item
+ 2 below. 1 - as defined by this architecture, see item 3 below. Note that this
+ allows existing uses of the engineID (also known as AgentID [RFC1910]) to co-
+ exist with any new uses. 2) The snmpEngineID has a length of 12 octets. The
+ first four octets are set to the binary equivalent of the agent's SNMP
+ management private enterprise number as assigned by the Internet Assigned
+ Numbers Authority (IANA). For example, if Acme Networks has been assigned {
+ enterprises 696 }, the first four octets would be assigned '000002b8'H. The
+ remaining eight octets are determined via one or more enterprise-specific
+ methods. Such methods must be designed so as to maximize the possibility that
+ the value of this object will be unique in the agent's administrative domain.
+ For example, it may be the IP address of the SNMP entity, or the MAC address of
+ one of the interfaces, with each address suitably padded with random octets. If
+ multiple methods are defined, then it is recommended that the first octet
+ indicate the method being used and the remaining octets be a function of the
+ method. 3) The length of the octet string varies. The first four octets are set
+ to the binary equivalent of the agent's SNMP management private enterprise
+ number as assigned by the Internet Assigned Numbers Authority (IANA). For
+ example, if Acme Networks has been assigned { enterprises 696 }, the first four
+ octets would be assigned '000002b8'H. The very first bit is set to 1. For
+ example, the above value for Acme Networks now changes to be '800002b8'H. The
+ fifth octet indicates how the rest (6th and following octets) are formatted.
+ The values for the fifth octet are: 0 - reserved, unused. 1 - IPv4 address (4
+ octets) lowest non-special IP address 2 - IPv6 address (16 octets) lowest non-
+ special IP address 3 - MAC address (6 octets) lowest IEEE MAC address,
+ canonical order 4 - Text, administratively assigned Maximum remaining length 27
+ 5 - Octets, administratively assigned Maximum remaining length 27 6-127 -
+ reserved, unused 128-255 - as defined by the enterprise Maximum remaining
+ length 27
+ """
defaultValue = [128, 0, 79, 184, 5]
+
try:
# Attempt to base engine ID on local system name and properties
defaultValue += [ord(x) for x in os.uname()[1][:16]]
+
except Exception:
pass
try:
# Attempt to base engine ID on PID
defaultValue += [os.getpid() >> 8 & 0xff, os.getpid() & 0xff]
+
except Exception:
pass
+
# add pseudo-random text ID
defaultValue += [id(defaultValue) >> 8 & 0xff, id(defaultValue) & 0xff]
defaultValue = OctetString(defaultValue).asOctets()
-class SnmpEngineTime(Integer32):
+class _SnmpEngineTime_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
+
def clone(self, *args, **kwargs):
if not args:
try:
args = (time.time() - self,)
+
except Exception:
pass
+
return Integer32.clone(self, *args, **kwargs)
-class SnmpSecurityModel(Integer32, TextualConvention):
- description = "An identifier that uniquely identifies a Security Model of the Security Subsystem within this SNMP Management Architecture. The values for securityModel are allocated as follows: - The zero value does not identify any particular security model. - Values between 1 and 255, inclusive, are reserved for standards-track Security Models and are managed by the Internet Assigned Numbers Authority (IANA). - Values greater than 255 are allocated to enterprise-specific Security Models. An enterprise-specific securityModel value is defined to be: enterpriseID * 256 + security model within enterprise For example, the fourth Security Model defined by the enterprise whose enterpriseID is 1 would be 259. This scheme for allocation of securityModel values allows for a maximum of 255 standards- based Security Models, and for a maximum of 256 Security Models per enterprise. It is believed that the assignment of new securityModel values will be rare in practice because the larger the number of simultaneously utilized Security Models, the larger the chance that interoperability will suffer. Consequently, it is believed that such a range will be sufficient. In the unlikely event that the standards committee finds this number to be insufficient over time, an enterprise number can be allocated to obtain an additional 256 possible values. Note that the most significant bit must be zero; hence, there are 23 bits allocated for various organizations to design and define non-standard securityModels. This limits the ability to define new proprietary implementations of Security Models to the first 8,388,608 enterprises. It is worthwhile to note that, in its encoded form, the securityModel value will normally require only a single byte since, in practice, the leftmost bits will be zero for most messages and sign extension is suppressed by the encoding rules. As of this writing, there are several values of securityModel defined for use with SNMP or reserved for use with supporting MIB objects. They are as follows: 0 reserved for 'any' 1 reserved for SNMPv1 2 reserved for SNMPv2c 3 User-Based Security Model (USM) "
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ValueRangeConstraint(0, 2147483647)
-
-
-class SnmpMessageProcessingModel(Integer32, TextualConvention):
- description = 'An identifier that uniquely identifies a Message Processing Model of the Message Processing Subsystem within this SNMP Management Architecture. The values for messageProcessingModel are allocated as follows: - Values between 0 and 255, inclusive, are reserved for standards-track Message Processing Models and are managed by the Internet Assigned Numbers Authority (IANA). - Values greater than 255 are allocated to enterprise-specific Message Processing Models. An enterprise messageProcessingModel value is defined to be: enterpriseID * 256 + messageProcessingModel within enterprise For example, the fourth Message Processing Model defined by the enterprise whose enterpriseID is 1 would be 259. This scheme for allocating messageProcessingModel values allows for a maximum of 255 standards- based Message Processing Models, and for a maximum of 256 Message Processing Models per enterprise. It is believed that the assignment of new messageProcessingModel values will be rare in practice because the larger the number of simultaneously utilized Message Processing Models, the larger the chance that interoperability will suffer. It is believed that such a range will be sufficient. In the unlikely event that the standards committee finds this number to be insufficient over time, an enterprise number can be allocated to obtain an additional 256 possible values. Note that the most significant bit must be zero; hence, there are 23 bits allocated for various organizations to design and define non-standard messageProcessingModels. This limits the ability to define new proprietary implementations of Message Processing Models to the first 8,388,608 enterprises. It is worthwhile to note that, in its encoded form, the messageProcessingModel value will normally require only a single byte since, in practice, the leftmost bits will be zero for most messages and sign extension is suppressed by the encoding rules. As of this writing, there are several values of messageProcessingModel defined for use with SNMP. They are as follows: 0 reserved for SNMPv1 1 reserved for SNMPv2c 2 reserved for SNMPv2u and SNMPv2* 3 reserved for SNMPv3 '
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ValueRangeConstraint(0, 2147483647)
-
-
-class SnmpSecurityLevel(Integer32, TextualConvention):
- description = 'A Level of Security at which SNMP messages can be sent or with which operations are being processed; in particular, one of: noAuthNoPriv - without authentication and without privacy, authNoPriv - with authentication but without privacy, authPriv - with authentication and with privacy. These three values are ordered such that noAuthNoPriv is less than authNoPriv and authNoPriv is less than authPriv. '
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + SingleValueConstraint(1, 2, 3, )
- namedValues = NamedValues(("noAuthNoPriv", 1), ("authNoPriv", 2), ("authPriv", 3), )
-
-snmpFrameworkAdmin = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 1))
-snmpFrameworkMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 2))
-snmpFrameworkMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 3))
-snmpEngine = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 2, 1))
-snmpEngineID = MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 1), SnmpEngineID()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpEngineID.setStatus('current')
-if mibBuilder.loadTexts: snmpEngineID.setDescription("An SNMP engine's administratively-unique identifier. This information SHOULD be stored in non-volatile storage so that it remains constant across re-initializations of the SNMP engine. ")
-snmpEngineBoots = MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 2), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpEngineBoots.setStatus('current')
-if mibBuilder.loadTexts: snmpEngineBoots.setDescription('The number of times that the SNMP engine has (re-)initialized itself since snmpEngineID was last configured. ')
-snmpEngineTime = MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 3), SnmpEngineTime().subtype(subtypeSpec=ValueRangeConstraint(0, 2147483647))).setUnits('seconds').setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpEngineTime.setStatus('current')
-if mibBuilder.loadTexts: snmpEngineTime.setDescription("The number of seconds since the value of the snmpEngineBoots object last changed. When incrementing this object's value would cause it to exceed its maximum, snmpEngineBoots is incremented as if a re-initialization had occurred, and this object's value consequently reverts to zero. ")
-snmpEngineMaxMessageSize = MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 4), Integer32().subtype(subtypeSpec=ValueRangeConstraint(484, 2147483647))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpEngineMaxMessageSize.setStatus('current')
-if mibBuilder.loadTexts: snmpEngineMaxMessageSize.setDescription('The maximum length in octets of an SNMP message which this SNMP engine can send or receive and process, determined as the minimum of the maximum message size values supported among all of the transports available to and supported by the engine. ')
-snmpAuthProtocols = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1))
-if mibBuilder.loadTexts: snmpAuthProtocols.setStatus('current')
-if mibBuilder.loadTexts: snmpAuthProtocols.setDescription('Registration point for standards-track authentication protocols used in SNMP Management Frameworks. ')
-snmpPrivProtocols = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 2))
-if mibBuilder.loadTexts: snmpPrivProtocols.setStatus('current')
-if mibBuilder.loadTexts: snmpPrivProtocols.setDescription('Registration point for standards-track privacy protocols used in SNMP Management Frameworks. ')
-snmpFrameworkMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 3, 1))
-snmpFrameworkMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 10, 3, 2))
-snmpFrameworkMIBCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 10, 3, 1, 1)).setObjects(("SNMP-FRAMEWORK-MIB", "snmpEngineGroup"))
-if mibBuilder.loadTexts: snmpFrameworkMIBCompliance.setDescription('The compliance statement for SNMP engines which implement the SNMP Management Framework MIB. ')
-snmpEngineGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 10, 3, 2, 1)).setObjects(("SNMP-FRAMEWORK-MIB", "snmpEngineID"), ("SNMP-FRAMEWORK-MIB", "snmpEngineBoots"), ("SNMP-FRAMEWORK-MIB", "snmpEngineTime"), ("SNMP-FRAMEWORK-MIB", "snmpEngineMaxMessageSize"))
-if mibBuilder.loadTexts: snmpEngineGroup.setDescription('A collection of objects for identifying and determining the configuration and current timeliness values of an SNMP engine. ')
-mibBuilder.exportSymbols("SNMP-FRAMEWORK-MIB", snmpFrameworkMIBConformance=snmpFrameworkMIBConformance, snmpFrameworkMIB=snmpFrameworkMIB, snmpFrameworkMIBGroups=snmpFrameworkMIBGroups, SnmpEngineID=SnmpEngineID, SnmpSecurityLevel=SnmpSecurityLevel, snmpEngineMaxMessageSize=snmpEngineMaxMessageSize, snmpFrameworkAdmin=snmpFrameworkAdmin, PYSNMP_MODULE_ID=snmpFrameworkMIB, snmpFrameworkMIBObjects=snmpFrameworkMIBObjects, snmpFrameworkMIBCompliances=snmpFrameworkMIBCompliances, snmpAuthProtocols=snmpAuthProtocols, snmpFrameworkMIBCompliance=snmpFrameworkMIBCompliance, snmpEngineTime=snmpEngineTime, snmpPrivProtocols=snmpPrivProtocols, SnmpMessageProcessingModel=SnmpMessageProcessingModel, snmpEngine=snmpEngine, SnmpSecurityModel=SnmpSecurityModel, snmpEngineGroup=snmpEngineGroup, snmpEngineBoots=snmpEngineBoots, SnmpAdminString=SnmpAdminString, snmpEngineID=snmpEngineID)
+_SnmpEngineTime_Type.__name__ = "Integer32"
+_SnmpEngineTime_Object = MibScalar
+snmpEngineTime = _SnmpEngineTime_Object(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1, 3),
+ _SnmpEngineTime_Type()
+)
+snmpEngineTime.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setUnits("seconds")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setDescription("""\
+The number of seconds since the value of the snmpEngineBoots object last
+changed. When incrementing this object's value would cause it to exceed its
+maximum, snmpEngineBoots is incremented as if a re-initialization had occurred,
+and this object's value consequently reverts to zero.
+""")
+
+
+class SnmpSecurityModel(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+An identifier that uniquely identifies a Security Model of the Security
+Subsystem within this SNMP Management Architecture. The values for
+securityModel are allocated as follows: - The zero value does not identify any
+particular security model. - Values between 1 and 255, inclusive, are reserved
+for standards-track Security Models and are managed by the Internet Assigned
+Numbers Authority (IANA). - Values greater than 255 are allocated to
+enterprise-specific Security Models. An enterprise-specific securityModel value
+is defined to be: enterpriseID * 256 + security model within enterprise For
+example, the fourth Security Model defined by the enterprise whose enterpriseID
+is 1 would be 259. This scheme for allocation of securityModel values allows
+for a maximum of 255 standards- based Security Models, and for a maximum of 256
+Security Models per enterprise. It is believed that the assignment of new
+securityModel values will be rare in practice because the larger the number of
+simultaneously utilized Security Models, the larger the chance that
+interoperability will suffer. Consequently, it is believed that such a range
+will be sufficient. In the unlikely event that the standards committee finds
+this number to be insufficient over time, an enterprise number can be allocated
+to obtain an additional 256 possible values. Note that the most significant bit
+must be zero; hence, there are 23 bits allocated for various organizations to
+design and define non-standard securityModels. This limits the ability to
+define new proprietary implementations of Security Models to the first
+8,388,608 enterprises. It is worthwhile to note that, in its encoded form, the
+securityModel value will normally require only a single byte since, in
+practice, the leftmost bits will be zero for most messages and sign extension
+is suppressed by the encoding rules. As of this writing, there are several
+values of securityModel defined for use with SNMP or reserved for use with
+supporting MIB objects. They are as follows: 0 reserved for 'any' 1 reserved
+for SNMPv1 2 reserved for SNMPv2c 3 User-Based Security Model (USM)
+"""
+
+
+class SnmpMessageProcessingModel(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+An identifier that uniquely identifies a Message Processing Model of the
+Message Processing Subsystem within this SNMP Management Architecture. The
+values for messageProcessingModel are allocated as follows: - Values between 0
+and 255, inclusive, are reserved for standards-track Message Processing Models
+and are managed by the Internet Assigned Numbers Authority (IANA). - Values
+greater than 255 are allocated to enterprise-specific Message Processing
+Models. An enterprise messageProcessingModel value is defined to be:
+enterpriseID * 256 + messageProcessingModel within enterprise For example, the
+fourth Message Processing Model defined by the enterprise whose enterpriseID is
+1 would be 259. This scheme for allocating messageProcessingModel values allows
+for a maximum of 255 standards- based Message Processing Models, and for a
+maximum of 256 Message Processing Models per enterprise. It is believed that
+the assignment of new messageProcessingModel values will be rare in practice
+because the larger the number of simultaneously utilized Message Processing
+Models, the larger the chance that interoperability will suffer. It is believed
+that such a range will be sufficient. In the unlikely event that the standards
+committee finds this number to be insufficient over time, an enterprise number
+can be allocated to obtain an additional 256 possible values. Note that the
+most significant bit must be zero; hence, there are 23 bits allocated for
+various organizations to design and define non-standard
+messageProcessingModels. This limits the ability to define new proprietary
+implementations of Message Processing Models to the first 8,388,608
+enterprises. It is worthwhile to note that, in its encoded form, the
+messageProcessingModel value will normally require only a single byte since, in
+practice, the leftmost bits will be zero for most messages and sign extension
+is suppressed by the encoding rules. As of this writing, there are several
+values of messageProcessingModel defined for use with SNMP. They are as
+follows: 0 reserved for SNMPv1 1 reserved for SNMPv2c 2 reserved for SNMPv2u
+and SNMPv2* 3 reserved for SNMPv3
+"""
+
+
+class SnmpSecurityLevel(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3)
+ )
+ )
+ namedValues = NamedValues(
+ *(("authNoPriv", 2),
+ ("authPriv", 3),
+ ("noAuthNoPriv", 1))
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+A Level of Security at which SNMP messages can be sent or with which operations
+are being processed; in particular, one of: noAuthNoPriv - without
+authentication and without privacy, authNoPriv - with authentication but
+without privacy, authPriv - with authentication and with privacy. These three
+values are ordered such that noAuthNoPriv is less than authNoPriv and
+authNoPriv is less than authPriv.
+"""
+
+
+_SnmpFrameworkAdmin_ObjectIdentity = ObjectIdentity
+snmpFrameworkAdmin = _SnmpFrameworkAdmin_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1)
+)
+_SnmpAuthProtocols_ObjectIdentity = ObjectIdentity
+snmpAuthProtocols = _SnmpAuthProtocols_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpAuthProtocols.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpAuthProtocols.setDescription("""\
+Registration point for standards-track authentication protocols used in SNMP
+Management Frameworks.
+""")
+_SnmpPrivProtocols_ObjectIdentity = ObjectIdentity
+snmpPrivProtocols = _SnmpPrivProtocols_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpPrivProtocols.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpPrivProtocols.setDescription("""\
+Registration point for standards-track privacy protocols used in SNMP
+Management Frameworks.
+""")
+_SnmpFrameworkMIBObjects_ObjectIdentity = ObjectIdentity
+snmpFrameworkMIBObjects = _SnmpFrameworkMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 2)
+)
+_SnmpEngine_ObjectIdentity = ObjectIdentity
+snmpEngine = _SnmpEngine_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1)
+)
+_SnmpEngineID_Type = SnmpEngineID
+_SnmpEngineID_Object = MibScalar
+snmpEngineID = _SnmpEngineID_Object(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1, 1),
+ _SnmpEngineID_Type()
+)
+snmpEngineID.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpEngineID.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineID.setDescription("""\
+An SNMP engine's administratively-unique identifier. This information SHOULD be
+stored in non-volatile storage so that it remains constant across re-
+initializations of the SNMP engine.
+""")
+
+
+class _SnmpEngineBoots_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(1, 2147483647),
+ )
+
+
+_SnmpEngineBoots_Type.__name__ = "Integer32"
+_SnmpEngineBoots_Object = MibScalar
+snmpEngineBoots = _SnmpEngineBoots_Object(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1, 2),
+ _SnmpEngineBoots_Type()
+)
+snmpEngineBoots.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpEngineBoots.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineBoots.setDescription("""\
+The number of times that the SNMP engine has (re-)initialized itself since
+snmpEngineID was last configured.
+""")
+
+
+class _SnmpEngineTime_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
+
+
+_SnmpEngineTime_Type.__name__ = "Integer32"
+_SnmpEngineTime_Object = MibScalar
+snmpEngineTime = _SnmpEngineTime_Object(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1, 3),
+ _SnmpEngineTime_Type()
+)
+snmpEngineTime.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setUnits("seconds")
+if mibBuilder.loadTexts:
+ snmpEngineTime.setDescription("""\
+The number of seconds since the value of the snmpEngineBoots object last
+changed. When incrementing this object's value would cause it to exceed its
+maximum, snmpEngineBoots is incremented as if a re-initialization had occurred,
+and this object's value consequently reverts to zero.
+""")
+
+
+class _SnmpEngineMaxMessageSize_Type(Integer32):
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(484, 2147483647),
+ )
+
+
+_SnmpEngineMaxMessageSize_Type.__name__ = "Integer32"
+_SnmpEngineMaxMessageSize_Object = MibScalar
+snmpEngineMaxMessageSize = _SnmpEngineMaxMessageSize_Object(
+ (1, 3, 6, 1, 6, 3, 10, 2, 1, 4),
+ _SnmpEngineMaxMessageSize_Type()
+)
+snmpEngineMaxMessageSize.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpEngineMaxMessageSize.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineMaxMessageSize.setDescription("""\
+The maximum length in octets of an SNMP message which this SNMP engine can send
+or receive and process, determined as the minimum of the maximum message size
+values supported among all of the transports available to and supported by the
+engine.
+""")
+_SnmpFrameworkMIBConformance_ObjectIdentity = ObjectIdentity
+snmpFrameworkMIBConformance = _SnmpFrameworkMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 3)
+)
+_SnmpFrameworkMIBCompliances_ObjectIdentity = ObjectIdentity
+snmpFrameworkMIBCompliances = _SnmpFrameworkMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 3, 1)
+)
+_SnmpFrameworkMIBGroups_ObjectIdentity = ObjectIdentity
+snmpFrameworkMIBGroups = _SnmpFrameworkMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 3, 2)
+)
+
+snmpEngineGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 10, 3, 2, 1)
+)
+snmpEngineGroup.setObjects(
+ *(("SNMP-FRAMEWORK-MIB", "snmpEngineID"),
+ ("SNMP-FRAMEWORK-MIB", "snmpEngineBoots"),
+ ("SNMP-FRAMEWORK-MIB", "snmpEngineTime"),
+ ("SNMP-FRAMEWORK-MIB", "snmpEngineMaxMessageSize"))
+)
+if mibBuilder.loadTexts:
+ snmpEngineGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEngineGroup.setDescription("""\
+A collection of objects for identifying and determining the configuration and
+current timeliness values of an SNMP engine.
+""")
+
+snmpFrameworkMIBCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 10, 3, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpFrameworkMIBCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpFrameworkMIBCompliance.setDescription("""\
+The compliance statement for SNMP engines which implement the SNMP Management
+Framework MIB.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ **{"SnmpEngineID": SnmpEngineID,
+ "SnmpSecurityModel": SnmpSecurityModel,
+ "SnmpMessageProcessingModel": SnmpMessageProcessingModel,
+ "SnmpSecurityLevel": SnmpSecurityLevel,
+ "SnmpAdminString": SnmpAdminString,
+ "snmpFrameworkMIB": snmpFrameworkMIB,
+ "snmpFrameworkAdmin": snmpFrameworkAdmin,
+ "snmpAuthProtocols": snmpAuthProtocols,
+ "snmpPrivProtocols": snmpPrivProtocols,
+ "snmpFrameworkMIBObjects": snmpFrameworkMIBObjects,
+ "snmpEngine": snmpEngine,
+ "snmpEngineID": snmpEngineID,
+ "snmpEngineBoots": snmpEngineBoots,
+ "snmpEngineTime": snmpEngineTime,
+ "snmpEngineMaxMessageSize": snmpEngineMaxMessageSize,
+ "snmpFrameworkMIBConformance": snmpFrameworkMIBConformance,
+ "snmpFrameworkMIBCompliances": snmpFrameworkMIBCompliances,
+ "snmpFrameworkMIBCompliance": snmpFrameworkMIBCompliance,
+ "snmpFrameworkMIBGroups": snmpFrameworkMIBGroups,
+ "snmpEngineGroup": snmpEngineGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-MPD-MIB.py b/pysnmp/smi/mibs/SNMP-MPD-MIB.py
index 14798100..c4418a2d 100644
--- a/pysnmp/smi/mibs/SNMP-MPD-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-MPD-MIB.py
@@ -4,42 +4,238 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-#
-# PySNMP MIB module SNMP-MPD-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-MPD-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:17:00 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 12:09:00 2019
#
-OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ConstraintsUnion, ValueSizeConstraint, ValueRangeConstraint, ConstraintsIntersection = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ConstraintsUnion", "ValueSizeConstraint", "ValueRangeConstraint", "ConstraintsIntersection")
-NotificationGroup, ModuleCompliance, ObjectGroup = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance", "ObjectGroup")
-iso, Counter32, Unsigned32, Gauge32, MibIdentifier, TimeTicks, NotificationType, ObjectIdentity, Bits, ModuleIdentity, MibScalar, MibTable, MibTableRow, MibTableColumn, Integer32, Counter64, IpAddress, snmpModules = mibBuilder.importSymbols("SNMPv2-SMI", "iso", "Counter32", "Unsigned32", "Gauge32", "MibIdentifier", "TimeTicks", "NotificationType", "ObjectIdentity", "Bits", "ModuleIdentity", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Integer32", "Counter64", "IpAddress", "snmpModules")
-DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
-snmpMPDMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 11))
-if mibBuilder.loadTexts: snmpMPDMIB.setRevisions(('1999-05-04 16:36', '1997-09-30 00:00',))
-if mibBuilder.loadTexts: snmpMPDMIB.setLastUpdated('9905041636Z')
-if mibBuilder.loadTexts: snmpMPDMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpMPDMIB.setContactInfo('WG-EMail: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3 Chair: Russ Mundy TIS Labs at Network Associates postal: 3060 Washington Road Glenwood, MD 21738 USA EMail: mundy@tislabs.com phone: +1 301-854-6889 Co-editor: Jeffrey Case SNMP Research, Inc. postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA EMail: case@snmp.com phone: +1 423-573-1434 Co-editor Dave Harrington Cabletron Systems, Inc. postal: Post Office Box 5005 MailStop: Durham 35 Industrial Way Rochester, NH 03867-5005 USA EMail: dbh@ctron.com phone: +1 603-337-7357 Co-editor: Randy Presuhn BMC Software, Inc. postal: 965 Stewart Drive Sunnyvale, CA 94086 USA EMail: randy_presuhn@bmc.com phone: +1 408-616-3100 Co-editor: Bert Wijnen IBM T. J. Watson Research postal: Schagen 33 3461 GL Linschoten Netherlands EMail: wijnen@vnet.ibm.com phone: +31 348-432-794 ')
-if mibBuilder.loadTexts: snmpMPDMIB.setDescription('The MIB for Message Processing and Dispatching')
-snmpMPDAdmin = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 1))
-snmpMPDMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 2))
-snmpMPDMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 3))
-snmpMPDStats = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 2, 1))
-snmpUnknownSecurityModels = MibScalar((1, 3, 6, 1, 6, 3, 11, 2, 1, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpUnknownSecurityModels.setStatus('current')
-if mibBuilder.loadTexts: snmpUnknownSecurityModels.setDescription('The total number of packets received by the SNMP engine which were dropped because they referenced a securityModel that was not known to or supported by the SNMP engine. ')
-snmpInvalidMsgs = MibScalar((1, 3, 6, 1, 6, 3, 11, 2, 1, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInvalidMsgs.setStatus('current')
-if mibBuilder.loadTexts: snmpInvalidMsgs.setDescription('The total number of packets received by the SNMP engine which were dropped because there were invalid or inconsistent components in the SNMP message. ')
-snmpUnknownPDUHandlers = MibScalar((1, 3, 6, 1, 6, 3, 11, 2, 1, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpUnknownPDUHandlers.setStatus('current')
-if mibBuilder.loadTexts: snmpUnknownPDUHandlers.setDescription('The total number of packets received by the SNMP engine which were dropped because the PDU contained in the packet could not be passed to an application responsible for handling the pduType, e.g. no SNMP application had registered for the proper combination of the contextEngineID and the pduType. ')
-snmpMPDMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 3, 1))
-snmpMPDMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 11, 3, 2))
-snmpMPDCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 11, 3, 1, 1)).setObjects(("SNMP-MPD-MIB", "snmpMPDGroup"))
-if mibBuilder.loadTexts: snmpMPDCompliance.setDescription('The compliance statement for SNMP entities which implement the SNMP-MPD-MIB. ')
-snmpMPDGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 11, 3, 2, 1)).setObjects(("SNMP-MPD-MIB", "snmpUnknownSecurityModels"), ("SNMP-MPD-MIB", "snmpInvalidMsgs"), ("SNMP-MPD-MIB", "snmpUnknownPDUHandlers"))
-if mibBuilder.loadTexts: snmpMPDGroup.setDescription('A collection of objects providing for remote monitoring of the SNMP Message Processing and Dispatching process. ')
-mibBuilder.exportSymbols("SNMP-MPD-MIB", snmpMPDMIBGroups=snmpMPDMIBGroups, PYSNMP_MODULE_ID=snmpMPDMIB, snmpMPDMIBConformance=snmpMPDMIBConformance, snmpMPDMIBCompliances=snmpMPDMIBCompliances, snmpUnknownPDUHandlers=snmpUnknownPDUHandlers, snmpMPDGroup=snmpMPDGroup, snmpMPDMIB=snmpMPDMIB, snmpInvalidMsgs=snmpInvalidMsgs, snmpMPDCompliance=snmpMPDCompliance, snmpMPDMIBObjects=snmpMPDMIBObjects, snmpMPDAdmin=snmpMPDAdmin, snmpMPDStats=snmpMPDStats, snmpUnknownSecurityModels=snmpUnknownSecurityModels)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+# Import SMI symbols from the MIBs this MIB depends on
+
+(ObjectGroup,
+ ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ObjectGroup",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(ObjectIdentity,
+ Unsigned32,
+ snmpModules,
+ Bits,
+ MibIdentifier,
+ Counter32,
+ IpAddress,
+ Gauge32,
+ ModuleIdentity,
+ Integer32,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ NotificationType,
+ iso,
+ TimeTicks,
+ Counter64) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "ObjectIdentity",
+ "Unsigned32",
+ "snmpModules",
+ "Bits",
+ "MibIdentifier",
+ "Counter32",
+ "IpAddress",
+ "Gauge32",
+ "ModuleIdentity",
+ "Integer32",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "NotificationType",
+ "iso",
+ "TimeTicks",
+ "Counter64")
+
+(TextualConvention,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString")
+
+snmpMPDMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 11)
+)
+snmpMPDMIB.setRevisions(
+ ("2002-10-14 00:00",
+ "1999-05-04 16:36",
+ "1997-09-30 00:00")
+)
+snmpMPDMIB.setLastUpdated("200210140000Z")
+if mibBuilder.loadTexts:
+ snmpMPDMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpMPDMIB.setContactInfo("""\
+WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
+Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive,
+Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com phone: +1
+301-947-7107 Co-Chair & Co-editor: David Harrington Enterasys Networks postal:
+35 Industrial Way P. O. Box 5005 Rochester NH 03866-5005 USA EMail:
+dbh@enterasys.com phone: +1 603-337-2614 Co-editor: Jeffrey Case SNMP Research,
+Inc. postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA EMail:
+case@snmp.com phone: +1 423-573-1434 Co-editor: Randy Presuhn BMC Software,
+Inc. postal: 2141 North First Street San Jose, CA 95131 USA EMail:
+randy_presuhn@bmc.com phone: +1 408-546-1006 Co-editor: Bert Wijnen Lucent
+Technologies postal: Schagen 33 3461 GL Linschoten Netherlands EMail:
+bwijnen@lucent.com phone: +31 348-680-485
+""")
+if mibBuilder.loadTexts:
+ snmpMPDMIB.setDescription("""\
+The MIB for Message Processing and Dispatching Copyright (C) The Internet
+Society (2002). This version of this MIB module is part of RFC 3412; see the
+RFC itself for full legal notices.
+""")
+
+_SnmpMPDAdmin_ObjectIdentity = ObjectIdentity
+snmpMPDAdmin = _SnmpMPDAdmin_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 1)
+)
+_SnmpMPDMIBObjects_ObjectIdentity = ObjectIdentity
+snmpMPDMIBObjects = _SnmpMPDMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 2)
+)
+_SnmpMPDStats_ObjectIdentity = ObjectIdentity
+snmpMPDStats = _SnmpMPDStats_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 2, 1)
+)
+_SnmpUnknownSecurityModels_Type = Counter32
+_SnmpUnknownSecurityModels_Object = MibScalar
+snmpUnknownSecurityModels = _SnmpUnknownSecurityModels_Object(
+ (1, 3, 6, 1, 6, 3, 11, 2, 1, 1),
+ _SnmpUnknownSecurityModels_Type()
+)
+snmpUnknownSecurityModels.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpUnknownSecurityModels.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpUnknownSecurityModels.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they referenced a securityModel that was not known to or supported by
+the SNMP engine.
+""")
+_SnmpInvalidMsgs_Type = Counter32
+_SnmpInvalidMsgs_Object = MibScalar
+snmpInvalidMsgs = _SnmpInvalidMsgs_Object(
+ (1, 3, 6, 1, 6, 3, 11, 2, 1, 2),
+ _SnmpInvalidMsgs_Type()
+)
+snmpInvalidMsgs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInvalidMsgs.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInvalidMsgs.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because there were invalid or inconsistent components in the SNMP message.
+""")
+_SnmpUnknownPDUHandlers_Type = Counter32
+_SnmpUnknownPDUHandlers_Object = MibScalar
+snmpUnknownPDUHandlers = _SnmpUnknownPDUHandlers_Object(
+ (1, 3, 6, 1, 6, 3, 11, 2, 1, 3),
+ _SnmpUnknownPDUHandlers_Type()
+)
+snmpUnknownPDUHandlers.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpUnknownPDUHandlers.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpUnknownPDUHandlers.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because the PDU contained in the packet could not be passed to an application
+responsible for handling the pduType, e.g. no SNMP application had registered
+for the proper combination of the contextEngineID and the pduType.
+""")
+_SnmpMPDMIBConformance_ObjectIdentity = ObjectIdentity
+snmpMPDMIBConformance = _SnmpMPDMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 3)
+)
+_SnmpMPDMIBCompliances_ObjectIdentity = ObjectIdentity
+snmpMPDMIBCompliances = _SnmpMPDMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 3, 1)
+)
+_SnmpMPDMIBGroups_ObjectIdentity = ObjectIdentity
+snmpMPDMIBGroups = _SnmpMPDMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 11, 3, 2)
+)
+
+snmpMPDGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 11, 3, 2, 1)
+)
+snmpMPDGroup.setObjects(
+ *(("SNMP-MPD-MIB", "snmpUnknownSecurityModels"),
+ ("SNMP-MPD-MIB", "snmpInvalidMsgs"),
+ ("SNMP-MPD-MIB", "snmpUnknownPDUHandlers"))
+)
+if mibBuilder.loadTexts:
+ snmpMPDGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpMPDGroup.setDescription("""\
+A collection of objects providing for remote monitoring of the SNMP Message
+Processing and Dispatching process.
+""")
+
+
+snmpMPDCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 11, 3, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpMPDCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpMPDCompliance.setDescription("""\
+The compliance statement for SNMP entities which implement the SNMP-MPD-MIB.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-MPD-MIB",
+ **{"snmpMPDMIB": snmpMPDMIB,
+ "snmpMPDAdmin": snmpMPDAdmin,
+ "snmpMPDMIBObjects": snmpMPDMIBObjects,
+ "snmpMPDStats": snmpMPDStats,
+ "snmpUnknownSecurityModels": snmpUnknownSecurityModels,
+ "snmpInvalidMsgs": snmpInvalidMsgs,
+ "snmpUnknownPDUHandlers": snmpUnknownPDUHandlers,
+ "snmpMPDMIBConformance": snmpMPDMIBConformance,
+ "snmpMPDMIBCompliances": snmpMPDMIBCompliances,
+ "snmpMPDCompliance": snmpMPDCompliance,
+ "snmpMPDMIBGroups": snmpMPDMIBGroups,
+ "snmpMPDGroup": snmpMPDGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-NOTIFICATION-MIB.py b/pysnmp/smi/mibs/SNMP-NOTIFICATION-MIB.py
index 87b110c5..a0d39a27 100644
--- a/pysnmp/smi/mibs/SNMP-NOTIFICATION-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-NOTIFICATION-MIB.py
@@ -4,95 +4,654 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-NOTIFICATION-MIB (http://snmplabs.com/pysnmp)
-# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-NOTIFICATION-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:41:37 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# ASN.1 source file:///usr/share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt
+# Produced by pysmi-0.4.0 at Sat Feb 16 12:12:15 2019
#
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueRangeConstraint, ConstraintsIntersection, SingleValueConstraint, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ConstraintsIntersection", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsUnion")
-SnmpAdminString, = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString")
-snmpTargetParamsName, SnmpTagValue = mibBuilder.importSymbols("SNMP-TARGET-MIB", "snmpTargetParamsName", "SnmpTagValue")
-NotificationGroup, ObjectGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ObjectGroup", "ModuleCompliance")
-TimeTicks, IpAddress, Integer32, snmpModules, MibScalar, MibTable, MibTableRow, MibTableColumn, Bits, Counter32, Gauge32, Unsigned32, MibIdentifier, iso, ModuleIdentity, ObjectIdentity, NotificationType, Counter64 = mibBuilder.importSymbols("SNMPv2-SMI", "TimeTicks", "IpAddress", "Integer32", "snmpModules", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Bits", "Counter32", "Gauge32", "Unsigned32", "MibIdentifier", "iso", "ModuleIdentity", "ObjectIdentity", "NotificationType", "Counter64")
-DisplayString, TextualConvention, RowStatus, StorageType = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention", "RowStatus", "StorageType")
-snmpNotificationMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 13))
-if mibBuilder.loadTexts: snmpNotificationMIB.setRevisions(('2002-10-14 00:00', '1998-08-04 00:00', '1997-07-14 00:00',))
-if mibBuilder.loadTexts: snmpNotificationMIB.setLastUpdated('200210140000Z')
-if mibBuilder.loadTexts: snmpNotificationMIB.setOrganization('IETF SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpNotificationMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com Phone: +1 301-947-7107 Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592 Co-editor: Bob Stewart Retired')
-if mibBuilder.loadTexts: snmpNotificationMIB.setDescription('This MIB module defines MIB objects which provide mechanisms to remotely configure the parameters used by an SNMP entity for the generation of notifications. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3413; see the RFC itself for full legal notices. ')
-snmpNotifyObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 13, 1))
-snmpNotifyConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 13, 3))
-snmpNotifyTable = MibTable((1, 3, 6, 1, 6, 3, 13, 1, 1), )
-if mibBuilder.loadTexts: snmpNotifyTable.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyTable.setDescription('This table is used to select management targets which should receive notifications, as well as the type of notification which should be sent to each selected management target.')
-snmpNotifyEntry = MibTableRow((1, 3, 6, 1, 6, 3, 13, 1, 1, 1), ).setIndexNames((1, "SNMP-NOTIFICATION-MIB", "snmpNotifyName"))
-if mibBuilder.loadTexts: snmpNotifyEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyEntry.setDescription('An entry in this table selects a set of management targets which should receive notifications, as well as the type of notification which should be sent to each selected management target. Entries in the snmpNotifyTable are created and deleted using the snmpNotifyRowStatus object.')
-snmpNotifyName = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: snmpNotifyName.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyName.setDescription('The locally arbitrary, but unique identifier associated with this snmpNotifyEntry.')
-snmpNotifyTag = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 2), SnmpTagValue()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyTag.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyTag.setDescription('This object contains a single tag value which is used to select entries in the snmpTargetAddrTable. Any entry in the snmpTargetAddrTable which contains a tag value which is equal to the value of an instance of this object is selected. If this object contains a value of zero length, no entries are selected.')
-snmpNotifyType = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 3), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("trap", 1), ("inform", 2))).clone('trap')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyType.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyType.setDescription('This object determines the type of notification to be generated for entries in the snmpTargetAddrTable selected by the corresponding instance of snmpNotifyTag. This value is only used when generating notifications, and is ignored when using the snmpTargetAddrTable for other purposes. If the value of this object is trap(1), then any messages generated for selected rows will contain Unconfirmed-Class PDUs. If the value of this object is inform(2), then any messages generated for selected rows will contain Confirmed-Class PDUs. Note that if an SNMP entity only supports generation of Unconfirmed-Class PDUs (and not Confirmed-Class PDUs), then this object may be read-only.')
-snmpNotifyStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 4), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row.")
-snmpNotifyRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 5), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyRowStatus.setDescription('The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).')
-snmpNotifyFilterProfileTable = MibTable((1, 3, 6, 1, 6, 3, 13, 1, 2), )
-if mibBuilder.loadTexts: snmpNotifyFilterProfileTable.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterProfileTable.setDescription('This table is used to associate a notification filter profile with a particular set of target parameters.')
-snmpNotifyFilterProfileEntry = MibTableRow((1, 3, 6, 1, 6, 3, 13, 1, 2, 1), ).setIndexNames((1, "SNMP-TARGET-MIB", "snmpTargetParamsName"))
-if mibBuilder.loadTexts: snmpNotifyFilterProfileEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterProfileEntry.setDescription('An entry in this table indicates the name of the filter profile to be used when generating notifications using the corresponding entry in the snmpTargetParamsTable. Entries in the snmpNotifyFilterProfileTable are created and deleted using the snmpNotifyFilterProfileRowStatus object.')
-snmpNotifyFilterProfileName = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterProfileName.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterProfileName.setDescription('The name of the filter profile to be used when generating notifications using the corresponding entry in the snmpTargetAddrTable.')
-snmpNotifyFilterProfileStorType = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 2), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterProfileStorType.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterProfileStorType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row.")
-snmpNotifyFilterProfileRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 3), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterProfileRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterProfileRowStatus.setDescription("The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5). Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpNotifyFilterProfileRowStatus column is 'notReady'. In particular, a newly created row cannot be made active until the corresponding instance of snmpNotifyFilterProfileName has been set.")
-snmpNotifyFilterTable = MibTable((1, 3, 6, 1, 6, 3, 13, 1, 3), )
-if mibBuilder.loadTexts: snmpNotifyFilterTable.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterTable.setDescription('The table of filter profiles. Filter profiles are used to determine whether particular management targets should receive particular notifications. When a notification is generated, it must be compared with the filters associated with each management target which is configured to receive notifications, in order to determine whether it may be sent to each such management target. A more complete discussion of notification filtering can be found in section 6. of [SNMP-APPL].')
-snmpNotifyFilterEntry = MibTableRow((1, 3, 6, 1, 6, 3, 13, 1, 3, 1), ).setIndexNames((0, "SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileName"), (1, "SNMP-NOTIFICATION-MIB", "snmpNotifyFilterSubtree"))
-if mibBuilder.loadTexts: snmpNotifyFilterEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterEntry.setDescription('An element of a filter profile. Entries in the snmpNotifyFilterTable are created and deleted using the snmpNotifyFilterRowStatus object.')
-snmpNotifyFilterSubtree = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 1), ObjectIdentifier())
-if mibBuilder.loadTexts: snmpNotifyFilterSubtree.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterSubtree.setDescription('The MIB subtree which, when combined with the corresponding instance of snmpNotifyFilterMask, defines a family of subtrees which are included in or excluded from the filter profile.')
-snmpNotifyFilterMask = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 2), OctetString().subtype(subtypeSpec=ValueSizeConstraint(0, 16)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterMask.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterMask.setDescription("The bit mask which, in combination with the corresponding instance of snmpNotifyFilterSubtree, defines a family of subtrees which are included in or excluded from the filter profile. Each bit of this bit mask corresponds to a sub-identifier of snmpNotifyFilterSubtree, with the most significant bit of the i-th octet of this octet string value (extended if necessary, see below) corresponding to the (8*i - 7)-th sub-identifier, and the least significant bit of the i-th octet of this octet string corresponding to the (8*i)-th sub-identifier, where i is in the range 1 through 16. Each bit of this bit mask specifies whether or not the corresponding sub-identifiers must match when determining if an OBJECT IDENTIFIER matches this family of filter subtrees; a '1' indicates that an exact match must occur; a '0' indicates 'wild card', i.e., any sub-identifier value matches. Thus, the OBJECT IDENTIFIER X of an object instance is contained in a family of filter subtrees if, for each sub-identifier of the value of snmpNotifyFilterSubtree, either: the i-th bit of snmpNotifyFilterMask is 0, or the i-th sub-identifier of X is equal to the i-th sub-identifier of the value of snmpNotifyFilterSubtree. If the value of this bit mask is M bits long and there are more than M sub-identifiers in the corresponding instance of snmpNotifyFilterSubtree, then the bit mask is extended with 1's to be the required length. Note that when the value of this object is the zero-length string, this extension rule results in a mask of all-1's being used (i.e., no 'wild card'), and the family of filter subtrees is the one subtree uniquely identified by the corresponding instance of snmpNotifyFilterSubtree.")
-snmpNotifyFilterType = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 3), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("included", 1), ("excluded", 2))).clone('included')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterType.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterType.setDescription('This object indicates whether the family of filter subtrees defined by this entry are included in or excluded from a filter. A more detailed discussion of the use of this object can be found in section 6. of [SNMP-APPL].')
-snmpNotifyFilterStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 4), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row.")
-snmpNotifyFilterRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 5), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpNotifyFilterRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpNotifyFilterRowStatus.setDescription('The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).')
-snmpNotifyCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 13, 3, 1))
-snmpNotifyGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 13, 3, 2))
-snmpNotifyBasicCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 13, 3, 1, 1)).setObjects(("SNMP-TARGET-MIB", "snmpTargetBasicGroup"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyGroup"))
-if mibBuilder.loadTexts: snmpNotifyBasicCompliance.setDescription('The compliance statement for minimal SNMP entities which implement only SNMP Unconfirmed-Class notifications and read-create operations on only the snmpTargetAddrTable.')
-snmpNotifyBasicFiltersCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 13, 3, 1, 2)).setObjects(("SNMP-TARGET-MIB", "snmpTargetBasicGroup"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyGroup"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterGroup"))
-if mibBuilder.loadTexts: snmpNotifyBasicFiltersCompliance.setDescription('The compliance statement for SNMP entities which implement SNMP Unconfirmed-Class notifications with filtering, and read-create operations on all related tables.')
-snmpNotifyFullCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 13, 3, 1, 3)).setObjects(("SNMP-TARGET-MIB", "snmpTargetBasicGroup"), ("SNMP-TARGET-MIB", "snmpTargetResponseGroup"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyGroup"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterGroup"))
-if mibBuilder.loadTexts: snmpNotifyFullCompliance.setDescription('The compliance statement for SNMP entities which either implement only SNMP Confirmed-Class notifications, or both SNMP Unconfirmed-Class and Confirmed-Class notifications, plus filtering and read-create operations on all related tables.')
-snmpNotifyGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 13, 3, 2, 1)).setObjects(("SNMP-NOTIFICATION-MIB", "snmpNotifyTag"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyType"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyStorageType"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyRowStatus"))
-if mibBuilder.loadTexts: snmpNotifyGroup.setDescription('A collection of objects for selecting which management targets are used for generating notifications, and the type of notification to be generated for each selected management target.')
-snmpNotifyFilterGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 13, 3, 2, 2)).setObjects(("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileName"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileStorType"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileRowStatus"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterMask"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterType"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterStorageType"), ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterRowStatus"))
-if mibBuilder.loadTexts: snmpNotifyFilterGroup.setDescription('A collection of objects providing remote configuration of notification filters.')
-mibBuilder.exportSymbols("SNMP-NOTIFICATION-MIB", PYSNMP_MODULE_ID=snmpNotificationMIB, snmpNotifyFilterProfileTable=snmpNotifyFilterProfileTable, snmpNotifyTag=snmpNotifyTag, snmpNotifyGroup=snmpNotifyGroup, snmpNotifyFilterProfileRowStatus=snmpNotifyFilterProfileRowStatus, snmpNotifyRowStatus=snmpNotifyRowStatus, snmpNotifyCompliances=snmpNotifyCompliances, snmpNotifyTable=snmpNotifyTable, snmpNotifyType=snmpNotifyType, snmpNotifyStorageType=snmpNotifyStorageType, snmpNotifyConformance=snmpNotifyConformance, snmpNotifyFilterMask=snmpNotifyFilterMask, snmpNotifyFilterProfileName=snmpNotifyFilterProfileName, snmpNotifyEntry=snmpNotifyEntry, snmpNotifyFullCompliance=snmpNotifyFullCompliance, snmpNotifyObjects=snmpNotifyObjects, snmpNotifyFilterEntry=snmpNotifyFilterEntry, snmpNotificationMIB=snmpNotificationMIB, snmpNotifyFilterRowStatus=snmpNotifyFilterRowStatus, snmpNotifyBasicFiltersCompliance=snmpNotifyBasicFiltersCompliance, snmpNotifyFilterGroup=snmpNotifyFilterGroup, snmpNotifyFilterProfileEntry=snmpNotifyFilterProfileEntry, snmpNotifyFilterTable=snmpNotifyFilterTable, snmpNotifyFilterSubtree=snmpNotifyFilterSubtree, snmpNotifyBasicCompliance=snmpNotifyBasicCompliance, snmpNotifyFilterStorageType=snmpNotifyFilterStorageType, snmpNotifyGroups=snmpNotifyGroups, snmpNotifyName=snmpNotifyName, snmpNotifyFilterProfileStorType=snmpNotifyFilterProfileStorType, snmpNotifyFilterType=snmpNotifyFilterType)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(SnmpAdminString,) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpAdminString")
+
+(SnmpTagValue,
+ snmpTargetParamsName) = mibBuilder.importSymbols(
+ "SNMP-TARGET-MIB",
+ "SnmpTagValue",
+ "snmpTargetParamsName")
+
+(ModuleCompliance,
+ ObjectGroup,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "ObjectGroup",
+ "NotificationGroup")
+
+(ModuleIdentity,
+ iso,
+ Counter64,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Gauge32,
+ NotificationType,
+ Bits,
+ snmpModules,
+ IpAddress,
+ Integer32,
+ ObjectIdentity,
+ Unsigned32,
+ MibIdentifier,
+ Counter32,
+ TimeTicks) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "ModuleIdentity",
+ "iso",
+ "Counter64",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Gauge32",
+ "NotificationType",
+ "Bits",
+ "snmpModules",
+ "IpAddress",
+ "Integer32",
+ "ObjectIdentity",
+ "Unsigned32",
+ "MibIdentifier",
+ "Counter32",
+ "TimeTicks")
+
+(RowStatus,
+ DisplayString,
+ TextualConvention,
+ StorageType) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "RowStatus",
+ "DisplayString",
+ "TextualConvention",
+ "StorageType")
+
+snmpNotificationMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 13)
+)
+snmpNotificationMIB.setRevisions(
+ ("2002-10-14 00:00",
+ "1998-08-04 00:00",
+ "1997-07-14 00:00")
+)
+snmpNotificationMIB.setLastUpdated("200210140000Z")
+if mibBuilder.loadTexts:
+ snmpNotificationMIB.setOrganization("""\
+IETF SNMPv3 Working Group
+""")
+snmpNotificationMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates
+Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
+EMail: mundy@tislabs.com Phone: +1 301-947-7107 Co-Chair: David Harrington
+Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New
+Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-
+editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville,
+Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-
+editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road
+Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651
+628 1592 Co-editor: Bob Stewart Retired
+""")
+if mibBuilder.loadTexts:
+ snmpNotificationMIB.setDescription("""\
+This MIB module defines MIB objects which provide mechanisms to remotely
+configure the parameters used by an SNMP entity for the generation of
+notifications. Copyright (C) The Internet Society (2002). This version of this
+MIB module is part of RFC 3413; see the RFC itself for full legal notices.
+""")
+
+_SnmpNotifyObjects_ObjectIdentity = ObjectIdentity
+snmpNotifyObjects = _SnmpNotifyObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 13, 1)
+)
+_SnmpNotifyTable_Object = MibTable
+snmpNotifyTable = _SnmpNotifyTable_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyTable.setDescription("""\
+This table is used to select management targets which should receive
+notifications, as well as the type of notification which should be sent to each
+selected management target.
+""")
+_SnmpNotifyEntry_Object = MibTableRow
+snmpNotifyEntry = _SnmpNotifyEntry_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1)
+)
+snmpNotifyEntry.setIndexNames(
+ (1, "SNMP-NOTIFICATION-MIB", "snmpNotifyName"),
+)
+if mibBuilder.loadTexts:
+ snmpNotifyEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyEntry.setDescription("""\
+An entry in this table selects a set of management targets which should receive
+notifications, as well as the type of notification which should be sent to each
+selected management target. Entries in the snmpNotifyTable are created and
+deleted using the snmpNotifyRowStatus object.
+""")
+
+
+class _SnmpNotifyName_Type(SnmpAdminString):
+ """Custom type snmpNotifyName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpNotifyName_Type.__name__ = "SnmpAdminString"
+_SnmpNotifyName_Object = MibTableColumn
+snmpNotifyName = _SnmpNotifyName_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 1),
+ _SnmpNotifyName_Type()
+)
+snmpNotifyName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpNotifyName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyName.setDescription("""\
+The locally arbitrary, but unique identifier associated with this
+snmpNotifyEntry.
+""")
+_SnmpNotifyTag_Type = SnmpTagValue
+_SnmpNotifyTag_Object = MibTableColumn
+snmpNotifyTag = _SnmpNotifyTag_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 2),
+ _SnmpNotifyTag_Type()
+)
+snmpNotifyTag.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyTag.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyTag.setDescription("""\
+This object contains a single tag value which is used to select entries in the
+snmpTargetAddrTable. Any entry in the snmpTargetAddrTable which contains a tag
+value which is equal to the value of an instance of this object is selected. If
+this object contains a value of zero length, no entries are selected.
+""")
+
+
+class _SnmpNotifyType_Type(Integer32):
+ """Custom type snmpNotifyType based on Integer32"""
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("inform", 2),
+ ("trap", 1))
+ )
+
+
+_SnmpNotifyType_Type.__name__ = "Integer32"
+_SnmpNotifyType_Object = MibTableColumn
+snmpNotifyType = _SnmpNotifyType_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 3),
+ _SnmpNotifyType_Type()
+)
+snmpNotifyType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyType.setDescription("""\
+This object determines the type of notification to be generated for entries in
+the snmpTargetAddrTable selected by the corresponding instance of
+snmpNotifyTag. This value is only used when generating notifications, and is
+ignored when using the snmpTargetAddrTable for other purposes. If the value of
+this object is trap(1), then any messages generated for selected rows will
+contain Unconfirmed-Class PDUs. If the value of this object is inform(2), then
+any messages generated for selected rows will contain Confirmed-Class PDUs.
+Note that if an SNMP entity only supports generation of Unconfirmed-Class PDUs
+(and not Confirmed-Class PDUs), then this object may be read-only.
+""")
+
+
+class _SnmpNotifyStorageType_Type(StorageType):
+ """Custom type snmpNotifyStorageType based on StorageType"""
+
+
+_SnmpNotifyStorageType_Object = MibTableColumn
+snmpNotifyStorageType = _SnmpNotifyStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 4),
+ _SnmpNotifyStorageType_Type()
+)
+snmpNotifyStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpNotifyRowStatus_Type = RowStatus
+_SnmpNotifyRowStatus_Object = MibTableColumn
+snmpNotifyRowStatus = _SnmpNotifyRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 1, 1, 5),
+ _SnmpNotifyRowStatus_Type()
+)
+snmpNotifyRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5).
+""")
+_SnmpNotifyFilterProfileTable_Object = MibTable
+snmpNotifyFilterProfileTable = _SnmpNotifyFilterProfileTable_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileTable.setDescription("""\
+This table is used to associate a notification filter profile with a particular
+set of target parameters.
+""")
+_SnmpNotifyFilterProfileEntry_Object = MibTableRow
+snmpNotifyFilterProfileEntry = _SnmpNotifyFilterProfileEntry_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 2, 1)
+)
+snmpNotifyFilterProfileEntry.setIndexNames(
+ (1, "SNMP-TARGET-MIB", "snmpTargetParamsName"),
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileEntry.setDescription("""\
+An entry in this table indicates the name of the filter profile to be used when
+generating notifications using the corresponding entry in the
+snmpTargetParamsTable. Entries in the snmpNotifyFilterProfileTable are created
+and deleted using the snmpNotifyFilterProfileRowStatus object.
+""")
+
+
+class _SnmpNotifyFilterProfileName_Type(SnmpAdminString):
+ """Custom type snmpNotifyFilterProfileName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpNotifyFilterProfileName_Type.__name__ = "SnmpAdminString"
+_SnmpNotifyFilterProfileName_Object = MibTableColumn
+snmpNotifyFilterProfileName = _SnmpNotifyFilterProfileName_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 1),
+ _SnmpNotifyFilterProfileName_Type()
+)
+snmpNotifyFilterProfileName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileName.setDescription("""\
+The name of the filter profile to be used when generating notifications using
+the corresponding entry in the snmpTargetAddrTable.
+""")
+
+
+class _SnmpNotifyFilterProfileStorType_Type(StorageType):
+ """Custom type snmpNotifyFilterProfileStorType based on StorageType"""
+
+
+_SnmpNotifyFilterProfileStorType_Object = MibTableColumn
+snmpNotifyFilterProfileStorType = _SnmpNotifyFilterProfileStorType_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 2),
+ _SnmpNotifyFilterProfileStorType_Type()
+)
+snmpNotifyFilterProfileStorType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileStorType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileStorType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpNotifyFilterProfileRowStatus_Type = RowStatus
+_SnmpNotifyFilterProfileRowStatus_Object = MibTableColumn
+snmpNotifyFilterProfileRowStatus = _SnmpNotifyFilterProfileRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 2, 1, 3),
+ _SnmpNotifyFilterProfileRowStatus_Type()
+)
+snmpNotifyFilterProfileRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterProfileRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5). Until
+instances of all corresponding columns are appropriately configured, the value
+of the corresponding instance of the snmpNotifyFilterProfileRowStatus column is
+'notReady'. In particular, a newly created row cannot be made active until the
+corresponding instance of snmpNotifyFilterProfileName has been set.
+""")
+_SnmpNotifyFilterTable_Object = MibTable
+snmpNotifyFilterTable = _SnmpNotifyFilterTable_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFilterTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterTable.setDescription("""\
+The table of filter profiles. Filter profiles are used to determine whether
+particular management targets should receive particular notifications. When a
+notification is generated, it must be compared with the filters associated with
+each management target which is configured to receive notifications, in order
+to determine whether it may be sent to each such management target. A more
+complete discussion of notification filtering can be found in section 6. of
+[SNMP-APPL].
+""")
+_SnmpNotifyFilterEntry_Object = MibTableRow
+snmpNotifyFilterEntry = _SnmpNotifyFilterEntry_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1)
+)
+snmpNotifyFilterEntry.setIndexNames(
+ (0, "SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileName"),
+ (1, "SNMP-NOTIFICATION-MIB", "snmpNotifyFilterSubtree"),
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFilterEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterEntry.setDescription("""\
+An element of a filter profile. Entries in the snmpNotifyFilterTable are
+created and deleted using the snmpNotifyFilterRowStatus object.
+""")
+_SnmpNotifyFilterSubtree_Type = ObjectIdentifier
+_SnmpNotifyFilterSubtree_Object = MibTableColumn
+snmpNotifyFilterSubtree = _SnmpNotifyFilterSubtree_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 1),
+ _SnmpNotifyFilterSubtree_Type()
+)
+snmpNotifyFilterSubtree.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterSubtree.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterSubtree.setDescription("""\
+The MIB subtree which, when combined with the corresponding instance of
+snmpNotifyFilterMask, defines a family of subtrees which are included in or
+excluded from the filter profile.
+""")
+
+
+class _SnmpNotifyFilterMask_Type(OctetString):
+ """Custom type snmpNotifyFilterMask based on OctetString"""
+ defaultHexValue = ""
+
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 16),
+ )
+
+
+_SnmpNotifyFilterMask_Type.__name__ = "OctetString"
+_SnmpNotifyFilterMask_Object = MibTableColumn
+snmpNotifyFilterMask = _SnmpNotifyFilterMask_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 2),
+ _SnmpNotifyFilterMask_Type()
+)
+snmpNotifyFilterMask.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterMask.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterMask.setDescription("""\
+The bit mask which, in combination with the corresponding instance of
+snmpNotifyFilterSubtree, defines a family of subtrees which are included in or
+excluded from the filter profile. Each bit of this bit mask corresponds to a
+sub-identifier of snmpNotifyFilterSubtree, with the most significant bit of the
+i-th octet of this octet string value (extended if necessary, see below)
+corresponding to the (8*i - 7)-th sub-identifier, and the least significant bit
+of the i-th octet of this octet string corresponding to the (8*i)-th sub-
+identifier, where i is in the range 1 through 16. Each bit of this bit mask
+specifies whether or not the corresponding sub-identifiers must match when
+determining if an OBJECT IDENTIFIER matches this family of filter subtrees; a
+'1' indicates that an exact match must occur; a '0' indicates 'wild card',
+i.e., any sub-identifier value matches. Thus, the OBJECT IDENTIFIER X of an
+object instance is contained in a family of filter subtrees if, for each sub-
+identifier of the value of snmpNotifyFilterSubtree, either: the i-th bit of
+snmpNotifyFilterMask is 0, or the i-th sub-identifier of X is equal to the i-th
+sub-identifier of the value of snmpNotifyFilterSubtree. If the value of this
+bit mask is M bits long and there are more than M sub-identifiers in the
+corresponding instance of snmpNotifyFilterSubtree, then the bit mask is
+extended with 1's to be the required length. Note that when the value of this
+object is the zero-length string, this extension rule results in a mask of
+all-1's being used (i.e., no 'wild card'), and the family of filter subtrees is
+the one subtree uniquely identified by the corresponding instance of
+snmpNotifyFilterSubtree.
+""")
+
+
+class _SnmpNotifyFilterType_Type(Integer32):
+ """Custom type snmpNotifyFilterType based on Integer32"""
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("excluded", 2),
+ ("included", 1))
+ )
+
+
+_SnmpNotifyFilterType_Type.__name__ = "Integer32"
+_SnmpNotifyFilterType_Object = MibTableColumn
+snmpNotifyFilterType = _SnmpNotifyFilterType_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 3),
+ _SnmpNotifyFilterType_Type()
+)
+snmpNotifyFilterType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterType.setDescription("""\
+This object indicates whether the family of filter subtrees defined by this
+entry are included in or excluded from a filter. A more detailed discussion of
+the use of this object can be found in section 6. of [SNMP-APPL].
+""")
+
+
+class _SnmpNotifyFilterStorageType_Type(StorageType):
+ """Custom type snmpNotifyFilterStorageType based on StorageType"""
+
+
+_SnmpNotifyFilterStorageType_Object = MibTableColumn
+snmpNotifyFilterStorageType = _SnmpNotifyFilterStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 4),
+ _SnmpNotifyFilterStorageType_Type()
+)
+snmpNotifyFilterStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpNotifyFilterRowStatus_Type = RowStatus
+_SnmpNotifyFilterRowStatus_Object = MibTableColumn
+snmpNotifyFilterRowStatus = _SnmpNotifyFilterRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 13, 1, 3, 1, 5),
+ _SnmpNotifyFilterRowStatus_Type()
+)
+snmpNotifyFilterRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5).
+""")
+_SnmpNotifyConformance_ObjectIdentity = ObjectIdentity
+snmpNotifyConformance = _SnmpNotifyConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 13, 3)
+)
+_SnmpNotifyCompliances_ObjectIdentity = ObjectIdentity
+snmpNotifyCompliances = _SnmpNotifyCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 13, 3, 1)
+)
+_SnmpNotifyGroups_ObjectIdentity = ObjectIdentity
+snmpNotifyGroups = _SnmpNotifyGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 13, 3, 2)
+)
+
+snmpNotifyGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 13, 3, 2, 1)
+)
+snmpNotifyGroup.setObjects(
+ *(("SNMP-NOTIFICATION-MIB", "snmpNotifyTag"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyType"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyStorageType"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyRowStatus"))
+)
+if mibBuilder.loadTexts:
+ snmpNotifyGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyGroup.setDescription("""\
+A collection of objects for selecting which management targets are used for
+generating notifications, and the type of notification to be generated for each
+selected management target.
+""")
+
+snmpNotifyFilterGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 13, 3, 2, 2)
+)
+snmpNotifyFilterGroup.setObjects(
+ *(("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileName"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileStorType"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterProfileRowStatus"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterMask"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterType"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterStorageType"),
+ ("SNMP-NOTIFICATION-MIB", "snmpNotifyFilterRowStatus"))
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFilterGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotifyFilterGroup.setDescription("""\
+A collection of objects providing remote configuration of notification filters.
+""")
+
+snmpNotifyBasicCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 13, 3, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyBasicCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpNotifyBasicCompliance.setDescription("""\
+The compliance statement for minimal SNMP entities which implement only SNMP
+Unconfirmed-Class notifications and read-create operations on only the
+snmpTargetAddrTable.
+""")
+
+snmpNotifyBasicFiltersCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 13, 3, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyBasicFiltersCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpNotifyBasicFiltersCompliance.setDescription("""\
+The compliance statement for SNMP entities which implement SNMP Unconfirmed-
+Class notifications with filtering, and read-create operations on all related
+tables.
+""")
+
+snmpNotifyFullCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 13, 3, 1, 3)
+)
+if mibBuilder.loadTexts:
+ snmpNotifyFullCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpNotifyFullCompliance.setDescription("""\
+The compliance statement for SNMP entities which either implement only SNMP
+Confirmed-Class notifications, or both SNMP Unconfirmed-Class and Confirmed-
+Class notifications, plus filtering and read-create operations on all related
+tables.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-NOTIFICATION-MIB",
+ **{"snmpNotificationMIB": snmpNotificationMIB,
+ "snmpNotifyObjects": snmpNotifyObjects,
+ "snmpNotifyTable": snmpNotifyTable,
+ "snmpNotifyEntry": snmpNotifyEntry,
+ "snmpNotifyName": snmpNotifyName,
+ "snmpNotifyTag": snmpNotifyTag,
+ "snmpNotifyType": snmpNotifyType,
+ "snmpNotifyStorageType": snmpNotifyStorageType,
+ "snmpNotifyRowStatus": snmpNotifyRowStatus,
+ "snmpNotifyFilterProfileTable": snmpNotifyFilterProfileTable,
+ "snmpNotifyFilterProfileEntry": snmpNotifyFilterProfileEntry,
+ "snmpNotifyFilterProfileName": snmpNotifyFilterProfileName,
+ "snmpNotifyFilterProfileStorType": snmpNotifyFilterProfileStorType,
+ "snmpNotifyFilterProfileRowStatus": snmpNotifyFilterProfileRowStatus,
+ "snmpNotifyFilterTable": snmpNotifyFilterTable,
+ "snmpNotifyFilterEntry": snmpNotifyFilterEntry,
+ "snmpNotifyFilterSubtree": snmpNotifyFilterSubtree,
+ "snmpNotifyFilterMask": snmpNotifyFilterMask,
+ "snmpNotifyFilterType": snmpNotifyFilterType,
+ "snmpNotifyFilterStorageType": snmpNotifyFilterStorageType,
+ "snmpNotifyFilterRowStatus": snmpNotifyFilterRowStatus,
+ "snmpNotifyConformance": snmpNotifyConformance,
+ "snmpNotifyCompliances": snmpNotifyCompliances,
+ "snmpNotifyBasicCompliance": snmpNotifyBasicCompliance,
+ "snmpNotifyBasicFiltersCompliance": snmpNotifyBasicFiltersCompliance,
+ "snmpNotifyFullCompliance": snmpNotifyFullCompliance,
+ "snmpNotifyGroups": snmpNotifyGroups,
+ "snmpNotifyGroup": snmpNotifyGroup,
+ "snmpNotifyFilterGroup": snmpNotifyFilterGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-PROXY-MIB.py b/pysnmp/smi/mibs/SNMP-PROXY-MIB.py
index b4ac1f2d..f92bfac0 100644
--- a/pysnmp/smi/mibs/SNMP-PROXY-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-PROXY-MIB.py
@@ -4,65 +4,407 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-PROXY-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-PROXY-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:43:17 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 12:22:13 2019
#
-ObjectIdentifier, Integer, OctetString = mibBuilder.importSymbols("ASN1", "ObjectIdentifier", "Integer", "OctetString")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ValueSizeConstraint, ConstraintsUnion, ValueRangeConstraint, ConstraintsIntersection = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsUnion", "ValueRangeConstraint", "ConstraintsIntersection")
-SnmpAdminString, SnmpEngineID = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString", "SnmpEngineID")
-SnmpTagValue, = mibBuilder.importSymbols("SNMP-TARGET-MIB", "SnmpTagValue")
-ModuleCompliance, NotificationGroup, ObjectGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup", "ObjectGroup")
-ModuleIdentity, Counter64, Gauge32, Integer32, Bits, MibScalar, MibTable, MibTableRow, MibTableColumn, MibIdentifier, NotificationType, iso, Counter32, ObjectIdentity, IpAddress, TimeTicks, Unsigned32, snmpModules = mibBuilder.importSymbols("SNMPv2-SMI", "ModuleIdentity", "Counter64", "Gauge32", "Integer32", "Bits", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "MibIdentifier", "NotificationType", "iso", "Counter32", "ObjectIdentity", "IpAddress", "TimeTicks", "Unsigned32", "snmpModules")
-TextualConvention, RowStatus, DisplayString, StorageType = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "RowStatus", "DisplayString", "StorageType")
-snmpProxyMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 14))
-if mibBuilder.loadTexts: snmpProxyMIB.setRevisions(('1998-08-04 00:00', '1997-07-14 00:00',))
-if mibBuilder.loadTexts: snmpProxyMIB.setLastUpdated('9808040000Z')
-if mibBuilder.loadTexts: snmpProxyMIB.setOrganization('IETF SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpProxyMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3 Chair: Russ Mundy Trusted Information Systems Postal: 3060 Washington Rd Glenwood MD 21738 USA EMail: mundy@tislabs.com Phone: +1-301-854-6889 Co-editor: David B. Levi SNMP Research, Inc. Postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 EMail: levi@snmp.com Phone: +1 423 573 1434 Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, MN 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592 Co-editor: Bob Stewart Cisco Systems, Inc. Postal: 170 West Tasman Drive San Jose, CA 95134-1706 EMail: bstewart@cisco.com Phone: +1 603 654 2686')
-if mibBuilder.loadTexts: snmpProxyMIB.setDescription('This MIB module defines MIB objects which provide mechanisms to remotely configure the parameters used by a proxy forwarding application.')
-snmpProxyObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 14, 1))
-snmpProxyConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 14, 3))
-snmpProxyTable = MibTable((1, 3, 6, 1, 6, 3, 14, 1, 2), )
-if mibBuilder.loadTexts: snmpProxyTable.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyTable.setDescription('The table of translation parameters used by proxy forwarder applications for forwarding SNMP messages.')
-snmpProxyEntry = MibTableRow((1, 3, 6, 1, 6, 3, 14, 1, 2, 1), ).setIndexNames((1, "SNMP-PROXY-MIB", "snmpProxyName"))
-if mibBuilder.loadTexts: snmpProxyEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyEntry.setDescription('A set of translation parameters used by a proxy forwarder application for forwarding SNMP messages. Entries in the snmpProxyTable are created and deleted using the snmpProxyRowStatus object.')
-snmpProxyName = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: snmpProxyName.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyName.setDescription('The locally arbitrary, but unique identifier associated with this snmpProxyEntry.')
-snmpProxyType = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4))).clone(namedValues=NamedValues(("read", 1), ("write", 2), ("trap", 3), ("inform", 4)))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyType.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyType.setDescription('The type of message that may be forwarded using the translation parameters defined by this entry.')
-snmpProxyContextEngineID = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 3), SnmpEngineID()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyContextEngineID.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyContextEngineID.setDescription('The contextEngineID contained in messages that may be forwarded using the translation parameters defined by this entry.')
-snmpProxyContextName = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 4), SnmpAdminString()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyContextName.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyContextName.setDescription('The contextName contained in messages that may be forwarded using the translation parameters defined by this entry. This object is optional, and if not supported, the contextName contained in a message is ignored when selecting an entry in the snmpProxyTable.')
-snmpProxyTargetParamsIn = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 5), SnmpAdminString()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyTargetParamsIn.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyTargetParamsIn.setDescription('This object selects an entry in the snmpTargetParamsTable. The selected entry is used to determine which row of the snmpProxyTable to use for forwarding received messages.')
-snmpProxySingleTargetOut = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 6), SnmpAdminString()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxySingleTargetOut.setStatus('current')
-if mibBuilder.loadTexts: snmpProxySingleTargetOut.setDescription('This object selects a management target defined in the snmpTargetAddrTable (in the SNMP-TARGET-MIB). The selected target is defined by an entry in the snmpTargetAddrTable whose index value (snmpTargetAddrName) is equal to this object. This object is only used when selection of a single target is required (i.e. when forwarding an incoming read or write request).')
-snmpProxyMultipleTargetOut = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 7), SnmpTagValue()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyMultipleTargetOut.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyMultipleTargetOut.setDescription('This object selects a set of management targets defined in the snmpTargetAddrTable (in the SNMP-TARGET-MIB). This object is only used when selection of multiple targets is required (i.e. when forwarding an incoming notification).')
-snmpProxyStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 8), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyStorageType.setDescription('The storage type of this conceptual row.')
-snmpProxyRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 9), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpProxyRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyRowStatus.setDescription('The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5). The following objects may not be modified while the value of this object is active(1): - snmpProxyType - snmpProxyContextEngineID - snmpProxyContextName - snmpProxyTargetParamsIn - snmpProxySingleTargetOut - snmpProxyMultipleTargetOut')
-snmpProxyCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 14, 3, 1))
-snmpProxyGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 14, 3, 2))
-snmpProxyCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 14, 3, 1, 1)).setObjects(("SNMP-TARGET-MIB", "snmpTargetBasicGroup"), ("SNMP-TARGET-MIB", "snmpTargetResponseGroup"), ("SNMP-PROXY-MIB", "snmpProxyGroup"))
-if mibBuilder.loadTexts: snmpProxyCompliance.setDescription('The compliance statement for SNMP entities which include a proxy forwarding application.')
-snmpProxyGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 14, 3, 2, 3)).setObjects(("SNMP-PROXY-MIB", "snmpProxyType"), ("SNMP-PROXY-MIB", "snmpProxyContextEngineID"), ("SNMP-PROXY-MIB", "snmpProxyContextName"), ("SNMP-PROXY-MIB", "snmpProxyTargetParamsIn"), ("SNMP-PROXY-MIB", "snmpProxySingleTargetOut"), ("SNMP-PROXY-MIB", "snmpProxyMultipleTargetOut"), ("SNMP-PROXY-MIB", "snmpProxyStorageType"), ("SNMP-PROXY-MIB", "snmpProxyRowStatus"))
-if mibBuilder.loadTexts: snmpProxyGroup.setDescription('A collection of objects providing remote configuration of management target translation parameters for use by proxy forwarder applications.')
-mibBuilder.exportSymbols("SNMP-PROXY-MIB", snmpProxyObjects=snmpProxyObjects, snmpProxyType=snmpProxyType, snmpProxyRowStatus=snmpProxyRowStatus, snmpProxyName=snmpProxyName, snmpProxyGroups=snmpProxyGroups, snmpProxySingleTargetOut=snmpProxySingleTargetOut, snmpProxyGroup=snmpProxyGroup, snmpProxyConformance=snmpProxyConformance, snmpProxyCompliance=snmpProxyCompliance, PYSNMP_MODULE_ID=snmpProxyMIB, snmpProxyContextEngineID=snmpProxyContextEngineID, snmpProxyCompliances=snmpProxyCompliances, snmpProxyStorageType=snmpProxyStorageType, snmpProxyEntry=snmpProxyEntry, snmpProxyTargetParamsIn=snmpProxyTargetParamsIn, snmpProxyContextName=snmpProxyContextName, snmpProxyMultipleTargetOut=snmpProxyMultipleTargetOut, snmpProxyTable=snmpProxyTable, snmpProxyMIB=snmpProxyMIB)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(SnmpAdminString,
+ SnmpEngineID) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpAdminString",
+ "SnmpEngineID")
+
+(SnmpTagValue,) = mibBuilder.importSymbols(
+ "SNMP-TARGET-MIB",
+ "SnmpTagValue")
+
+(ObjectGroup,
+ NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ObjectGroup",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(MibIdentifier,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ ModuleIdentity,
+ snmpModules,
+ Counter64,
+ NotificationType,
+ Bits,
+ IpAddress,
+ Gauge32,
+ ObjectIdentity,
+ Integer32,
+ Counter32,
+ TimeTicks,
+ Unsigned32,
+ iso) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "MibIdentifier",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "ModuleIdentity",
+ "snmpModules",
+ "Counter64",
+ "NotificationType",
+ "Bits",
+ "IpAddress",
+ "Gauge32",
+ "ObjectIdentity",
+ "Integer32",
+ "Counter32",
+ "TimeTicks",
+ "Unsigned32",
+ "iso")
+
+(TextualConvention,
+ DisplayString,
+ StorageType,
+ RowStatus) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString",
+ "StorageType",
+ "RowStatus")
+
+snmpProxyMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 14)
+)
+snmpProxyMIB.setRevisions(
+ ("2002-10-14 00:00",
+ "1998-08-04 00:00",
+ "1997-07-14 00:00")
+)
+snmpProxyMIB.setLastUpdated("200210140000Z")
+if mibBuilder.loadTexts:
+ snmpProxyMIB.setOrganization("""\
+IETF SNMPv3 Working Group
+""")
+snmpProxyMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates
+Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
+EMail: mundy@tislabs.com Phone: +1 301-947-7107 Co-Chair: David Harrington
+Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New
+Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-
+editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville,
+Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-
+editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road
+Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651
+628 1592 Co-editor: Bob Stewart Retired
+""")
+if mibBuilder.loadTexts:
+ snmpProxyMIB.setDescription("""\
+This MIB module defines MIB objects which provide mechanisms to remotely
+configure the parameters used by a proxy forwarding application. Copyright (C)
+The Internet Society (2002). This version of this MIB module is part of RFC
+3413; see the RFC itself for full legal notices.
+""")
+
+_SnmpProxyObjects_ObjectIdentity = ObjectIdentity
+snmpProxyObjects = _SnmpProxyObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 14, 1)
+)
+_SnmpProxyTable_Object = MibTable
+snmpProxyTable = _SnmpProxyTable_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpProxyTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyTable.setDescription("""\
+The table of translation parameters used by proxy forwarder applications for
+forwarding SNMP messages.
+""")
+_SnmpProxyEntry_Object = MibTableRow
+snmpProxyEntry = _SnmpProxyEntry_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1)
+)
+snmpProxyEntry.setIndexNames(
+ (1, "SNMP-PROXY-MIB", "snmpProxyName"),
+)
+if mibBuilder.loadTexts:
+ snmpProxyEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyEntry.setDescription("""\
+A set of translation parameters used by a proxy forwarder application for
+forwarding SNMP messages. Entries in the snmpProxyTable are created and deleted
+using the snmpProxyRowStatus object.
+""")
+
+
+class _SnmpProxyName_Type(SnmpAdminString):
+ """Custom type snmpProxyName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpProxyName_Type.__name__ = "SnmpAdminString"
+_SnmpProxyName_Object = MibTableColumn
+snmpProxyName = _SnmpProxyName_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 1),
+ _SnmpProxyName_Type()
+)
+snmpProxyName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpProxyName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyName.setDescription("""\
+The locally arbitrary, but unique identifier associated with this
+snmpProxyEntry.
+""")
+
+
+class _SnmpProxyType_Type(Integer32):
+ """Custom type snmpProxyType based on Integer32"""
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4)
+ )
+ )
+ namedValues = NamedValues(
+ *(("inform", 4),
+ ("read", 1),
+ ("trap", 3),
+ ("write", 2))
+ )
+
+
+_SnmpProxyType_Type.__name__ = "Integer32"
+_SnmpProxyType_Object = MibTableColumn
+snmpProxyType = _SnmpProxyType_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 2),
+ _SnmpProxyType_Type()
+)
+snmpProxyType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyType.setDescription("""\
+The type of message that may be forwarded using the translation parameters
+defined by this entry.
+""")
+_SnmpProxyContextEngineID_Type = SnmpEngineID
+_SnmpProxyContextEngineID_Object = MibTableColumn
+snmpProxyContextEngineID = _SnmpProxyContextEngineID_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 3),
+ _SnmpProxyContextEngineID_Type()
+)
+snmpProxyContextEngineID.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyContextEngineID.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyContextEngineID.setDescription("""\
+The contextEngineID contained in messages that may be forwarded using the
+translation parameters defined by this entry.
+""")
+_SnmpProxyContextName_Type = SnmpAdminString
+_SnmpProxyContextName_Object = MibTableColumn
+snmpProxyContextName = _SnmpProxyContextName_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 4),
+ _SnmpProxyContextName_Type()
+)
+snmpProxyContextName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyContextName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyContextName.setDescription("""\
+The contextName contained in messages that may be forwarded using the
+translation parameters defined by this entry. This object is optional, and if
+not supported, the contextName contained in a message is ignored when selecting
+an entry in the snmpProxyTable.
+""")
+_SnmpProxyTargetParamsIn_Type = SnmpAdminString
+_SnmpProxyTargetParamsIn_Object = MibTableColumn
+snmpProxyTargetParamsIn = _SnmpProxyTargetParamsIn_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 5),
+ _SnmpProxyTargetParamsIn_Type()
+)
+snmpProxyTargetParamsIn.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyTargetParamsIn.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyTargetParamsIn.setDescription("""\
+This object selects an entry in the snmpTargetParamsTable. The selected entry
+is used to determine which row of the snmpProxyTable to use for forwarding
+received messages.
+""")
+_SnmpProxySingleTargetOut_Type = SnmpAdminString
+_SnmpProxySingleTargetOut_Object = MibTableColumn
+snmpProxySingleTargetOut = _SnmpProxySingleTargetOut_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 6),
+ _SnmpProxySingleTargetOut_Type()
+)
+snmpProxySingleTargetOut.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxySingleTargetOut.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxySingleTargetOut.setDescription("""\
+This object selects a management target defined in the snmpTargetAddrTable (in
+the SNMP-TARGET-MIB). The selected target is defined by an entry in the
+snmpTargetAddrTable whose index value (snmpTargetAddrName) is equal to this
+object. This object is only used when selection of a single target is required
+(i.e. when forwarding an incoming read or write request).
+""")
+_SnmpProxyMultipleTargetOut_Type = SnmpTagValue
+_SnmpProxyMultipleTargetOut_Object = MibTableColumn
+snmpProxyMultipleTargetOut = _SnmpProxyMultipleTargetOut_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 7),
+ _SnmpProxyMultipleTargetOut_Type()
+)
+snmpProxyMultipleTargetOut.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyMultipleTargetOut.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyMultipleTargetOut.setDescription("""\
+This object selects a set of management targets defined in the
+snmpTargetAddrTable (in the SNMP-TARGET-MIB). This object is only used when
+selection of multiple targets is required (i.e. when forwarding an incoming
+notification).
+""")
+
+
+class _SnmpProxyStorageType_Type(StorageType):
+ """Custom type snmpProxyStorageType based on StorageType"""
+
+
+_SnmpProxyStorageType_Object = MibTableColumn
+snmpProxyStorageType = _SnmpProxyStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 8),
+ _SnmpProxyStorageType_Type()
+)
+snmpProxyStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyStorageType.setDescription("""\
+The storage type of this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpProxyRowStatus_Type = RowStatus
+_SnmpProxyRowStatus_Object = MibTableColumn
+snmpProxyRowStatus = _SnmpProxyRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 14, 1, 2, 1, 9),
+ _SnmpProxyRowStatus_Type()
+)
+snmpProxyRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpProxyRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5). The
+following objects may not be modified while the value of this object is
+active(1): - snmpProxyType - snmpProxyContextEngineID - snmpProxyContextName -
+snmpProxyTargetParamsIn - snmpProxySingleTargetOut - snmpProxyMultipleTargetOut
+""")
+_SnmpProxyConformance_ObjectIdentity = ObjectIdentity
+snmpProxyConformance = _SnmpProxyConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 14, 3)
+)
+_SnmpProxyCompliances_ObjectIdentity = ObjectIdentity
+snmpProxyCompliances = _SnmpProxyCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 14, 3, 1)
+)
+_SnmpProxyGroups_ObjectIdentity = ObjectIdentity
+snmpProxyGroups = _SnmpProxyGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 14, 3, 2)
+)
+
+snmpProxyGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 14, 3, 2, 3)
+)
+snmpProxyGroup.setObjects(
+ *(("SNMP-PROXY-MIB", "snmpProxyType"),
+ ("SNMP-PROXY-MIB", "snmpProxyContextEngineID"),
+ ("SNMP-PROXY-MIB", "snmpProxyContextName"),
+ ("SNMP-PROXY-MIB", "snmpProxyTargetParamsIn"),
+ ("SNMP-PROXY-MIB", "snmpProxySingleTargetOut"),
+ ("SNMP-PROXY-MIB", "snmpProxyMultipleTargetOut"),
+ ("SNMP-PROXY-MIB", "snmpProxyStorageType"),
+ ("SNMP-PROXY-MIB", "snmpProxyRowStatus"))
+)
+if mibBuilder.loadTexts:
+ snmpProxyGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyGroup.setDescription("""\
+A collection of objects providing remote configuration of management target
+translation parameters for use by proxy forwarder applications.
+""")
+
+snmpProxyCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 14, 3, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpProxyCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpProxyCompliance.setDescription("""\
+The compliance statement for SNMP entities which include a proxy forwarding
+application.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-PROXY-MIB",
+ **{"snmpProxyMIB": snmpProxyMIB,
+ "snmpProxyObjects": snmpProxyObjects,
+ "snmpProxyTable": snmpProxyTable,
+ "snmpProxyEntry": snmpProxyEntry,
+ "snmpProxyName": snmpProxyName,
+ "snmpProxyType": snmpProxyType,
+ "snmpProxyContextEngineID": snmpProxyContextEngineID,
+ "snmpProxyContextName": snmpProxyContextName,
+ "snmpProxyTargetParamsIn": snmpProxyTargetParamsIn,
+ "snmpProxySingleTargetOut": snmpProxySingleTargetOut,
+ "snmpProxyMultipleTargetOut": snmpProxyMultipleTargetOut,
+ "snmpProxyStorageType": snmpProxyStorageType,
+ "snmpProxyRowStatus": snmpProxyRowStatus,
+ "snmpProxyConformance": snmpProxyConformance,
+ "snmpProxyCompliances": snmpProxyCompliances,
+ "snmpProxyCompliance": snmpProxyCompliance,
+ "snmpProxyGroups": snmpProxyGroups,
+ "snmpProxyGroup": snmpProxyGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-TARGET-MIB.py b/pysnmp/smi/mibs/SNMP-TARGET-MIB.py
index af8439e0..ddc016cc 100644
--- a/pysnmp/smi/mibs/SNMP-TARGET-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-TARGET-MIB.py
@@ -4,145 +4,808 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-TARGET-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-TARGET-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:44:13 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 12:25:20 2019
#
-ObjectIdentifier, Integer, OctetString = mibBuilder.importSymbols("ASN1", "ObjectIdentifier", "Integer", "OctetString")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint")
-SnmpAdminString, SnmpSecurityLevel, SnmpMessageProcessingModel, SnmpSecurityModel = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString", "SnmpSecurityLevel", "SnmpMessageProcessingModel", "SnmpSecurityModel")
-ModuleCompliance, ObjectGroup, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "ObjectGroup", "NotificationGroup")
-MibIdentifier, MibScalar, MibTable, MibTableRow, MibTableColumn, iso, Counter32, ObjectIdentity, Bits, NotificationType, Unsigned32, IpAddress, Integer32, ModuleIdentity, snmpModules, TimeTicks, Gauge32, Counter64 = mibBuilder.importSymbols("SNMPv2-SMI", "MibIdentifier", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "iso", "Counter32", "ObjectIdentity", "Bits", "NotificationType", "Unsigned32", "IpAddress", "Integer32", "ModuleIdentity", "snmpModules", "TimeTicks", "Gauge32", "Counter64")
-TimeInterval, RowStatus, TextualConvention, TestAndIncr, TAddress, StorageType, TDomain, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TimeInterval", "RowStatus", "TextualConvention", "TestAndIncr", "TAddress", "StorageType", "TDomain", "DisplayString")
-snmpTargetMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 12))
-if mibBuilder.loadTexts: snmpTargetMIB.setRevisions(('2002-10-14 00:00', '1998-08-04 00:00', '1997-07-14 00:00',))
-if mibBuilder.loadTexts: snmpTargetMIB.setLastUpdated('200210140000Z')
-if mibBuilder.loadTexts: snmpTargetMIB.setOrganization('IETF SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpTargetMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com Phone: +1 301-947-7107 Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592 Co-editor: Bob Stewart Retired')
-if mibBuilder.loadTexts: snmpTargetMIB.setDescription('This MIB module defines MIB objects which provide mechanisms to remotely configure the parameters used by an SNMP entity for the generation of SNMP messages. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3413; see the RFC itself for full legal notices. ')
-snmpTargetObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 12, 1))
-snmpTargetConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 12, 3))
-
-#
-# WARNING: some of the classes below are manually implemented
+# Parts of otherwise autogenerated MIB has been updated manually.
#
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(SnmpMessageProcessingModel,
+ SnmpSecurityLevel,
+ SnmpAdminString,
+ SnmpSecurityModel) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpMessageProcessingModel",
+ "SnmpSecurityLevel",
+ "SnmpAdminString",
+ "SnmpSecurityModel")
+
+(ObjectGroup,
+ ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ObjectGroup",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(iso,
+ TimeTicks,
+ Gauge32,
+ ObjectIdentity,
+ snmpModules,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Bits,
+ MibIdentifier,
+ IpAddress,
+ NotificationType,
+ Unsigned32,
+ Integer32,
+ ModuleIdentity,
+ Counter64,
+ Counter32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "iso",
+ "TimeTicks",
+ "Gauge32",
+ "ObjectIdentity",
+ "snmpModules",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Bits",
+ "MibIdentifier",
+ "IpAddress",
+ "NotificationType",
+ "Unsigned32",
+ "Integer32",
+ "ModuleIdentity",
+ "Counter64",
+ "Counter32")
+
+(TDomain,
+ RowStatus,
+ TextualConvention,
+ TimeInterval,
+ TestAndIncr,
+ DisplayString,
+ TAddress,
+ StorageType) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TDomain",
+ "RowStatus",
+ "TextualConvention",
+ "TimeInterval",
+ "TestAndIncr",
+ "DisplayString",
+ "TAddress",
+ "StorageType")
+
+snmpTargetMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 12)
+)
+snmpTargetMIB.setRevisions(
+ ("2002-10-14 00:00",
+ "1998-08-04 00:00",
+ "1997-07-14 00:00")
+)
+snmpTargetMIB.setLastUpdated("200210140000Z")
+if mibBuilder.loadTexts:
+ snmpTargetMIB.setOrganization("""\
+IETF SNMPv3 Working Group
+""")
+snmpTargetMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates
+Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
+EMail: mundy@tislabs.com Phone: +1 301-947-7107 Co-Chair: David Harrington
+Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New
+Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-
+editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville,
+Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432 Co-
+editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road
+Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651
+628 1592 Co-editor: Bob Stewart Retired
+""")
+if mibBuilder.loadTexts:
+ snmpTargetMIB.setDescription("""\
+This MIB module defines MIB objects which provide mechanisms to remotely
+configure the parameters used by an SNMP entity for the generation of SNMP
+messages. Copyright (C) The Internet Society (2002). This version of this MIB
+module is part of RFC 3413; see the RFC itself for full legal notices.
+""")
+
+
class SnmpTagList(TextualConvention, OctetString):
- description = "An octet string containing a list of tag values. Tag values are preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme described in RFC 2279. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. The use of control codes should be avoided, except as described below. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 representation is identical to the US-ASCII encoding. An object of this type contains a list of tag values which are used to select a set of entries in a table. A tag value is an arbitrary string of octets, but may not contain a delimiter character. Delimiter characters are defined to be one of the following: - An ASCII space character (0x20). - An ASCII TAB character (0x09). - An ASCII carriage return (CR) character (0x0D). - An ASCII line feed (LF) character (0x0A). Delimiter characters are used to separate tag values in a tag list. Only a single delimiter character may occur between two tag values. A tag value may not have a zero length. These constraints imply certain restrictions on the contents of this object: - There cannot be a leading or trailing delimiter character. - There cannot be multiple adjacent delimiter characters. Some examples of valid tag lists are: - '' -- an empty list - 'acme' -- list of one tag - 'host router bridge' -- list of several tags Note that although a tag value may not have a length of zero, an empty string is still valid. This indicates an empty list (i.e. there are no tag values in the list). The use of the tag list to select table entries is application and MIB specific. Typically, an application will provide one or more tag values, and any entry which contains some combination of these tag values will be selected."
- status = 'current'
+ status = "current"
displayHint = "255t"
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+An octet string containing a list of tag values. Tag values are preferably in
+human-readable form. To facilitate internationalization, this information is
+represented using the ISO/IEC IS 10646-1 character set, encoded as an octet
+string using the UTF-8 character encoding scheme described in RFC 2279. Since
+additional code points are added by amendments to the 10646 standard from time
+to time, implementations must be prepared to encounter any code point from
+0x00000000 to 0x7fffffff. The use of control codes should be avoided, except as
+described below. For code points not directly supported by user interface
+hardware or software, an alternative means of entry and display, such as
+hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the
+UTF-8 representation is identical to the US-ASCII encoding. An object of this
+type contains a list of tag values which are used to select a set of entries in
+a table. A tag value is an arbitrary string of octets, but may not contain a
+delimiter character. Delimiter characters are defined to be one of the
+following: - An ASCII space character (0x20). - An ASCII TAB character (0x09).
+- An ASCII carriage return (CR) character (0x0D). - An ASCII line feed (LF)
+character (0x0A). Delimiter characters are used to separate tag values in a tag
+list. Only a single delimiter character may occur between two tag values. A tag
+value may not have a zero length. These constraints imply certain restrictions
+on the contents of this object: - There cannot be a leading or trailing
+delimiter character. - There cannot be multiple adjacent delimiter characters.
+Some examples of valid tag lists are: - '' -- an empty list - 'acme' -- list of
+one tag - 'host router bridge' -- list of several tags Note that although a tag
+value may not have a length of zero, an empty string is still valid. This
+indicates an empty list (i.e. there are no tag values in the list). The use of
+the tag list to select table entries is application and MIB specific.
+Typically, an application will provide one or more tag values, and any entry
+which contains some combination of these tag values will be selected.
+"""
encoding = 'utf-8'
- _delimiters = (' ', '\n', '\t', '\t')
+
+ DELIMITERS = (' ', '\n', '\t', '\t')
def prettyIn(self, value):
inDelim = True
+
for v in str(value):
- if v in self._delimiters:
+ if v in self.DELIMITERS:
if inDelim:
- raise error.SmiError('Leading or multiple delimiters not allowed in tag list %r' % value)
+ raise error.SmiError('Leading or multiple delimiters not '
+ 'allowed in tag list %r' % value)
inDelim = True
+
else:
inDelim = False
+
if value and inDelim:
- raise error.SmiError('Dangling delimiter not allowed in tag list %r' % value)
+ raise error.SmiError('Dangling delimiter not allowed in '
+ 'tag list %r' % value)
+
return OctetString.prettyIn(self, value)
class SnmpTagValue(TextualConvention, OctetString):
- description = "An octet string containing a tag value. Tag values are preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme described in RFC 2279. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. The use of control codes should be avoided, and certain control codes are not allowed as described below. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 representation is identical to the US-ASCII encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction must be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC1905]. An object of this type contains a single tag value which is used to select a set of entries in a table. A tag value is an arbitrary string of octets, but may not contain a delimiter character. Delimiter characters are defined to be one of the following: - An ASCII space character (0x20). - An ASCII TAB character (0x09). - An ASCII carriage return (CR) character (0x0D). - An ASCII line feed (LF) character (0x0A). Delimiter characters are used to separate tag values in a tag list. An object of this type may only contain a single tag value, and so delimiter characters are not allowed in a value of this type. Note that a tag value of 0 length means that no tag is defined. In other words, a tag value of 0 length would never match anything in a tag list, and would never select any table entries. Some examples of valid tag values are: - 'acme' - 'router' - 'host' The use of a tag value to select table entries is application and MIB specific."
- status = 'current'
+ status = "current"
displayHint = "255t"
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+An octet string containing a tag value. Tag values are preferably in human-
+readable form. To facilitate internationalization, this information is
+represented using the ISO/IEC IS 10646-1 character set, encoded as an octet
+string using the UTF-8 character encoding scheme described in RFC 2279. Since
+additional code points are added by amendments to the 10646 standard from time
+to time, implementations must be prepared to encounter any code point from
+0x00000000 to 0x7fffffff. The use of control codes should be avoided, and
+certain control codes are not allowed as described below. For code points not
+directly supported by user interface hardware or software, an alternative means
+of entry and display, such as hexadecimal, may be provided. For information
+encoded in 7-bit US-ASCII, the UTF-8 representation is identical to the US-
+ASCII encoding. Note that when this TC is used for an object that is used or
+envisioned to be used as an index, then a SIZE restriction must be specified so
+that the number of sub-identifiers for any object instance does not exceed the
+limit of 128, as defined by [RFC1905]. An object of this type contains a single
+tag value which is used to select a set of entries in a table. A tag value is
+an arbitrary string of octets, but may not contain a delimiter character.
+Delimiter characters are defined to be one of the following: - An ASCII space
+character (0x20). - An ASCII TAB character (0x09). - An ASCII carriage return
+(CR) character (0x0D). - An ASCII line feed (LF) character (0x0A). Delimiter
+characters are used to separate tag values in a tag list. An object of this
+type may only contain a single tag value, and so delimiter characters are not
+allowed in a value of this type. Note that a tag value of 0 length means that
+no tag is defined. In other words, a tag value of 0 length would never match
+anything in a tag list, and would never select any table entries. Some examples
+of valid tag values are: - 'acme' - 'router' - 'host' The use of a tag value to
+select table entries is application and MIB specific.
+"""
encoding = 'utf-8'
- _delimiters = (' ', '\n', '\t', '\t')
+ DELIMITERS = (' ', '\n', '\t', '\t')
def prettyIn(self, value):
for v in str(value):
- if v in self._delimiters:
+ if v in self.DELIMITERS:
raise error.SmiError('Delimiters not allowed in tag value')
+
return OctetString.prettyIn(self, value)
-snmpTargetSpinLock = MibScalar((1, 3, 6, 1, 6, 3, 12, 1, 1), TestAndIncr()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: snmpTargetSpinLock.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetSpinLock.setDescription('This object is used to facilitate modification of table entries in the SNMP-TARGET-MIB module by multiple managers. In particular, it is useful when modifying the value of the snmpTargetAddrTagList object. The procedure for modifying the snmpTargetAddrTagList object is as follows: 1. Retrieve the value of snmpTargetSpinLock and of snmpTargetAddrTagList. 2. Generate a new value for snmpTargetAddrTagList. 3. Set the value of snmpTargetSpinLock to the retrieved value, and the value of snmpTargetAddrTagList to the new value. If the set fails for the snmpTargetSpinLock object, go back to step 1.')
-snmpTargetAddrTable = MibTable((1, 3, 6, 1, 6, 3, 12, 1, 2), )
-if mibBuilder.loadTexts: snmpTargetAddrTable.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTable.setDescription('A table of transport addresses to be used in the generation of SNMP messages.')
-snmpTargetAddrEntry = MibTableRow((1, 3, 6, 1, 6, 3, 12, 1, 2, 1), ).setIndexNames((1, "SNMP-TARGET-MIB", "snmpTargetAddrName"))
-if mibBuilder.loadTexts: snmpTargetAddrEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrEntry.setDescription('A transport address to be used in the generation of SNMP operations. Entries in the snmpTargetAddrTable are created and deleted using the snmpTargetAddrRowStatus object.')
-snmpTargetAddrName = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: snmpTargetAddrName.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrName.setDescription('The locally arbitrary, but unique identifier associated with this snmpTargetAddrEntry.')
-snmpTargetAddrTDomain = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 2), TDomain()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrTDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTDomain.setDescription('This object indicates the transport type of the address contained in the snmpTargetAddrTAddress object.')
-snmpTargetAddrTAddress = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 3), TAddress()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrTAddress.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTAddress.setDescription('This object contains a transport address. The format of this address depends on the value of the snmpTargetAddrTDomain object.')
-snmpTargetAddrTimeout = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 4), TimeInterval().clone(1500)).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrTimeout.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTimeout.setDescription('This object should reflect the expected maximum round trip time for communicating with the transport address defined by this row. When a message is sent to this address, and a response (if one is expected) is not received within this time period, an implementation may assume that the response will not be delivered. Note that the time interval that an application waits for a response may actually be derived from the value of this object. The method for deriving the actual time interval is implementation dependent. One such method is to derive the expected round trip time based on a particular retransmission algorithm and on the number of timeouts which have occurred. The type of message may also be considered when deriving expected round trip times for retransmissions. For example, if a message is being sent with a securityLevel that indicates both authentication and privacy, the derived value may be increased to compensate for extra processing time spent during authentication and encryption processing.')
-snmpTargetAddrRetryCount = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 5), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 255)).clone(3)).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrRetryCount.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrRetryCount.setDescription('This object specifies a default number of retries to be attempted when a response is not received for a generated message. An application may provide its own retry count, in which case the value of this object is ignored.')
-snmpTargetAddrTagList = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 6), SnmpTagList()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrTagList.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrTagList.setDescription('This object contains a list of tag values which are used to select target addresses for a particular operation.')
-snmpTargetAddrParams = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 7), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrParams.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrParams.setDescription('The value of this object identifies an entry in the snmpTargetParamsTable. The identified entry contains SNMP parameters to be used when generating messages to be sent to this transport address.')
-snmpTargetAddrStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 8), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row.")
-snmpTargetAddrRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 9), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetAddrRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetAddrRowStatus.setDescription("The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5). Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpTargetAddrRowStatus column is 'notReady'. In particular, a newly created row cannot be made active until the corresponding instances of snmpTargetAddrTDomain, snmpTargetAddrTAddress, and snmpTargetAddrParams have all been set. The following objects may not be modified while the value of this object is active(1): - snmpTargetAddrTDomain - snmpTargetAddrTAddress An attempt to set these objects while the value of snmpTargetAddrRowStatus is active(1) will result in an inconsistentValue error.")
-snmpTargetParamsTable = MibTable((1, 3, 6, 1, 6, 3, 12, 1, 3), )
-if mibBuilder.loadTexts: snmpTargetParamsTable.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsTable.setDescription('A table of SNMP target information to be used in the generation of SNMP messages.')
-snmpTargetParamsEntry = MibTableRow((1, 3, 6, 1, 6, 3, 12, 1, 3, 1), ).setIndexNames((1, "SNMP-TARGET-MIB", "snmpTargetParamsName"))
-if mibBuilder.loadTexts: snmpTargetParamsEntry.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsEntry.setDescription('A set of SNMP target information. Entries in the snmpTargetParamsTable are created and deleted using the snmpTargetParamsRowStatus object.')
-snmpTargetParamsName = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: snmpTargetParamsName.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsName.setDescription('The locally arbitrary, but unique identifier associated with this snmpTargetParamsEntry.')
-snmpTargetParamsMPModel = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 2), SnmpMessageProcessingModel()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsMPModel.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsMPModel.setDescription('The Message Processing Model to be used when generating SNMP messages using this entry.')
-snmpTargetParamsSecurityModel = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 3), SnmpSecurityModel().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsSecurityModel.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsSecurityModel.setDescription('The Security Model to be used when generating SNMP messages using this entry. An implementation may choose to return an inconsistentValue error if an attempt is made to set this variable to a value for a security model which the implementation does not support.')
-snmpTargetParamsSecurityName = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 4), SnmpAdminString()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsSecurityName.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsSecurityName.setDescription('The securityName which identifies the Principal on whose behalf SNMP messages will be generated using this entry.')
-snmpTargetParamsSecurityLevel = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 5), SnmpSecurityLevel()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsSecurityLevel.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsSecurityLevel.setDescription('The Level of Security to be used when generating SNMP messages using this entry.')
-snmpTargetParamsStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 6), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsStorageType.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row.")
-snmpTargetParamsRowStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 7), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: snmpTargetParamsRowStatus.setStatus('current')
-if mibBuilder.loadTexts: snmpTargetParamsRowStatus.setDescription("The status of this conceptual row. To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5). Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpTargetParamsRowStatus column is 'notReady'. In particular, a newly created row cannot be made active until the corresponding snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel have all been set. The following objects may not be modified while the value of this object is active(1): - snmpTargetParamsMPModel - snmpTargetParamsSecurityModel - snmpTargetParamsSecurityName - snmpTargetParamsSecurityLevel An attempt to set these objects while the value of snmpTargetParamsRowStatus is active(1) will result in an inconsistentValue error.")
-snmpUnavailableContexts = MibScalar((1, 3, 6, 1, 6, 3, 12, 1, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpUnavailableContexts.setStatus('current')
-if mibBuilder.loadTexts: snmpUnavailableContexts.setDescription('The total number of packets received by the SNMP engine which were dropped because the context contained in the message was unavailable.')
-snmpUnknownContexts = MibScalar((1, 3, 6, 1, 6, 3, 12, 1, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpUnknownContexts.setStatus('current')
-if mibBuilder.loadTexts: snmpUnknownContexts.setDescription('The total number of packets received by the SNMP engine which were dropped because the context contained in the message was unknown.')
-snmpTargetCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 12, 3, 1))
-snmpTargetGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 12, 3, 2))
-snmpTargetCommandResponderCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 12, 3, 1, 1)).setObjects(("SNMP-TARGET-MIB", "snmpTargetCommandResponderGroup"))
-if mibBuilder.loadTexts: snmpTargetCommandResponderCompliance.setDescription('The compliance statement for SNMP entities which include a command responder application.')
-snmpTargetBasicGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 12, 3, 2, 1)).setObjects(("SNMP-TARGET-MIB", "snmpTargetSpinLock"), ("SNMP-TARGET-MIB", "snmpTargetAddrTDomain"), ("SNMP-TARGET-MIB", "snmpTargetAddrTAddress"), ("SNMP-TARGET-MIB", "snmpTargetAddrTagList"), ("SNMP-TARGET-MIB", "snmpTargetAddrParams"), ("SNMP-TARGET-MIB", "snmpTargetAddrStorageType"), ("SNMP-TARGET-MIB", "snmpTargetAddrRowStatus"), ("SNMP-TARGET-MIB", "snmpTargetParamsMPModel"), ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityModel"), ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityName"), ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityLevel"), ("SNMP-TARGET-MIB", "snmpTargetParamsStorageType"), ("SNMP-TARGET-MIB", "snmpTargetParamsRowStatus"))
-if mibBuilder.loadTexts: snmpTargetBasicGroup.setDescription('A collection of objects providing basic remote configuration of management targets.')
-snmpTargetResponseGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 12, 3, 2, 2)).setObjects(("SNMP-TARGET-MIB", "snmpTargetAddrTimeout"), ("SNMP-TARGET-MIB", "snmpTargetAddrRetryCount"))
-if mibBuilder.loadTexts: snmpTargetResponseGroup.setDescription('A collection of objects providing remote configuration of management targets for applications which generate SNMP messages for which a response message would be expected.')
-snmpTargetCommandResponderGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 12, 3, 2, 3)).setObjects(("SNMP-TARGET-MIB", "snmpUnavailableContexts"), ("SNMP-TARGET-MIB", "snmpUnknownContexts"))
-if mibBuilder.loadTexts: snmpTargetCommandResponderGroup.setDescription('A collection of objects required for command responder applications, used for counting error conditions.')
-mibBuilder.exportSymbols("SNMP-TARGET-MIB", snmpTargetAddrTimeout=snmpTargetAddrTimeout, SnmpTagValue=SnmpTagValue, snmpTargetParamsSecurityModel=snmpTargetParamsSecurityModel, snmpTargetParamsSecurityLevel=snmpTargetParamsSecurityLevel, snmpTargetParamsTable=snmpTargetParamsTable, snmpTargetAddrEntry=snmpTargetAddrEntry, snmpTargetAddrParams=snmpTargetAddrParams, snmpTargetParamsSecurityName=snmpTargetParamsSecurityName, snmpTargetParamsMPModel=snmpTargetParamsMPModel, snmpTargetSpinLock=snmpTargetSpinLock, snmpTargetAddrTAddress=snmpTargetAddrTAddress, snmpTargetResponseGroup=snmpTargetResponseGroup, snmpTargetCompliances=snmpTargetCompliances, snmpTargetMIB=snmpTargetMIB, snmpUnavailableContexts=snmpUnavailableContexts, snmpTargetCommandResponderCompliance=snmpTargetCommandResponderCompliance, snmpTargetParamsEntry=snmpTargetParamsEntry, snmpUnknownContexts=snmpUnknownContexts, snmpTargetParamsName=snmpTargetParamsName, snmpTargetAddrTDomain=snmpTargetAddrTDomain, snmpTargetAddrTable=snmpTargetAddrTable, snmpTargetObjects=snmpTargetObjects, snmpTargetBasicGroup=snmpTargetBasicGroup, snmpTargetAddrRetryCount=snmpTargetAddrRetryCount, snmpTargetAddrTagList=snmpTargetAddrTagList, snmpTargetAddrRowStatus=snmpTargetAddrRowStatus, SnmpTagList=SnmpTagList, snmpTargetParamsStorageType=snmpTargetParamsStorageType, snmpTargetCommandResponderGroup=snmpTargetCommandResponderGroup, snmpTargetConformance=snmpTargetConformance, snmpTargetParamsRowStatus=snmpTargetParamsRowStatus, snmpTargetGroups=snmpTargetGroups, PYSNMP_MODULE_ID=snmpTargetMIB, snmpTargetAddrName=snmpTargetAddrName, snmpTargetAddrStorageType=snmpTargetAddrStorageType)
+
+_SnmpTargetObjects_ObjectIdentity = ObjectIdentity
+snmpTargetObjects = _SnmpTargetObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 12, 1)
+)
+_SnmpTargetSpinLock_Type = TestAndIncr
+_SnmpTargetSpinLock_Object = MibScalar
+snmpTargetSpinLock = _SnmpTargetSpinLock_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 1),
+ _SnmpTargetSpinLock_Type()
+)
+snmpTargetSpinLock.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ snmpTargetSpinLock.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetSpinLock.setDescription("""\
+This object is used to facilitate modification of table entries in the SNMP-
+TARGET-MIB module by multiple managers. In particular, it is useful when
+modifying the value of the snmpTargetAddrTagList object. The procedure for
+modifying the snmpTargetAddrTagList object is as follows: 1. Retrieve the value
+of snmpTargetSpinLock and of snmpTargetAddrTagList. 2. Generate a new value for
+snmpTargetAddrTagList. 3. Set the value of snmpTargetSpinLock to the retrieved
+value, and the value of snmpTargetAddrTagList to the new value. If the set
+fails for the snmpTargetSpinLock object, go back to step 1.
+""")
+_SnmpTargetAddrTable_Object = MibTable
+snmpTargetAddrTable = _SnmpTargetAddrTable_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpTargetAddrTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTable.setDescription("""\
+A table of transport addresses to be used in the generation of SNMP messages.
+""")
+_SnmpTargetAddrEntry_Object = MibTableRow
+snmpTargetAddrEntry = _SnmpTargetAddrEntry_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1)
+)
+snmpTargetAddrEntry.setIndexNames(
+ (1, "SNMP-TARGET-MIB", "snmpTargetAddrName"),
+)
+if mibBuilder.loadTexts:
+ snmpTargetAddrEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrEntry.setDescription("""\
+A transport address to be used in the generation of SNMP operations. Entries in
+the snmpTargetAddrTable are created and deleted using the
+snmpTargetAddrRowStatus object.
+""")
+
+
+class _SnmpTargetAddrName_Type(SnmpAdminString):
+ """Custom type snmpTargetAddrName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpTargetAddrName_Type.__name__ = "SnmpAdminString"
+_SnmpTargetAddrName_Object = MibTableColumn
+snmpTargetAddrName = _SnmpTargetAddrName_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 1),
+ _SnmpTargetAddrName_Type()
+)
+snmpTargetAddrName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpTargetAddrName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrName.setDescription("""\
+The locally arbitrary, but unique identifier associated with this
+snmpTargetAddrEntry.
+""")
+_SnmpTargetAddrTDomain_Type = TDomain
+_SnmpTargetAddrTDomain_Object = MibTableColumn
+snmpTargetAddrTDomain = _SnmpTargetAddrTDomain_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 2),
+ _SnmpTargetAddrTDomain_Type()
+)
+snmpTargetAddrTDomain.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTDomain.setDescription("""\
+This object indicates the transport type of the address contained in the
+snmpTargetAddrTAddress object.
+""")
+_SnmpTargetAddrTAddress_Type = TAddress
+_SnmpTargetAddrTAddress_Object = MibTableColumn
+snmpTargetAddrTAddress = _SnmpTargetAddrTAddress_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 3),
+ _SnmpTargetAddrTAddress_Type()
+)
+snmpTargetAddrTAddress.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTAddress.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTAddress.setDescription("""\
+This object contains a transport address. The format of this address depends on
+the value of the snmpTargetAddrTDomain object.
+""")
+
+
+class _SnmpTargetAddrTimeout_Type(TimeInterval):
+ """Custom type snmpTargetAddrTimeout based on TimeInterval"""
+ defaultValue = 1500
+
+
+_SnmpTargetAddrTimeout_Object = MibTableColumn
+snmpTargetAddrTimeout = _SnmpTargetAddrTimeout_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 4),
+ _SnmpTargetAddrTimeout_Type()
+)
+snmpTargetAddrTimeout.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTimeout.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTimeout.setDescription("""\
+This object should reflect the expected maximum round trip time for
+communicating with the transport address defined by this row. When a message is
+sent to this address, and a response (if one is expected) is not received
+within this time period, an implementation may assume that the response will
+not be delivered. Note that the time interval that an application waits for a
+response may actually be derived from the value of this object. The method for
+deriving the actual time interval is implementation dependent. One such method
+is to derive the expected round trip time based on a particular retransmission
+algorithm and on the number of timeouts which have occurred. The type of
+message may also be considered when deriving expected round trip times for
+retransmissions. For example, if a message is being sent with a securityLevel
+that indicates both authentication and privacy, the derived value may be
+increased to compensate for extra processing time spent during authentication
+and encryption processing.
+""")
+
+
+class _SnmpTargetAddrRetryCount_Type(Integer32):
+ """Custom type snmpTargetAddrRetryCount based on Integer32"""
+ defaultValue = 3
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 255),
+ )
+
+
+_SnmpTargetAddrRetryCount_Type.__name__ = "Integer32"
+_SnmpTargetAddrRetryCount_Object = MibTableColumn
+snmpTargetAddrRetryCount = _SnmpTargetAddrRetryCount_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 5),
+ _SnmpTargetAddrRetryCount_Type()
+)
+snmpTargetAddrRetryCount.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrRetryCount.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrRetryCount.setDescription("""\
+This object specifies a default number of retries to be attempted when a
+response is not received for a generated message. An application may provide
+its own retry count, in which case the value of this object is ignored.
+""")
+_SnmpTargetAddrTagList_Type = SnmpTagList
+_SnmpTargetAddrTagList_Object = MibTableColumn
+snmpTargetAddrTagList = _SnmpTargetAddrTagList_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 6),
+ _SnmpTargetAddrTagList_Type()
+)
+snmpTargetAddrTagList.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTagList.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrTagList.setDescription("""\
+This object contains a list of tag values which are used to select target
+addresses for a particular operation.
+""")
+
+
+class _SnmpTargetAddrParams_Type(SnmpAdminString):
+ """Custom type snmpTargetAddrParams based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpTargetAddrParams_Type.__name__ = "SnmpAdminString"
+_SnmpTargetAddrParams_Object = MibTableColumn
+snmpTargetAddrParams = _SnmpTargetAddrParams_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 7),
+ _SnmpTargetAddrParams_Type()
+)
+snmpTargetAddrParams.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrParams.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrParams.setDescription("""\
+The value of this object identifies an entry in the snmpTargetParamsTable. The
+identified entry contains SNMP parameters to be used when generating messages
+to be sent to this transport address.
+""")
+
+
+class _SnmpTargetAddrStorageType_Type(StorageType):
+ """Custom type snmpTargetAddrStorageType based on StorageType"""
+
+
+_SnmpTargetAddrStorageType_Object = MibTableColumn
+snmpTargetAddrStorageType = _SnmpTargetAddrStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 8),
+ _SnmpTargetAddrStorageType_Type().clone('nonVolatile')
+)
+snmpTargetAddrStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpTargetAddrRowStatus_Type = RowStatus
+_SnmpTargetAddrRowStatus_Object = MibTableColumn
+snmpTargetAddrRowStatus = _SnmpTargetAddrRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 9),
+ _SnmpTargetAddrRowStatus_Type()
+)
+snmpTargetAddrRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetAddrRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetAddrRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5). Until
+instances of all corresponding columns are appropriately configured, the value
+of the corresponding instance of the snmpTargetAddrRowStatus column is
+'notReady'. In particular, a newly created row cannot be made active until the
+corresponding instances of snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
+snmpTargetAddrParams have all been set. The following objects may not be
+modified while the value of this object is active(1): - snmpTargetAddrTDomain -
+snmpTargetAddrTAddress An attempt to set these objects while the value of
+snmpTargetAddrRowStatus is active(1) will result in an inconsistentValue error.
+""")
+_SnmpTargetParamsTable_Object = MibTable
+snmpTargetParamsTable = _SnmpTargetParamsTable_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3)
+)
+if mibBuilder.loadTexts:
+ snmpTargetParamsTable.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsTable.setDescription("""\
+A table of SNMP target information to be used in the generation of SNMP
+messages.
+""")
+_SnmpTargetParamsEntry_Object = MibTableRow
+snmpTargetParamsEntry = _SnmpTargetParamsEntry_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1)
+)
+snmpTargetParamsEntry.setIndexNames(
+ (1, "SNMP-TARGET-MIB", "snmpTargetParamsName"),
+)
+if mibBuilder.loadTexts:
+ snmpTargetParamsEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsEntry.setDescription("""\
+A set of SNMP target information. Entries in the snmpTargetParamsTable are
+created and deleted using the snmpTargetParamsRowStatus object.
+""")
+
+
+class _SnmpTargetParamsName_Type(SnmpAdminString):
+ """Custom type snmpTargetParamsName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_SnmpTargetParamsName_Type.__name__ = "SnmpAdminString"
+_SnmpTargetParamsName_Object = MibTableColumn
+snmpTargetParamsName = _SnmpTargetParamsName_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 1),
+ _SnmpTargetParamsName_Type()
+)
+snmpTargetParamsName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ snmpTargetParamsName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsName.setDescription("""\
+The locally arbitrary, but unique identifier associated with this
+snmpTargetParamsEntry.
+""")
+_SnmpTargetParamsMPModel_Type = SnmpMessageProcessingModel
+_SnmpTargetParamsMPModel_Object = MibTableColumn
+snmpTargetParamsMPModel = _SnmpTargetParamsMPModel_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 2),
+ _SnmpTargetParamsMPModel_Type()
+)
+snmpTargetParamsMPModel.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsMPModel.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsMPModel.setDescription("""\
+The Message Processing Model to be used when generating SNMP messages using
+this entry.
+""")
+
+
+class _SnmpTargetParamsSecurityModel_Type(SnmpSecurityModel):
+ """Custom type snmpTargetParamsSecurityModel based on SnmpSecurityModel"""
+ subtypeSpec = SnmpSecurityModel.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(1, 2147483647),
+ )
+
+
+_SnmpTargetParamsSecurityModel_Type.__name__ = "SnmpSecurityModel"
+_SnmpTargetParamsSecurityModel_Object = MibTableColumn
+snmpTargetParamsSecurityModel = _SnmpTargetParamsSecurityModel_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 3),
+ _SnmpTargetParamsSecurityModel_Type()
+)
+snmpTargetParamsSecurityModel.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityModel.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityModel.setDescription("""\
+The Security Model to be used when generating SNMP messages using this entry.
+An implementation may choose to return an inconsistentValue error if an attempt
+is made to set this variable to a value for a security model which the
+implementation does not support.
+""")
+_SnmpTargetParamsSecurityName_Type = SnmpAdminString
+_SnmpTargetParamsSecurityName_Object = MibTableColumn
+snmpTargetParamsSecurityName = _SnmpTargetParamsSecurityName_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 4),
+ _SnmpTargetParamsSecurityName_Type()
+)
+snmpTargetParamsSecurityName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityName.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityName.setDescription("""\
+The securityName which identifies the Principal on whose behalf SNMP messages
+will be generated using this entry.
+""")
+_SnmpTargetParamsSecurityLevel_Type = SnmpSecurityLevel
+_SnmpTargetParamsSecurityLevel_Object = MibTableColumn
+snmpTargetParamsSecurityLevel = _SnmpTargetParamsSecurityLevel_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 5),
+ _SnmpTargetParamsSecurityLevel_Type()
+)
+snmpTargetParamsSecurityLevel.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityLevel.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsSecurityLevel.setDescription("""\
+The Level of Security to be used when generating SNMP messages using this
+entry.
+""")
+
+
+class _SnmpTargetParamsStorageType_Type(StorageType):
+ """Custom type snmpTargetParamsStorageType based on StorageType"""
+
+
+_SnmpTargetParamsStorageType_Object = MibTableColumn
+snmpTargetParamsStorageType = _SnmpTargetParamsStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 6),
+ _SnmpTargetParamsStorageType_Type().clone('nonVolatile')
+)
+snmpTargetParamsStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_SnmpTargetParamsRowStatus_Type = RowStatus
+_SnmpTargetParamsRowStatus_Object = MibTableColumn
+snmpTargetParamsRowStatus = _SnmpTargetParamsRowStatus_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 7),
+ _SnmpTargetParamsRowStatus_Type()
+)
+snmpTargetParamsRowStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ snmpTargetParamsRowStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetParamsRowStatus.setDescription("""\
+The status of this conceptual row. To create a row in this table, a manager
+must set this object to either createAndGo(4) or createAndWait(5). Until
+instances of all corresponding columns are appropriately configured, the value
+of the corresponding instance of the snmpTargetParamsRowStatus column is
+'notReady'. In particular, a newly created row cannot be made active until the
+corresponding snmpTargetParamsMPModel, snmpTargetParamsSecurityModel,
+snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel have all been
+set. The following objects may not be modified while the value of this object
+is active(1): - snmpTargetParamsMPModel - snmpTargetParamsSecurityModel -
+snmpTargetParamsSecurityName - snmpTargetParamsSecurityLevel An attempt to set
+these objects while the value of snmpTargetParamsRowStatus is active(1) will
+result in an inconsistentValue error.
+""")
+_SnmpUnavailableContexts_Type = Counter32
+_SnmpUnavailableContexts_Object = MibScalar
+snmpUnavailableContexts = _SnmpUnavailableContexts_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 4),
+ _SnmpUnavailableContexts_Type()
+)
+snmpUnavailableContexts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpUnavailableContexts.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpUnavailableContexts.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because the context contained in the message was unavailable.
+""")
+_SnmpUnknownContexts_Type = Counter32
+_SnmpUnknownContexts_Object = MibScalar
+snmpUnknownContexts = _SnmpUnknownContexts_Object(
+ (1, 3, 6, 1, 6, 3, 12, 1, 5),
+ _SnmpUnknownContexts_Type()
+)
+snmpUnknownContexts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpUnknownContexts.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpUnknownContexts.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because the context contained in the message was unknown.
+""")
+_SnmpTargetConformance_ObjectIdentity = ObjectIdentity
+snmpTargetConformance = _SnmpTargetConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 12, 3)
+)
+_SnmpTargetCompliances_ObjectIdentity = ObjectIdentity
+snmpTargetCompliances = _SnmpTargetCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 12, 3, 1)
+)
+_SnmpTargetGroups_ObjectIdentity = ObjectIdentity
+snmpTargetGroups = _SnmpTargetGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 12, 3, 2)
+)
+
+snmpTargetBasicGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 12, 3, 2, 1)
+)
+snmpTargetBasicGroup.setObjects(
+ *(("SNMP-TARGET-MIB", "snmpTargetSpinLock"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrTDomain"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrTAddress"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrTagList"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrParams"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrStorageType"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrRowStatus"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsMPModel"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityModel"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityName"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsSecurityLevel"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsStorageType"),
+ ("SNMP-TARGET-MIB", "snmpTargetParamsRowStatus"))
+)
+if mibBuilder.loadTexts:
+ snmpTargetBasicGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetBasicGroup.setDescription("""\
+A collection of objects providing basic remote configuration of management
+targets.
+""")
+
+snmpTargetResponseGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 12, 3, 2, 2)
+)
+snmpTargetResponseGroup.setObjects(
+ *(("SNMP-TARGET-MIB", "snmpTargetAddrTimeout"),
+ ("SNMP-TARGET-MIB", "snmpTargetAddrRetryCount"))
+)
+if mibBuilder.loadTexts:
+ snmpTargetResponseGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetResponseGroup.setDescription("""\
+A collection of objects providing remote configuration of management targets
+for applications which generate SNMP messages for which a response message
+would be expected.
+""")
+
+snmpTargetCommandResponderGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 12, 3, 2, 3)
+)
+snmpTargetCommandResponderGroup.setObjects(
+ *(("SNMP-TARGET-MIB", "snmpUnavailableContexts"),
+ ("SNMP-TARGET-MIB", "snmpUnknownContexts"))
+)
+if mibBuilder.loadTexts:
+ snmpTargetCommandResponderGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTargetCommandResponderGroup.setDescription("""\
+A collection of objects required for command responder applications, used for
+counting error conditions.
+""")
+
+snmpTargetCommandResponderCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 12, 3, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpTargetCommandResponderCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpTargetCommandResponderCompliance.setDescription("""\
+The compliance statement for SNMP entities which include a command responder
+application.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-TARGET-MIB",
+ **{"SnmpTagValue": SnmpTagValue,
+ "SnmpTagList": SnmpTagList,
+ "snmpTargetMIB": snmpTargetMIB,
+ "snmpTargetObjects": snmpTargetObjects,
+ "snmpTargetSpinLock": snmpTargetSpinLock,
+ "snmpTargetAddrTable": snmpTargetAddrTable,
+ "snmpTargetAddrEntry": snmpTargetAddrEntry,
+ "snmpTargetAddrName": snmpTargetAddrName,
+ "snmpTargetAddrTDomain": snmpTargetAddrTDomain,
+ "snmpTargetAddrTAddress": snmpTargetAddrTAddress,
+ "snmpTargetAddrTimeout": snmpTargetAddrTimeout,
+ "snmpTargetAddrRetryCount": snmpTargetAddrRetryCount,
+ "snmpTargetAddrTagList": snmpTargetAddrTagList,
+ "snmpTargetAddrParams": snmpTargetAddrParams,
+ "snmpTargetAddrStorageType": snmpTargetAddrStorageType,
+ "snmpTargetAddrRowStatus": snmpTargetAddrRowStatus,
+ "snmpTargetParamsTable": snmpTargetParamsTable,
+ "snmpTargetParamsEntry": snmpTargetParamsEntry,
+ "snmpTargetParamsName": snmpTargetParamsName,
+ "snmpTargetParamsMPModel": snmpTargetParamsMPModel,
+ "snmpTargetParamsSecurityModel": snmpTargetParamsSecurityModel,
+ "snmpTargetParamsSecurityName": snmpTargetParamsSecurityName,
+ "snmpTargetParamsSecurityLevel": snmpTargetParamsSecurityLevel,
+ "snmpTargetParamsStorageType": snmpTargetParamsStorageType,
+ "snmpTargetParamsRowStatus": snmpTargetParamsRowStatus,
+ "snmpUnavailableContexts": snmpUnavailableContexts,
+ "snmpUnknownContexts": snmpUnknownContexts,
+ "snmpTargetConformance": snmpTargetConformance,
+ "snmpTargetCompliances": snmpTargetCompliances,
+ "snmpTargetCommandResponderCompliance": snmpTargetCommandResponderCompliance,
+ "snmpTargetGroups": snmpTargetGroups,
+ "snmpTargetBasicGroup": snmpTargetBasicGroup,
+ "snmpTargetResponseGroup": snmpTargetResponseGroup,
+ "snmpTargetCommandResponderGroup": snmpTargetCommandResponderGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-USER-BASED-SM-3DES-MIB.py b/pysnmp/smi/mibs/SNMP-USER-BASED-SM-3DES-MIB.py
index 555dd178..c7ba56e4 100644
--- a/pysnmp/smi/mibs/SNMP-USER-BASED-SM-3DES-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-USER-BASED-SM-3DES-MIB.py
@@ -4,27 +4,139 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-USER-BASED-SM-3DES-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-USER-BASED-SM-3DES-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:47:21 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 23:20:21 2019
#
-Integer, ObjectIdentifier, OctetString = mibBuilder.importSymbols("ASN1", "Integer", "ObjectIdentifier", "OctetString")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueRangeConstraint, ConstraintsUnion, ValueSizeConstraint, SingleValueConstraint, ConstraintsIntersection = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ConstraintsUnion", "ValueSizeConstraint", "SingleValueConstraint", "ConstraintsIntersection")
-snmpPrivProtocols, = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "snmpPrivProtocols")
-ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
-Bits, MibScalar, MibTable, MibTableRow, MibTableColumn, Gauge32, IpAddress, TimeTicks, Integer32, Counter64, NotificationType, MibIdentifier, Unsigned32, ObjectIdentity, snmpModules, ModuleIdentity, iso, Counter32 = mibBuilder.importSymbols("SNMPv2-SMI", "Bits", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Gauge32", "IpAddress", "TimeTicks", "Integer32", "Counter64", "NotificationType", "MibIdentifier", "Unsigned32", "ObjectIdentity", "snmpModules", "ModuleIdentity", "iso", "Counter32")
-TextualConvention, AutonomousType, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "AutonomousType", "DisplayString")
-snmpUsmMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 15))
-if mibBuilder.loadTexts: snmpUsmMIB.setRevisions(('1999-10-06 00:00',))
-if mibBuilder.loadTexts: snmpUsmMIB.setLastUpdated('9910060000Z')
-if mibBuilder.loadTexts: snmpUsmMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpUsmMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In msg body: subscribe snmpv3 Chair: Russ Mundy NAI Labs postal: 3060 Washington Rd Glenwood MD 21738 USA email: mundy@tislabs.com phone: +1-443-259-2307 Co-editor: David Reeder NAI Labs postal: 3060 Washington Road (Route 97) Glenwood, MD 21738 USA email: dreeder@tislabs.com phone: +1-443-259-2348 Co-editor: Olafur Gudmundsson NAI Labs postal: 3060 Washington Road (Route 97) Glenwood, MD 21738 USA email: ogud@tislabs.com phone: +1-443-259-2389 ')
-if mibBuilder.loadTexts: snmpUsmMIB.setDescription("Extension to the SNMP User-based Security Model to support Triple-DES EDE in 'Outside' CBC (cipher-block chaining) Mode. ")
-usm3DESEDEPrivProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 2, 3))
-if mibBuilder.loadTexts: usm3DESEDEPrivProtocol.setStatus('current')
-if mibBuilder.loadTexts: usm3DESEDEPrivProtocol.setDescription('The 3DES-EDE Symmetric Encryption Protocol.')
-if mibBuilder.loadTexts: usm3DESEDEPrivProtocol.setReference('- Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-3, (1999, pending approval). Will supersede FIPS Publication 46-2. - Data Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981, (December, 1980). - DES Modes of Operation, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 81, (December, 1980). - Data Encryption Algorithm - Modes of Operation, American National Standards Institute. ANSI X3.106-1983, (May 1983). ')
-mibBuilder.exportSymbols("SNMP-USER-BASED-SM-3DES-MIB", snmpUsmMIB=snmpUsmMIB, PYSNMP_MODULE_ID=snmpUsmMIB, usm3DESEDEPrivProtocol=usm3DESEDEPrivProtocol)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(snmpPrivProtocols,) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "snmpPrivProtocols")
+
+(NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(snmpModules,
+ TimeTicks,
+ NotificationType,
+ ModuleIdentity,
+ Integer32,
+ Gauge32,
+ MibIdentifier,
+ iso,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ IpAddress,
+ Unsigned32,
+ Bits,
+ Counter32,
+ Counter64,
+ ObjectIdentity) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "snmpModules",
+ "TimeTicks",
+ "NotificationType",
+ "ModuleIdentity",
+ "Integer32",
+ "Gauge32",
+ "MibIdentifier",
+ "iso",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "IpAddress",
+ "Unsigned32",
+ "Bits",
+ "Counter32",
+ "Counter64",
+ "ObjectIdentity")
+
+(TextualConvention,
+ DisplayString,
+ AutonomousType) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString",
+ "AutonomousType")
+
+
+# MODULE-IDENTITY
+
+snmpUsmMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 15)
+)
+snmpUsmMIB.setRevisions(
+ ("1999-10-06 00:00",)
+)
+snmpUsmMIB.setLastUpdated("9910060000Z")
+if mibBuilder.loadTexts:
+ snmpUsmMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpUsmMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+msg body: subscribe snmpv3 Chair: Russ Mundy NAI Labs postal: 3060 Washington
+Rd Glenwood MD 21738 USA email: mundy@tislabs.com phone: +1-443-259-2307 Co-
+editor: David Reeder NAI Labs postal: 3060 Washington Road (Route 97) Glenwood,
+MD 21738 USA email: dreeder@tislabs.com phone: +1-443-259-2348 Co-editor:
+Olafur Gudmundsson NAI Labs postal: 3060 Washington Road (Route 97) Glenwood,
+MD 21738 USA email: ogud@tislabs.com phone: +1-443-259-2389
+""")
+if mibBuilder.loadTexts:
+ snmpUsmMIB.setDescription("""\
+Extension to the SNMP User-based Security Model to support Triple-DES EDE in
+'Outside' CBC (cipher-block chaining) Mode.
+""")
+
+_Usm3DESEDEPrivProtocol_ObjectIdentity = ObjectIdentity
+usm3DESEDEPrivProtocol = _Usm3DESEDEPrivProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 2, 3)
+)
+if mibBuilder.loadTexts:
+ usm3DESEDEPrivProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usm3DESEDEPrivProtocol.setReference("- Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-3, (1999, pending approval). Will supersede FIPS Publication 46-2. - Data Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981, (December, 1980). - DES Modes of Operation, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 81, (December, 1980). - Data Encryption Algorithm - Modes of Operation, American National Standards Institute. ANSI X3.106-1983, (May 1983). ")
+if mibBuilder.loadTexts:
+ usm3DESEDEPrivProtocol.setDescription("""\
+The 3DES-EDE Symmetric Encryption Protocol.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-USER-BASED-SM-3DES-MIB",
+ **{"usm3DESEDEPrivProtocol": usm3DESEDEPrivProtocol,
+ "snmpUsmMIB": snmpUsmMIB}
+)
diff --git a/pysnmp/smi/mibs/SNMP-USER-BASED-SM-MIB.py b/pysnmp/smi/mibs/SNMP-USER-BASED-SM-MIB.py
index 498ee944..bc2a346b 100644
--- a/pysnmp/smi/mibs/SNMP-USER-BASED-SM-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-USER-BASED-SM-MIB.py
@@ -4,121 +4,916 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-USER-BASED-SM-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-USER-BASED-SM-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:48:12 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sat Feb 16 23:22:33 2019
#
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueRangeConstraint, SingleValueConstraint, ValueSizeConstraint, ConstraintsIntersection, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ConstraintsUnion")
-SnmpAdminString, snmpAuthProtocols, snmpPrivProtocols, SnmpEngineID = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString", "snmpAuthProtocols", "snmpPrivProtocols", "SnmpEngineID")
-ObjectGroup, ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ObjectGroup", "ModuleCompliance", "NotificationGroup")
-MibScalar, MibTable, MibTableRow, MibTableColumn, Counter64, Gauge32, iso, Counter32, NotificationType, Bits, Unsigned32, MibIdentifier, Integer32, TimeTicks, IpAddress, ModuleIdentity, snmpModules, ObjectIdentity = mibBuilder.importSymbols("SNMPv2-SMI", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter64", "Gauge32", "iso", "Counter32", "NotificationType", "Bits", "Unsigned32", "MibIdentifier", "Integer32", "TimeTicks", "IpAddress", "ModuleIdentity", "snmpModules", "ObjectIdentity")
-DisplayString, AutonomousType, RowStatus, StorageType, TextualConvention, RowPointer, TestAndIncr = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "AutonomousType", "RowStatus", "StorageType", "TextualConvention", "RowPointer", "TestAndIncr")
-snmpUsmMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 15))
-if mibBuilder.loadTexts: snmpUsmMIB.setRevisions(('2002-10-16 00:00', '1999-01-20 00:00', '1997-11-20 00:00',))
-if mibBuilder.loadTexts: snmpUsmMIB.setLastUpdated('200210160000Z')
-if mibBuilder.loadTexts: snmpUsmMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpUsmMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In msg body: subscribe snmpv3 Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA email: mundy@tislabs.com phone: +1 301-947-7107 Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor Uri Blumenthal Lucent Technologies postal: 67 Whippany Rd. Whippany, NJ 07981 USA email: uri@lucent.com phone: +1-973-386-2163 Co-editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten Netherlands email: bwijnen@lucent.com phone: +31-348-480-685 ')
-if mibBuilder.loadTexts: snmpUsmMIB.setDescription('The management information definitions for the SNMP User-based Security Model. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3414; see the RFC itself for full legal notices. ')
-usmMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 1))
-usmMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 2))
-usmNoAuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 1))
-if mibBuilder.loadTexts: usmNoAuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmNoAuthProtocol.setDescription('No Authentication Protocol.')
-usmHMACMD5AuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 2))
-if mibBuilder.loadTexts: usmHMACMD5AuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMACMD5AuthProtocol.setDescription('The HMAC-MD5-96 Digest Authentication Protocol.')
-if mibBuilder.loadTexts: usmHMACMD5AuthProtocol.setReference('- H. Krawczyk, M. Bellare, R. Canetti HMAC: Keyed-Hashing for Message Authentication, RFC2104, Feb 1997. - Rivest, R., Message Digest Algorithm MD5, RFC1321. ')
-usmHMACSHAAuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 3))
-if mibBuilder.loadTexts: usmHMACSHAAuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMACSHAAuthProtocol.setDescription('The HMAC-SHA-96 Digest Authentication Protocol.')
-if mibBuilder.loadTexts: usmHMACSHAAuthProtocol.setReference('- H. Krawczyk, M. Bellare, R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC2104, Feb 1997. - Secure Hash Algorithm. NIST FIPS 180-1. ')
-usmNoPrivProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 2, 1))
-if mibBuilder.loadTexts: usmNoPrivProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmNoPrivProtocol.setDescription('No Privacy Protocol.')
-usmDESPrivProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 2, 2))
-if mibBuilder.loadTexts: usmDESPrivProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmDESPrivProtocol.setDescription('The CBC-DES Symmetric Encryption Protocol.')
-if mibBuilder.loadTexts: usmDESPrivProtocol.setReference('- Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-1. Supersedes FIPS Publication 46, (January, 1977; reaffirmed January, 1988). - Data Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981, (December, 1980). - DES Modes of Operation, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 81, (December, 1980). - Data Encryption Algorithm - Modes of Operation, American National Standards Institute. ANSI X3.106-1983, (May 1983). ')
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(snmpPrivProtocols,
+ SnmpAdminString,
+ snmpAuthProtocols,
+ SnmpEngineID) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "snmpPrivProtocols",
+ "SnmpAdminString",
+ "snmpAuthProtocols",
+ "SnmpEngineID")
+
+(NotificationGroup,
+ ObjectGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ObjectGroup",
+ "ModuleCompliance")
+
+(Counter32,
+ Counter64,
+ snmpModules,
+ TimeTicks,
+ ModuleIdentity,
+ ObjectIdentity,
+ NotificationType,
+ IpAddress,
+ Unsigned32,
+ Integer32,
+ MibIdentifier,
+ iso,
+ Bits,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Gauge32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter32",
+ "Counter64",
+ "snmpModules",
+ "TimeTicks",
+ "ModuleIdentity",
+ "ObjectIdentity",
+ "NotificationType",
+ "IpAddress",
+ "Unsigned32",
+ "Integer32",
+ "MibIdentifier",
+ "iso",
+ "Bits",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Gauge32")
+
+(RowPointer,
+ StorageType,
+ TestAndIncr,
+ DisplayString,
+ TextualConvention,
+ RowStatus,
+ AutonomousType) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "RowPointer",
+ "StorageType",
+ "TestAndIncr",
+ "DisplayString",
+ "TextualConvention",
+ "RowStatus",
+ "AutonomousType")
+
+
+# MODULE-IDENTITY
+
+snmpUsmMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 15)
+)
+snmpUsmMIB.setRevisions(
+ ("2002-10-16 00:00",
+ "1999-01-20 00:00",
+ "1997-11-20 00:00")
+)
+snmpUsmMIB.setLastUpdated("200210160000Z")
+if mibBuilder.loadTexts:
+ snmpUsmMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpUsmMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+msg body: subscribe snmpv3 Chair: Russ Mundy Network Associates Laboratories
+postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA email:
+mundy@tislabs.com phone: +1 301-947-7107 Co-Chair: David Harrington Enterasys
+Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire
+03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor Uri
+Blumenthal Lucent Technologies postal: 67 Whippany Rd. Whippany, NJ 07981 USA
+email: uri@lucent.com phone: +1-973-386-2163 Co-editor: Bert Wijnen Lucent
+Technologies postal: Schagen 33 3461 GL Linschoten Netherlands email:
+bwijnen@lucent.com phone: +31-348-480-685
+""")
+if mibBuilder.loadTexts:
+ snmpUsmMIB.setDescription("""\
+The management information definitions for the SNMP User-based Security Model.
+Copyright (C) The Internet Society (2002). This version of this MIB module is
+part of RFC 3414; see the RFC itself for full legal notices.
+""")
+
+
class KeyChange(TextualConvention, OctetString):
- description = "Every definition of an object with this syntax must identify a protocol P, a secret key K, and a hash algorithm H that produces output of L octets. The object's value is a manager-generated, partially-random value which, when modified, causes the value of the secret key K, to be modified via a one-way function. The value of an instance of this object is the concatenation of two components: first a 'random' component and then a 'delta' component. The lengths of the random and delta components are given by the corresponding value of the protocol P; if P requires K to be a fixed length, the length of both the random and delta components is that fixed length; if P allows the length of K to be variable up to a particular maximum length, the length of the random component is that maximum length and the length of the delta component is any length less than or equal to that maximum length. For example, usmHMACMD5AuthProtocol requires K to be a fixed length of 16 octets and L - of 16 octets. usmHMACSHAAuthProtocol requires K to be a fixed length of 20 octets and L - of 20 octets. Other protocols may define other sizes, as deemed appropriate. When a requester wants to change the old key K to a new key keyNew on a remote entity, the 'random' component is obtained from either a true random generator, or from a pseudorandom generator, and the 'delta' component is computed as follows: - a temporary variable is initialized to the existing value of K; - if the length of the keyNew is greater than L octets, then: - the random component is appended to the value of the temporary variable, and the result is input to the the hash algorithm H to produce a digest value, and the temporary variable is set to this digest value; - the value of the temporary variable is XOR-ed with the first (next) L-octets (16 octets in case of MD5) of the keyNew to produce the first (next) L-octets (16 octets in case of MD5) of the 'delta' component. - the above two steps are repeated until the unused portion of the keyNew component is L octets or less, - the random component is appended to the value of the temporary variable, and the result is input to the hash algorithm H to produce a digest value; - this digest value, truncated if necessary to be the same length as the unused portion of the keyNew, is XOR-ed with the unused portion of the keyNew to produce the (final portion of the) 'delta' component. For example, using MD5 as the hash algorithm H: iterations = (lenOfDelta - 1)/16; /* integer division */ temp = keyOld; for (i = 0; i < iterations; i++) { temp = MD5 (temp || random); delta[i*16 .. (i*16)+15] = temp XOR keyNew[i*16 .. (i*16)+15]; } temp = MD5 (temp || random); delta[i*16 .. lenOfDelta-1] = temp XOR keyNew[i*16 .. lenOfDelta-1]; The 'random' and 'delta' components are then concatenated as described above, and the resulting octet string is sent to the recipient as the new value of an instance of this object. At the receiver side, when an instance of this object is set to a new value, then a new value of K is computed as follows: - a temporary variable is initialized to the existing value of K; - if the length of the delta component is greater than L octets, then: - the random component is appended to the value of the temporary variable, and the result is input to the hash algorithm H to produce a digest value, and the temporary variable is set to this digest value; - the value of the temporary variable is XOR-ed with the first (next) L-octets (16 octets in case of MD5) of the delta component to produce the first (next) L-octets (16 octets in case of MD5) of the new value of K. - the above two steps are repeated until the unused portion of the delta component is L octets or less, - the random component is appended to the value of the temporary variable, and the result is input to the hash algorithm H to produce a digest value; - this digest value, truncated if necessary to be the same length as the unused portion of the delta component, is XOR-ed with the unused portion of the delta component to produce the (final portion of the) new value of K. For example, using MD5 as the hash algorithm H: iterations = (lenOfDelta - 1)/16; /* integer division */ temp = keyOld; for (i = 0; i < iterations; i++) { temp = MD5 (temp || random); keyNew[i*16 .. (i*16)+15] = temp XOR delta[i*16 .. (i*16)+15]; } temp = MD5 (temp || random); keyNew[i*16 .. lenOfDelta-1] = temp XOR delta[i*16 .. lenOfDelta-1]; The value of an object with this syntax, whenever it is retrieved by the management protocol, is always the zero length string. Note that the keyOld and keyNew are the localized keys. Note that it is probably wise that when an SNMP entity sends a SetRequest to change a key, that it keeps a copy of the old key until it has confirmed that the key change actually succeeded. "
- status = 'current'
-
-usmStats = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 1, 1))
-usmStatsUnsupportedSecLevels = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsUnsupportedSecLevels.setStatus('current')
-if mibBuilder.loadTexts: usmStatsUnsupportedSecLevels.setDescription('The total number of packets received by the SNMP engine which were dropped because they requested a securityLevel that was unknown to the SNMP engine or otherwise unavailable. ')
-usmStatsNotInTimeWindows = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsNotInTimeWindows.setStatus('current')
-if mibBuilder.loadTexts: usmStatsNotInTimeWindows.setDescription("The total number of packets received by the SNMP engine which were dropped because they appeared outside of the authoritative SNMP engine's window. ")
-usmStatsUnknownUserNames = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsUnknownUserNames.setStatus('current')
-if mibBuilder.loadTexts: usmStatsUnknownUserNames.setDescription('The total number of packets received by the SNMP engine which were dropped because they referenced a user that was not known to the SNMP engine. ')
-usmStatsUnknownEngineIDs = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsUnknownEngineIDs.setStatus('current')
-if mibBuilder.loadTexts: usmStatsUnknownEngineIDs.setDescription('The total number of packets received by the SNMP engine which were dropped because they referenced an snmpEngineID that was not known to the SNMP engine. ')
-usmStatsWrongDigests = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsWrongDigests.setStatus('current')
-if mibBuilder.loadTexts: usmStatsWrongDigests.setDescription("The total number of packets received by the SNMP engine which were dropped because they didn't contain the expected digest value. ")
-usmStatsDecryptionErrors = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 1, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmStatsDecryptionErrors.setStatus('current')
-if mibBuilder.loadTexts: usmStatsDecryptionErrors.setDescription('The total number of packets received by the SNMP engine which were dropped because they could not be decrypted. ')
-usmUser = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 1, 2))
-usmUserSpinLock = MibScalar((1, 3, 6, 1, 6, 3, 15, 1, 2, 1), TestAndIncr()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: usmUserSpinLock.setStatus('current')
-if mibBuilder.loadTexts: usmUserSpinLock.setDescription('An advisory lock used to allow several cooperating Command Generator Applications to coordinate their use of facilities to alter secrets in the usmUserTable. ')
-usmUserTable = MibTable((1, 3, 6, 1, 6, 3, 15, 1, 2, 2), )
-if mibBuilder.loadTexts: usmUserTable.setStatus('current')
-if mibBuilder.loadTexts: usmUserTable.setDescription("The table of users configured in the SNMP engine's Local Configuration Datastore (LCD). To create a new user (i.e., to instantiate a new conceptual row in this table), it is recommended to follow this procedure: 1) GET(usmUserSpinLock.0) and save in sValue. 2) SET(usmUserSpinLock.0=sValue, usmUserCloneFrom=templateUser, usmUserStatus=createAndWait) You should use a template user to clone from which has the proper auth/priv protocol defined. If the new user is to use privacy: 3) generate the keyChange value based on the secret privKey of the clone-from user and the secret key to be used for the new user. Let us call this pkcValue. 4) GET(usmUserSpinLock.0) and save in sValue. 5) SET(usmUserSpinLock.0=sValue, usmUserPrivKeyChange=pkcValue usmUserPublic=randomValue1) 6) GET(usmUserPulic) and check it has randomValue1. If not, repeat steps 4-6. If the new user will never use privacy: 7) SET(usmUserPrivProtocol=usmNoPrivProtocol) If the new user is to use authentication: 8) generate the keyChange value based on the secret authKey of the clone-from user and the secret key to be used for the new user. Let us call this akcValue. 9) GET(usmUserSpinLock.0) and save in sValue. 10) SET(usmUserSpinLock.0=sValue, usmUserAuthKeyChange=akcValue usmUserPublic=randomValue2) 11) GET(usmUserPulic) and check it has randomValue2. If not, repeat steps 9-11. If the new user will never use authentication: 12) SET(usmUserAuthProtocol=usmNoAuthProtocol) Finally, activate the new user: 13) SET(usmUserStatus=active) The new user should now be available and ready to be used for SNMPv3 communication. Note however that access to MIB data must be provided via configuration of the SNMP-VIEW-BASED-ACM-MIB. The use of usmUserSpinlock is to avoid conflicts with another SNMP command generator application which may also be acting on the usmUserTable. ")
-usmUserEntry = MibTableRow((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1), ).setIndexNames((0, "SNMP-USER-BASED-SM-MIB", "usmUserEngineID"), (0, "SNMP-USER-BASED-SM-MIB", "usmUserName"))
-if mibBuilder.loadTexts: usmUserEntry.setStatus('current')
-if mibBuilder.loadTexts: usmUserEntry.setDescription("A user configured in the SNMP engine's Local Configuration Datastore (LCD) for the User-based Security Model. ")
-usmUserEngineID = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 1), SnmpEngineID())
-if mibBuilder.loadTexts: usmUserEngineID.setStatus('current')
-if mibBuilder.loadTexts: usmUserEngineID.setDescription("An SNMP engine's administratively-unique identifier. In a simple agent, this value is always that agent's own snmpEngineID value. The value can also take the value of the snmpEngineID of a remote SNMP engine with which this user can communicate. ")
-usmUserName = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 2), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: usmUserName.setStatus('current')
-if mibBuilder.loadTexts: usmUserName.setDescription('A human readable string representing the name of the user. This is the (User-based Security) Model dependent security ID. ')
-usmUserSecurityName = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 3), SnmpAdminString()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: usmUserSecurityName.setStatus('current')
-if mibBuilder.loadTexts: usmUserSecurityName.setDescription('A human readable string representing the user in Security Model independent format. The default transformation of the User-based Security Model dependent security ID to the securityName and vice versa is the identity function so that the securityName is the same as the userName. ')
-usmUserCloneFrom = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 4), RowPointer()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserCloneFrom.setStatus('current')
-if mibBuilder.loadTexts: usmUserCloneFrom.setDescription("A pointer to another conceptual row in this usmUserTable. The user in this other conceptual row is called the clone-from user. When a new user is created (i.e., a new conceptual row is instantiated in this table), the privacy and authentication parameters of the new user must be cloned from its clone-from user. These parameters are: - authentication protocol (usmUserAuthProtocol) - privacy protocol (usmUserPrivProtocol) They will be copied regardless of what the current value is. Cloning also causes the initial values of the secret authentication key (authKey) and the secret encryption key (privKey) of the new user to be set to the same values as the corresponding secrets of the clone-from user to allow the KeyChange process to occur as required during user creation. The first time an instance of this object is set by a management operation (either at or after its instantiation), the cloning process is invoked. Subsequent writes are successful but invoke no action to be taken by the receiver. The cloning process fails with an 'inconsistentName' error if the conceptual row representing the clone-from user does not exist or is not in an active state when the cloning process is invoked. When this object is read, the ZeroDotZero OID is returned. ")
-usmUserAuthProtocol = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 5), AutonomousType().clone((1, 3, 6, 1, 6, 3, 10, 1, 1, 1))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserAuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmUserAuthProtocol.setDescription("An indication of whether messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, can be authenticated, and if so, the type of authentication protocol which is used. An instance of this object is created concurrently with the creation of any other object instance for the same user (i.e., as part of the processing of the set operation which creates the first object instance in the same conceptual row). If an initial set operation (i.e. at row creation time) tries to set a value for an unknown or unsupported protocol, then a 'wrongValue' error must be returned. The value will be overwritten/set when a set operation is performed on the corresponding instance of usmUserCloneFrom. Once instantiated, the value of such an instance of this object can only be changed via a set operation to the value of the usmNoAuthProtocol. If a set operation tries to change the value of an existing instance of this object to any value other than usmNoAuthProtocol, then an 'inconsistentValue' error must be returned. If a set operation tries to set the value to the usmNoAuthProtocol while the usmUserPrivProtocol value in the same row is not equal to usmNoPrivProtocol, then an 'inconsistentValue' error must be returned. That means that an SNMP command generator application must first ensure that the usmUserPrivProtocol is set to the usmNoPrivProtocol value before it can set the usmUserAuthProtocol value to usmNoAuthProtocol. ")
-usmUserAuthKeyChange = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 6), KeyChange().clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserAuthKeyChange.setStatus('current')
-if mibBuilder.loadTexts: usmUserAuthKeyChange.setDescription("An object, which when modified, causes the secret authentication key used for messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, to be modified via a one-way function. The associated protocol is the usmUserAuthProtocol. The associated secret key is the user's secret authentication key (authKey). The associated hash algorithm is the algorithm used by the user's usmUserAuthProtocol. When creating a new user, it is an 'inconsistentName' error for a set operation to refer to this object unless it is previously or concurrently initialized through a set operation on the corresponding instance of usmUserCloneFrom. When the value of the corresponding usmUserAuthProtocol is usmNoAuthProtocol, then a set is successful, but effectively is a no-op. When this object is read, the zero-length (empty) string is returned. The recommended way to do a key change is as follows: 1) GET(usmUserSpinLock.0) and save in sValue. 2) generate the keyChange value based on the old (existing) secret key and the new secret key, let us call this kcValue. If you do the key change on behalf of another user: 3) SET(usmUserSpinLock.0=sValue, usmUserAuthKeyChange=kcValue usmUserPublic=randomValue) If you do the key change for yourself: 4) SET(usmUserSpinLock.0=sValue, usmUserOwnAuthKeyChange=kcValue usmUserPublic=randomValue) If you get a response with error-status of noError, then the SET succeeded and the new key is active. If you do not get a response, then you can issue a GET(usmUserPublic) and check if the value is equal to the randomValue you did send in the SET. If so, then the key change succeeded and the new key is active (probably the response got lost). If not, then the SET request probably never reached the target and so you can start over with the procedure above. ")
-usmUserOwnAuthKeyChange = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 7), KeyChange().clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserOwnAuthKeyChange.setStatus('current')
-if mibBuilder.loadTexts: usmUserOwnAuthKeyChange.setDescription("Behaves exactly as usmUserAuthKeyChange, with one notable difference: in order for the set operation to succeed, the usmUserName of the operation requester must match the usmUserName that indexes the row which is targeted by this operation. In addition, the USM security model must be used for this operation. The idea here is that access to this column can be public, since it will only allow a user to change his own secret authentication key (authKey). Note that this can only be done once the row is active. When a set is received and the usmUserName of the requester is not the same as the umsUserName that indexes the row which is targeted by this operation, then a 'noAccess' error must be returned. When a set is received and the security model in use is not USM, then a 'noAccess' error must be returned. ")
-usmUserPrivProtocol = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 8), AutonomousType().clone((1, 3, 6, 1, 6, 3, 10, 1, 2, 1))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserPrivProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmUserPrivProtocol.setDescription("An indication of whether messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, can be protected from disclosure, and if so, the type of privacy protocol which is used. An instance of this object is created concurrently with the creation of any other object instance for the same user (i.e., as part of the processing of the set operation which creates the first object instance in the same conceptual row). If an initial set operation (i.e. at row creation time) tries to set a value for an unknown or unsupported protocol, then a 'wrongValue' error must be returned. The value will be overwritten/set when a set operation is performed on the corresponding instance of usmUserCloneFrom. Once instantiated, the value of such an instance of this object can only be changed via a set operation to the value of the usmNoPrivProtocol. If a set operation tries to change the value of an existing instance of this object to any value other than usmNoPrivProtocol, then an 'inconsistentValue' error must be returned. Note that if any privacy protocol is used, then you must also use an authentication protocol. In other words, if usmUserPrivProtocol is set to anything else than usmNoPrivProtocol, then the corresponding instance of usmUserAuthProtocol cannot have a value of usmNoAuthProtocol. If it does, then an 'inconsistentValue' error must be returned. ")
-usmUserPrivKeyChange = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 9), KeyChange().clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserPrivKeyChange.setStatus('current')
-if mibBuilder.loadTexts: usmUserPrivKeyChange.setDescription("An object, which when modified, causes the secret encryption key used for messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, to be modified via a one-way function. The associated protocol is the usmUserPrivProtocol. The associated secret key is the user's secret privacy key (privKey). The associated hash algorithm is the algorithm used by the user's usmUserAuthProtocol. When creating a new user, it is an 'inconsistentName' error for a set operation to refer to this object unless it is previously or concurrently initialized through a set operation on the corresponding instance of usmUserCloneFrom. When the value of the corresponding usmUserPrivProtocol is usmNoPrivProtocol, then a set is successful, but effectively is a no-op. When this object is read, the zero-length (empty) string is returned. See the description clause of usmUserAuthKeyChange for a recommended procedure to do a key change. ")
-usmUserOwnPrivKeyChange = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 10), KeyChange().clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserOwnPrivKeyChange.setStatus('current')
-if mibBuilder.loadTexts: usmUserOwnPrivKeyChange.setDescription("Behaves exactly as usmUserPrivKeyChange, with one notable difference: in order for the Set operation to succeed, the usmUserName of the operation requester must match the usmUserName that indexes the row which is targeted by this operation. In addition, the USM security model must be used for this operation. The idea here is that access to this column can be public, since it will only allow a user to change his own secret privacy key (privKey). Note that this can only be done once the row is active. When a set is received and the usmUserName of the requester is not the same as the umsUserName that indexes the row which is targeted by this operation, then a 'noAccess' error must be returned. When a set is received and the security model in use is not USM, then a 'noAccess' error must be returned. ")
-usmUserPublic = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 11), OctetString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserPublic.setStatus('current')
-if mibBuilder.loadTexts: usmUserPublic.setDescription("A publicly-readable value which can be written as part of the procedure for changing a user's secret authentication and/or privacy key, and later read to determine whether the change of the secret was effected. ")
-usmUserStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 12), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserStorageType.setStatus('current')
-if mibBuilder.loadTexts: usmUserStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' must allow write-access at a minimum to: - usmUserAuthKeyChange, usmUserOwnAuthKeyChange and usmUserPublic for a user who employs authentication, and - usmUserPrivKeyChange, usmUserOwnPrivKeyChange and usmUserPublic for a user who employs privacy. Note that any user who employs authentication or privacy must allow its secret(s) to be updated and thus cannot be 'readOnly'. If an initial set operation tries to set the value to 'readOnly' for a user who employs authentication or privacy, then an 'inconsistentValue' error must be returned. Note that if the value has been previously set (implicit or explicit) to any value, then the rules as defined in the StorageType Textual Convention apply. It is an implementation issue to decide if a SET for a readOnly or permanent row is accepted at all. In some contexts this may make sense, in others it may not. If a SET for a readOnly or permanent row is not accepted at all, then a 'wrongValue' error must be returned. ")
-usmUserStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 13), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: usmUserStatus.setStatus('current')
-if mibBuilder.loadTexts: usmUserStatus.setDescription("The status of this conceptual row. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the usmUserStatus column is 'notReady'. In particular, a newly created row for a user who employs authentication, cannot be made active until the corresponding usmUserCloneFrom and usmUserAuthKeyChange have been set. Further, a newly created row for a user who also employs privacy, cannot be made active until the usmUserPrivKeyChange has been set. The RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified: The value of this object has no effect on whether other objects in this conceptual row can be modified, except for usmUserOwnAuthKeyChange and usmUserOwnPrivKeyChange. For these 2 objects, the value of usmUserStatus MUST be active. ")
-usmMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 2, 1))
-usmMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 15, 2, 2))
-usmMIBCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 15, 2, 1, 1)).setObjects(("SNMP-USER-BASED-SM-MIB", "usmMIBBasicGroup"))
-if mibBuilder.loadTexts: usmMIBCompliance.setDescription('The compliance statement for SNMP engines which implement the SNMP-USER-BASED-SM-MIB. ')
-usmMIBBasicGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 15, 2, 2, 1)).setObjects(("SNMP-USER-BASED-SM-MIB", "usmStatsUnsupportedSecLevels"), ("SNMP-USER-BASED-SM-MIB", "usmStatsNotInTimeWindows"), ("SNMP-USER-BASED-SM-MIB", "usmStatsUnknownUserNames"), ("SNMP-USER-BASED-SM-MIB", "usmStatsUnknownEngineIDs"), ("SNMP-USER-BASED-SM-MIB", "usmStatsWrongDigests"), ("SNMP-USER-BASED-SM-MIB", "usmStatsDecryptionErrors"), ("SNMP-USER-BASED-SM-MIB", "usmUserSpinLock"), ("SNMP-USER-BASED-SM-MIB", "usmUserSecurityName"), ("SNMP-USER-BASED-SM-MIB", "usmUserCloneFrom"), ("SNMP-USER-BASED-SM-MIB", "usmUserAuthProtocol"), ("SNMP-USER-BASED-SM-MIB", "usmUserAuthKeyChange"), ("SNMP-USER-BASED-SM-MIB", "usmUserOwnAuthKeyChange"), ("SNMP-USER-BASED-SM-MIB", "usmUserPrivProtocol"), ("SNMP-USER-BASED-SM-MIB", "usmUserPrivKeyChange"), ("SNMP-USER-BASED-SM-MIB", "usmUserOwnPrivKeyChange"), ("SNMP-USER-BASED-SM-MIB", "usmUserPublic"), ("SNMP-USER-BASED-SM-MIB", "usmUserStorageType"), ("SNMP-USER-BASED-SM-MIB", "usmUserStatus"))
-if mibBuilder.loadTexts: usmMIBBasicGroup.setDescription('A collection of objects providing for configuration of an SNMP engine which implements the SNMP User-based Security Model. ')
-mibBuilder.exportSymbols("SNMP-USER-BASED-SM-MIB", usmUserStorageType=usmUserStorageType, PYSNMP_MODULE_ID=snmpUsmMIB, usmUserTable=usmUserTable, KeyChange=KeyChange, usmUserStatus=usmUserStatus, usmStatsNotInTimeWindows=usmStatsNotInTimeWindows, usmMIBGroups=usmMIBGroups, usmHMACSHAAuthProtocol=usmHMACSHAAuthProtocol, usmUserPrivKeyChange=usmUserPrivKeyChange, usmUserPublic=usmUserPublic, usmUserAuthProtocol=usmUserAuthProtocol, snmpUsmMIB=snmpUsmMIB, usmNoAuthProtocol=usmNoAuthProtocol, usmUserAuthKeyChange=usmUserAuthKeyChange, usmUserOwnAuthKeyChange=usmUserOwnAuthKeyChange, usmUserPrivProtocol=usmUserPrivProtocol, usmStatsUnknownUserNames=usmStatsUnknownUserNames, usmUserEngineID=usmUserEngineID, usmMIBConformance=usmMIBConformance, usmDESPrivProtocol=usmDESPrivProtocol, usmUser=usmUser, usmMIBCompliance=usmMIBCompliance, usmUserCloneFrom=usmUserCloneFrom, usmUserEntry=usmUserEntry, usmMIBBasicGroup=usmMIBBasicGroup, usmStatsUnsupportedSecLevels=usmStatsUnsupportedSecLevels, usmMIBObjects=usmMIBObjects, usmNoPrivProtocol=usmNoPrivProtocol, usmStatsWrongDigests=usmStatsWrongDigests, usmUserOwnPrivKeyChange=usmUserOwnPrivKeyChange, usmHMACMD5AuthProtocol=usmHMACMD5AuthProtocol, usmUserSecurityName=usmUserSecurityName, usmStatsUnknownEngineIDs=usmStatsUnknownEngineIDs, usmUserSpinLock=usmUserSpinLock, usmStats=usmStats, usmUserName=usmUserName, usmMIBCompliances=usmMIBCompliances, usmStatsDecryptionErrors=usmStatsDecryptionErrors)
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+Every definition of an object with this syntax must identify a protocol P, a
+secret key K, and a hash algorithm H that produces output of L octets. The
+object's value is a manager-generated, partially-random value which, when
+modified, causes the value of the secret key K, to be modified via a one-way
+function. The value of an instance of this object is the concatenation of two
+components: first a 'random' component and then a 'delta' component. The
+lengths of the random and delta components are given by the corresponding value
+of the protocol P; if P requires K to be a fixed length, the length of both the
+random and delta components is that fixed length; if P allows the length of K
+to be variable up to a particular maximum length, the length of the random
+component is that maximum length and the length of the delta component is any
+length less than or equal to that maximum length. For example,
+usmHMACMD5AuthProtocol requires K to be a fixed length of 16 octets and L - of
+16 octets. usmHMACSHAAuthProtocol requires K to be a fixed length of 20 octets
+and L - of 20 octets. Other protocols may define other sizes, as deemed
+appropriate. When a requester wants to change the old key K to a new key keyNew
+on a remote entity, the 'random' component is obtained from either a true
+random generator, or from a pseudorandom generator, and the 'delta' component
+is computed as follows: - a temporary variable is initialized to the existing
+value of K; - if the length of the keyNew is greater than L octets, then: - the
+random component is appended to the value of the temporary variable, and the
+result is input to the the hash algorithm H to produce a digest value, and the
+temporary variable is set to this digest value; - the value of the temporary
+variable is XOR-ed with the first (next) L-octets (16 octets in case of MD5) of
+the keyNew to produce the first (next) L-octets (16 octets in case of MD5) of
+the 'delta' component. - the above two steps are repeated until the unused
+portion of the keyNew component is L octets or less, - the random component is
+appended to the value of the temporary variable, and the result is input to the
+hash algorithm H to produce a digest value; - this digest value, truncated if
+necessary to be the same length as the unused portion of the keyNew, is XOR-ed
+with the unused portion of the keyNew to produce the (final portion of the)
+'delta' component. For example, using MD5 as the hash algorithm H: iterations =
+(lenOfDelta - 1)/16; /* integer division */ temp = keyOld; for (i = 0; i <
+iterations; i++) { temp = MD5 (temp || random); delta[i*16 .. (i*16)+15] = temp
+XOR keyNew[i*16 .. (i*16)+15]; } temp = MD5 (temp || random); delta[i*16 ..
+lenOfDelta-1] = temp XOR keyNew[i*16 .. lenOfDelta-1]; The 'random' and 'delta'
+components are then concatenated as described above, and the resulting octet
+string is sent to the recipient as the new value of an instance of this object.
+At the receiver side, when an instance of this object is set to a new value,
+then a new value of K is computed as follows: - a temporary variable is
+initialized to the existing value of K; - if the length of the delta component
+is greater than L octets, then: - the random component is appended to the value
+of the temporary variable, and the result is input to the hash algorithm H to
+produce a digest value, and the temporary variable is set to this digest value;
+- the value of the temporary variable is XOR-ed with the first (next) L-octets
+(16 octets in case of MD5) of the delta component to produce the first (next)
+L-octets (16 octets in case of MD5) of the new value of K. - the above two
+steps are repeated until the unused portion of the delta component is L octets
+or less, - the random component is appended to the value of the temporary
+variable, and the result is input to the hash algorithm H to produce a digest
+value; - this digest value, truncated if necessary to be the same length as the
+unused portion of the delta component, is XOR-ed with the unused portion of the
+delta component to produce the (final portion of the) new value of K. For
+example, using MD5 as the hash algorithm H: iterations = (lenOfDelta - 1)/16;
+/* integer division */ temp = keyOld; for (i = 0; i < iterations; i++) { temp =
+MD5 (temp || random); keyNew[i*16 .. (i*16)+15] = temp XOR delta[i*16 ..
+(i*16)+15]; } temp = MD5 (temp || random); keyNew[i*16 .. lenOfDelta-1] = temp
+XOR delta[i*16 .. lenOfDelta-1]; The value of an object with this syntax,
+whenever it is retrieved by the management protocol, is always the zero length
+string. Note that the keyOld and keyNew are the localized keys. Note that it is
+probably wise that when an SNMP entity sends a SetRequest to change a key, that
+it keeps a copy of the old key until it has confirmed that the key change
+actually succeeded.
+"""
+
+
+_UsmNoAuthProtocol_ObjectIdentity = ObjectIdentity
+usmNoAuthProtocol = _UsmNoAuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 1)
+)
+if mibBuilder.loadTexts:
+ usmNoAuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmNoAuthProtocol.setDescription("""\
+No Authentication Protocol.
+""")
+_UsmHMACMD5AuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMACMD5AuthProtocol = _UsmHMACMD5AuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 2)
+)
+if mibBuilder.loadTexts:
+ usmHMACMD5AuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMACMD5AuthProtocol.setReference("""\
+- H. Krawczyk, M. Bellare, R. Canetti HMAC: Keyed-Hashing for Message
+Authentication, RFC2104, Feb 1997. - Rivest, R., Message Digest Algorithm MD5,
+RFC1321.
+""")
+if mibBuilder.loadTexts:
+ usmHMACMD5AuthProtocol.setDescription("""\
+The HMAC-MD5-96 Digest Authentication Protocol.
+""")
+_UsmHMACSHAAuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMACSHAAuthProtocol = _UsmHMACSHAAuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 3)
+)
+if mibBuilder.loadTexts:
+ usmHMACSHAAuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMACSHAAuthProtocol.setReference("""\
+- H. Krawczyk, M. Bellare, R. Canetti, HMAC: Keyed-Hashing for Message
+Authentication, RFC2104, Feb 1997. - Secure Hash Algorithm. NIST FIPS 180-1.
+""")
+if mibBuilder.loadTexts:
+ usmHMACSHAAuthProtocol.setDescription("""\
+The HMAC-SHA-96 Digest Authentication Protocol.
+""")
+_UsmNoPrivProtocol_ObjectIdentity = ObjectIdentity
+usmNoPrivProtocol = _UsmNoPrivProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 2, 1)
+)
+if mibBuilder.loadTexts:
+ usmNoPrivProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmNoPrivProtocol.setDescription("""\
+No Privacy Protocol.
+""")
+_UsmDESPrivProtocol_ObjectIdentity = ObjectIdentity
+usmDESPrivProtocol = _UsmDESPrivProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 2, 2)
+)
+if mibBuilder.loadTexts:
+ usmDESPrivProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmDESPrivProtocol.setReference("""\
+- Data Encryption Standard, National Institute of Standards and Technology.
+Federal Information Processing Standard (FIPS) Publication 46-1. Supersedes
+FIPS Publication 46, (January, 1977; reaffirmed January, 1988). - Data
+Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981,
+(December, 1980). - DES Modes of Operation, National Institute of Standards and
+Technology. Federal Information Processing Standard (FIPS) Publication 81,
+(December, 1980). - Data Encryption Algorithm - Modes of Operation, American
+National Standards Institute. ANSI X3.106-1983, (May 1983).
+""")
+if mibBuilder.loadTexts:
+ usmDESPrivProtocol.setDescription("""\
+The CBC-DES Symmetric Encryption Protocol.
+""")
+_UsmMIBObjects_ObjectIdentity = ObjectIdentity
+usmMIBObjects = _UsmMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 1)
+)
+_UsmStats_ObjectIdentity = ObjectIdentity
+usmStats = _UsmStats_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1)
+)
+_UsmStatsUnsupportedSecLevels_Type = Counter32
+_UsmStatsUnsupportedSecLevels_Object = MibScalar
+usmStatsUnsupportedSecLevels = _UsmStatsUnsupportedSecLevels_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 1),
+ _UsmStatsUnsupportedSecLevels_Type()
+)
+usmStatsUnsupportedSecLevels.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsUnsupportedSecLevels.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsUnsupportedSecLevels.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they requested a securityLevel that was unknown to the SNMP engine or
+otherwise unavailable.
+""")
+_UsmStatsNotInTimeWindows_Type = Counter32
+_UsmStatsNotInTimeWindows_Object = MibScalar
+usmStatsNotInTimeWindows = _UsmStatsNotInTimeWindows_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 2),
+ _UsmStatsNotInTimeWindows_Type()
+)
+usmStatsNotInTimeWindows.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsNotInTimeWindows.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsNotInTimeWindows.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they appeared outside of the authoritative SNMP engine's window.
+""")
+_UsmStatsUnknownUserNames_Type = Counter32
+_UsmStatsUnknownUserNames_Object = MibScalar
+usmStatsUnknownUserNames = _UsmStatsUnknownUserNames_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 3),
+ _UsmStatsUnknownUserNames_Type()
+)
+usmStatsUnknownUserNames.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsUnknownUserNames.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsUnknownUserNames.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they referenced a user that was not known to the SNMP engine.
+""")
+_UsmStatsUnknownEngineIDs_Type = Counter32
+_UsmStatsUnknownEngineIDs_Object = MibScalar
+usmStatsUnknownEngineIDs = _UsmStatsUnknownEngineIDs_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 4),
+ _UsmStatsUnknownEngineIDs_Type()
+)
+usmStatsUnknownEngineIDs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsUnknownEngineIDs.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsUnknownEngineIDs.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they referenced an snmpEngineID that was not known to the SNMP engine.
+""")
+_UsmStatsWrongDigests_Type = Counter32
+_UsmStatsWrongDigests_Object = MibScalar
+usmStatsWrongDigests = _UsmStatsWrongDigests_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 5),
+ _UsmStatsWrongDigests_Type()
+)
+usmStatsWrongDigests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsWrongDigests.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsWrongDigests.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they didn't contain the expected digest value.
+""")
+_UsmStatsDecryptionErrors_Type = Counter32
+_UsmStatsDecryptionErrors_Object = MibScalar
+usmStatsDecryptionErrors = _UsmStatsDecryptionErrors_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 1, 6),
+ _UsmStatsDecryptionErrors_Type()
+)
+usmStatsDecryptionErrors.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmStatsDecryptionErrors.setStatus("current")
+if mibBuilder.loadTexts:
+ usmStatsDecryptionErrors.setDescription("""\
+The total number of packets received by the SNMP engine which were dropped
+because they could not be decrypted.
+""")
+_UsmUser_ObjectIdentity = ObjectIdentity
+usmUser = _UsmUser_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2)
+)
+_UsmUserSpinLock_Type = TestAndIncr
+_UsmUserSpinLock_Object = MibScalar
+usmUserSpinLock = _UsmUserSpinLock_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 1),
+ _UsmUserSpinLock_Type()
+)
+usmUserSpinLock.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ usmUserSpinLock.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserSpinLock.setDescription("""\
+An advisory lock used to allow several cooperating Command Generator
+Applications to coordinate their use of facilities to alter secrets in the
+usmUserTable.
+""")
+_UsmUserTable_Object = MibTable
+usmUserTable = _UsmUserTable_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2)
+)
+if mibBuilder.loadTexts:
+ usmUserTable.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserTable.setDescription("""\
+The table of users configured in the SNMP engine's Local Configuration
+Datastore (LCD). To create a new user (i.e., to instantiate a new conceptual
+row in this table), it is recommended to follow this procedure: 1)
+GET(usmUserSpinLock.0) and save in sValue. 2) SET(usmUserSpinLock.0=sValue,
+usmUserCloneFrom=templateUser, usmUserStatus=createAndWait) You should use a
+template user to clone from which has the proper auth/priv protocol defined. If
+the new user is to use privacy: 3) generate the keyChange value based on the
+secret privKey of the clone-from user and the secret key to be used for the new
+user. Let us call this pkcValue. 4) GET(usmUserSpinLock.0) and save in sValue.
+5) SET(usmUserSpinLock.0=sValue, usmUserPrivKeyChange=pkcValue
+usmUserPublic=randomValue1) 6) GET(usmUserPulic) and check it has randomValue1.
+If not, repeat steps 4-6. If the new user will never use privacy: 7)
+SET(usmUserPrivProtocol=usmNoPrivProtocol) If the new user is to use
+authentication: 8) generate the keyChange value based on the secret authKey of
+the clone-from user and the secret key to be used for the new user. Let us call
+this akcValue. 9) GET(usmUserSpinLock.0) and save in sValue. 10)
+SET(usmUserSpinLock.0=sValue, usmUserAuthKeyChange=akcValue
+usmUserPublic=randomValue2) 11) GET(usmUserPulic) and check it has
+randomValue2. If not, repeat steps 9-11. If the new user will never use
+authentication: 12) SET(usmUserAuthProtocol=usmNoAuthProtocol) Finally,
+activate the new user: 13) SET(usmUserStatus=active) The new user should now be
+available and ready to be used for SNMPv3 communication. Note however that
+access to MIB data must be provided via configuration of the SNMP-VIEW-BASED-
+ACM-MIB. The use of usmUserSpinlock is to avoid conflicts with another SNMP
+command generator application which may also be acting on the usmUserTable.
+""")
+_UsmUserEntry_Object = MibTableRow
+usmUserEntry = _UsmUserEntry_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1)
+)
+usmUserEntry.setIndexNames(
+ (0, "SNMP-USER-BASED-SM-MIB", "usmUserEngineID"),
+ (0, "SNMP-USER-BASED-SM-MIB", "usmUserName"),
+)
+if mibBuilder.loadTexts:
+ usmUserEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserEntry.setDescription("""\
+A user configured in the SNMP engine's Local Configuration Datastore (LCD) for
+the User-based Security Model.
+""")
+_UsmUserEngineID_Type = SnmpEngineID
+_UsmUserEngineID_Object = MibTableColumn
+usmUserEngineID = _UsmUserEngineID_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 1),
+ _UsmUserEngineID_Type()
+)
+usmUserEngineID.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ usmUserEngineID.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserEngineID.setDescription("""\
+An SNMP engine's administratively-unique identifier. In a simple agent, this
+value is always that agent's own snmpEngineID value. The value can also take
+the value of the snmpEngineID of a remote SNMP engine with which this user can
+communicate.
+""")
+
+
+class _UsmUserName_Type(SnmpAdminString):
+ """Custom type usmUserName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_UsmUserName_Type.__name__ = "SnmpAdminString"
+_UsmUserName_Object = MibTableColumn
+usmUserName = _UsmUserName_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 2),
+ _UsmUserName_Type()
+)
+usmUserName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ usmUserName.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserName.setDescription("""\
+A human readable string representing the name of the user. This is the (User-
+based Security) Model dependent security ID.
+""")
+_UsmUserSecurityName_Type = SnmpAdminString
+_UsmUserSecurityName_Object = MibTableColumn
+usmUserSecurityName = _UsmUserSecurityName_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 3),
+ _UsmUserSecurityName_Type()
+)
+usmUserSecurityName.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ usmUserSecurityName.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserSecurityName.setDescription("""\
+A human readable string representing the user in Security Model independent
+format. The default transformation of the User-based Security Model dependent
+security ID to the securityName and vice versa is the identity function so that
+the securityName is the same as the userName.
+""")
+_UsmUserCloneFrom_Type = RowPointer
+_UsmUserCloneFrom_Object = MibTableColumn
+usmUserCloneFrom = _UsmUserCloneFrom_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 4),
+ _UsmUserCloneFrom_Type()
+)
+usmUserCloneFrom.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserCloneFrom.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserCloneFrom.setDescription("""\
+A pointer to another conceptual row in this usmUserTable. The user in this
+other conceptual row is called the clone-from user. When a new user is created
+(i.e., a new conceptual row is instantiated in this table), the privacy and
+authentication parameters of the new user must be cloned from its clone-from
+user. These parameters are: - authentication protocol (usmUserAuthProtocol) -
+privacy protocol (usmUserPrivProtocol) They will be copied regardless of what
+the current value is. Cloning also causes the initial values of the secret
+authentication key (authKey) and the secret encryption key (privKey) of the new
+user to be set to the same values as the corresponding secrets of the clone-
+from user to allow the KeyChange process to occur as required during user
+creation. The first time an instance of this object is set by a management
+operation (either at or after its instantiation), the cloning process is
+invoked. Subsequent writes are successful but invoke no action to be taken by
+the receiver. The cloning process fails with an 'inconsistentName' error if the
+conceptual row representing the clone-from user does not exist or is not in an
+active state when the cloning process is invoked. When this object is read, the
+ZeroDotZero OID is returned.
+""")
+
+
+class _UsmUserAuthProtocol_Type(AutonomousType):
+ """Custom type usmUserAuthProtocol based on AutonomousType"""
+
+_UsmUserAuthProtocol_Object = MibTableColumn
+usmUserAuthProtocol = _UsmUserAuthProtocol_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 5),
+ _UsmUserAuthProtocol_Type().clone((1, 3, 6, 1, 6, 3, 10, 1, 1, 1))
+)
+usmUserAuthProtocol.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserAuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserAuthProtocol.setDescription("""\
+An indication of whether messages sent on behalf of this user to/from the SNMP
+engine identified by usmUserEngineID, can be authenticated, and if so, the type
+of authentication protocol which is used. An instance of this object is created
+concurrently with the creation of any other object instance for the same user
+(i.e., as part of the processing of the set operation which creates the first
+object instance in the same conceptual row). If an initial set operation (i.e.
+at row creation time) tries to set a value for an unknown or unsupported
+protocol, then a 'wrongValue' error must be returned. The value will be
+overwritten/set when a set operation is performed on the corresponding instance
+of usmUserCloneFrom. Once instantiated, the value of such an instance of this
+object can only be changed via a set operation to the value of the
+usmNoAuthProtocol. If a set operation tries to change the value of an existing
+instance of this object to any value other than usmNoAuthProtocol, then an
+'inconsistentValue' error must be returned. If a set operation tries to set the
+value to the usmNoAuthProtocol while the usmUserPrivProtocol value in the same
+row is not equal to usmNoPrivProtocol, then an 'inconsistentValue' error must
+be returned. That means that an SNMP command generator application must first
+ensure that the usmUserPrivProtocol is set to the usmNoPrivProtocol value
+before it can set the usmUserAuthProtocol value to usmNoAuthProtocol.
+""")
+
+
+class _UsmUserAuthKeyChange_Type(KeyChange):
+ """Custom type usmUserAuthKeyChange based on KeyChange"""
+ defaultHexValue = ""
+
+
+_UsmUserAuthKeyChange_Object = MibTableColumn
+usmUserAuthKeyChange = _UsmUserAuthKeyChange_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 6),
+ _UsmUserAuthKeyChange_Type()
+)
+usmUserAuthKeyChange.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserAuthKeyChange.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserAuthKeyChange.setDescription("""\
+An object, which when modified, causes the secret authentication key used for
+messages sent on behalf of this user to/from the SNMP engine identified by
+usmUserEngineID, to be modified via a one-way function. The associated protocol
+is the usmUserAuthProtocol. The associated secret key is the user's secret
+authentication key (authKey). The associated hash algorithm is the algorithm
+used by the user's usmUserAuthProtocol. When creating a new user, it is an
+'inconsistentName' error for a set operation to refer to this object unless it
+is previously or concurrently initialized through a set operation on the
+corresponding instance of usmUserCloneFrom. When the value of the corresponding
+usmUserAuthProtocol is usmNoAuthProtocol, then a set is successful, but
+effectively is a no-op. When this object is read, the zero-length (empty)
+string is returned. The recommended way to do a key change is as follows: 1)
+GET(usmUserSpinLock.0) and save in sValue. 2) generate the keyChange value
+based on the old (existing) secret key and the new secret key, let us call this
+kcValue. If you do the key change on behalf of another user: 3)
+SET(usmUserSpinLock.0=sValue, usmUserAuthKeyChange=kcValue
+usmUserPublic=randomValue) If you do the key change for yourself: 4)
+SET(usmUserSpinLock.0=sValue, usmUserOwnAuthKeyChange=kcValue
+usmUserPublic=randomValue) If you get a response with error-status of noError,
+then the SET succeeded and the new key is active. If you do not get a response,
+then you can issue a GET(usmUserPublic) and check if the value is equal to the
+randomValue you did send in the SET. If so, then the key change succeeded and
+the new key is active (probably the response got lost). If not, then the SET
+request probably never reached the target and so you can start over with the
+procedure above.
+""")
+
+
+class _UsmUserOwnAuthKeyChange_Type(KeyChange):
+ """Custom type usmUserOwnAuthKeyChange based on KeyChange"""
+ defaultHexValue = ""
+
+
+_UsmUserOwnAuthKeyChange_Object = MibTableColumn
+usmUserOwnAuthKeyChange = _UsmUserOwnAuthKeyChange_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 7),
+ _UsmUserOwnAuthKeyChange_Type()
+)
+usmUserOwnAuthKeyChange.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserOwnAuthKeyChange.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserOwnAuthKeyChange.setDescription("""\
+Behaves exactly as usmUserAuthKeyChange, with one notable difference: in order
+for the set operation to succeed, the usmUserName of the operation requester
+must match the usmUserName that indexes the row which is targeted by this
+operation. In addition, the USM security model must be used for this operation.
+The idea here is that access to this column can be public, since it will only
+allow a user to change his own secret authentication key (authKey). Note that
+this can only be done once the row is active. When a set is received and the
+usmUserName of the requester is not the same as the umsUserName that indexes
+the row which is targeted by this operation, then a 'noAccess' error must be
+returned. When a set is received and the security model in use is not USM, then
+a 'noAccess' error must be returned.
+""")
+
+
+class _UsmUserPrivProtocol_Type(AutonomousType):
+ """Custom type usmUserPrivProtocol based on AutonomousType"""
+ defaultValue = "(1, 3, 6, 1, 6, 3, 10, 1, 2, 1)"
+
+
+_UsmUserPrivProtocol_Object = MibTableColumn
+usmUserPrivProtocol = _UsmUserPrivProtocol_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 8),
+ _UsmUserPrivProtocol_Type().clone((1, 3, 6, 1, 6, 3, 10, 1, 2, 1))
+)
+usmUserPrivProtocol.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserPrivProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserPrivProtocol.setDescription("""\
+An indication of whether messages sent on behalf of this user to/from the SNMP
+engine identified by usmUserEngineID, can be protected from disclosure, and if
+so, the type of privacy protocol which is used. An instance of this object is
+created concurrently with the creation of any other object instance for the
+same user (i.e., as part of the processing of the set operation which creates
+the first object instance in the same conceptual row). If an initial set
+operation (i.e. at row creation time) tries to set a value for an unknown or
+unsupported protocol, then a 'wrongValue' error must be returned. The value
+will be overwritten/set when a set operation is performed on the corresponding
+instance of usmUserCloneFrom. Once instantiated, the value of such an instance
+of this object can only be changed via a set operation to the value of the
+usmNoPrivProtocol. If a set operation tries to change the value of an existing
+instance of this object to any value other than usmNoPrivProtocol, then an
+'inconsistentValue' error must be returned. Note that if any privacy protocol
+is used, then you must also use an authentication protocol. In other words, if
+usmUserPrivProtocol is set to anything else than usmNoPrivProtocol, then the
+corresponding instance of usmUserAuthProtocol cannot have a value of
+usmNoAuthProtocol. If it does, then an 'inconsistentValue' error must be
+returned.
+""")
+
+
+class _UsmUserPrivKeyChange_Type(KeyChange):
+ """Custom type usmUserPrivKeyChange based on KeyChange"""
+ defaultHexValue = ""
+
+
+_UsmUserPrivKeyChange_Object = MibTableColumn
+usmUserPrivKeyChange = _UsmUserPrivKeyChange_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 9),
+ _UsmUserPrivKeyChange_Type()
+)
+usmUserPrivKeyChange.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserPrivKeyChange.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserPrivKeyChange.setDescription("""\
+An object, which when modified, causes the secret encryption key used for
+messages sent on behalf of this user to/from the SNMP engine identified by
+usmUserEngineID, to be modified via a one-way function. The associated protocol
+is the usmUserPrivProtocol. The associated secret key is the user's secret
+privacy key (privKey). The associated hash algorithm is the algorithm used by
+the user's usmUserAuthProtocol. When creating a new user, it is an
+'inconsistentName' error for a set operation to refer to this object unless it
+is previously or concurrently initialized through a set operation on the
+corresponding instance of usmUserCloneFrom. When the value of the corresponding
+usmUserPrivProtocol is usmNoPrivProtocol, then a set is successful, but
+effectively is a no-op. When this object is read, the zero-length (empty)
+string is returned. See the description clause of usmUserAuthKeyChange for a
+recommended procedure to do a key change.
+""")
+
+
+class _UsmUserOwnPrivKeyChange_Type(KeyChange):
+ """Custom type usmUserOwnPrivKeyChange based on KeyChange"""
+ defaultHexValue = ""
+
+
+_UsmUserOwnPrivKeyChange_Object = MibTableColumn
+usmUserOwnPrivKeyChange = _UsmUserOwnPrivKeyChange_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 10),
+ _UsmUserOwnPrivKeyChange_Type()
+)
+usmUserOwnPrivKeyChange.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserOwnPrivKeyChange.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserOwnPrivKeyChange.setDescription("""\
+Behaves exactly as usmUserPrivKeyChange, with one notable difference: in order
+for the Set operation to succeed, the usmUserName of the operation requester
+must match the usmUserName that indexes the row which is targeted by this
+operation. In addition, the USM security model must be used for this operation.
+The idea here is that access to this column can be public, since it will only
+allow a user to change his own secret privacy key (privKey). Note that this can
+only be done once the row is active. When a set is received and the usmUserName
+of the requester is not the same as the umsUserName that indexes the row which
+is targeted by this operation, then a 'noAccess' error must be returned. When a
+set is received and the security model in use is not USM, then a 'noAccess'
+error must be returned.
+""")
+
+
+class _UsmUserPublic_Type(OctetString):
+ """Custom type usmUserPublic based on OctetString"""
+ defaultHexValue = ""
+
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_UsmUserPublic_Type.__name__ = "OctetString"
+_UsmUserPublic_Object = MibTableColumn
+usmUserPublic = _UsmUserPublic_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 11),
+ _UsmUserPublic_Type()
+)
+usmUserPublic.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserPublic.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserPublic.setDescription("""\
+A publicly-readable value which can be written as part of the procedure for
+changing a user's secret authentication and/or privacy key, and later read to
+determine whether the change of the secret was effected.
+""")
+
+
+class _UsmUserStorageType_Type(StorageType):
+ """Custom type usmUserStorageType based on StorageType"""
+
+
+_UsmUserStorageType_Object = MibTableColumn
+usmUserStorageType = _UsmUserStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 12),
+ _UsmUserStorageType_Type().clone('nonVolatile')
+)
+usmUserStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' must allow write-access at a minimum to: - usmUserAuthKeyChange,
+usmUserOwnAuthKeyChange and usmUserPublic for a user who employs
+authentication, and - usmUserPrivKeyChange, usmUserOwnPrivKeyChange and
+usmUserPublic for a user who employs privacy. Note that any user who employs
+authentication or privacy must allow its secret(s) to be updated and thus
+cannot be 'readOnly'. If an initial set operation tries to set the value to
+'readOnly' for a user who employs authentication or privacy, then an
+'inconsistentValue' error must be returned. Note that if the value has been
+previously set (implicit or explicit) to any value, then the rules as defined
+in the StorageType Textual Convention apply. It is an implementation issue to
+decide if a SET for a readOnly or permanent row is accepted at all. In some
+contexts this may make sense, in others it may not. If a SET for a readOnly or
+permanent row is not accepted at all, then a 'wrongValue' error must be
+returned.
+""")
+_UsmUserStatus_Type = RowStatus
+_UsmUserStatus_Object = MibTableColumn
+usmUserStatus = _UsmUserStatus_Object(
+ (1, 3, 6, 1, 6, 3, 15, 1, 2, 2, 1, 13),
+ _UsmUserStatus_Type()
+)
+usmUserStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ usmUserStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ usmUserStatus.setDescription("""\
+The status of this conceptual row. Until instances of all corresponding columns
+are appropriately configured, the value of the corresponding instance of the
+usmUserStatus column is 'notReady'. In particular, a newly created row for a
+user who employs authentication, cannot be made active until the corresponding
+usmUserCloneFrom and usmUserAuthKeyChange have been set. Further, a newly
+created row for a user who also employs privacy, cannot be made active until
+the usmUserPrivKeyChange has been set. The RowStatus TC [RFC2579] requires that
+this DESCRIPTION clause states under which circumstances other objects in this
+row can be modified: The value of this object has no effect on whether other
+objects in this conceptual row can be modified, except for
+usmUserOwnAuthKeyChange and usmUserOwnPrivKeyChange. For these 2 objects, the
+value of usmUserStatus MUST be active.
+""")
+_UsmMIBConformance_ObjectIdentity = ObjectIdentity
+usmMIBConformance = _UsmMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 2)
+)
+_UsmMIBCompliances_ObjectIdentity = ObjectIdentity
+usmMIBCompliances = _UsmMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 2, 1)
+)
+_UsmMIBGroups_ObjectIdentity = ObjectIdentity
+usmMIBGroups = _UsmMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 15, 2, 2)
+)
+
+usmMIBBasicGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 15, 2, 2, 1)
+)
+usmMIBBasicGroup.setObjects(
+ *(("SNMP-USER-BASED-SM-MIB", "usmStatsUnsupportedSecLevels"),
+ ("SNMP-USER-BASED-SM-MIB", "usmStatsNotInTimeWindows"),
+ ("SNMP-USER-BASED-SM-MIB", "usmStatsUnknownUserNames"),
+ ("SNMP-USER-BASED-SM-MIB", "usmStatsUnknownEngineIDs"),
+ ("SNMP-USER-BASED-SM-MIB", "usmStatsWrongDigests"),
+ ("SNMP-USER-BASED-SM-MIB", "usmStatsDecryptionErrors"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserSpinLock"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserSecurityName"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserCloneFrom"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserAuthProtocol"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserAuthKeyChange"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserOwnAuthKeyChange"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserPrivProtocol"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserPrivKeyChange"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserOwnPrivKeyChange"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserPublic"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserStorageType"),
+ ("SNMP-USER-BASED-SM-MIB", "usmUserStatus"))
+)
+if mibBuilder.loadTexts:
+ usmMIBBasicGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ usmMIBBasicGroup.setDescription("""\
+A collection of objects providing for configuration of an SNMP engine which
+implements the SNMP User-based Security Model.
+""")
+
+usmMIBCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 15, 2, 1, 1)
+)
+if mibBuilder.loadTexts:
+ usmMIBCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ usmMIBCompliance.setDescription("""\
+The compliance statement for SNMP engines which implement the SNMP-USER-BASED-
+SM-MIB.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-USER-BASED-SM-MIB",
+ **{"KeyChange": KeyChange,
+ "usmNoAuthProtocol": usmNoAuthProtocol,
+ "usmHMACMD5AuthProtocol": usmHMACMD5AuthProtocol,
+ "usmHMACSHAAuthProtocol": usmHMACSHAAuthProtocol,
+ "usmNoPrivProtocol": usmNoPrivProtocol,
+ "usmDESPrivProtocol": usmDESPrivProtocol,
+ "snmpUsmMIB": snmpUsmMIB,
+ "usmMIBObjects": usmMIBObjects,
+ "usmStats": usmStats,
+ "usmStatsUnsupportedSecLevels": usmStatsUnsupportedSecLevels,
+ "usmStatsNotInTimeWindows": usmStatsNotInTimeWindows,
+ "usmStatsUnknownUserNames": usmStatsUnknownUserNames,
+ "usmStatsUnknownEngineIDs": usmStatsUnknownEngineIDs,
+ "usmStatsWrongDigests": usmStatsWrongDigests,
+ "usmStatsDecryptionErrors": usmStatsDecryptionErrors,
+ "usmUser": usmUser,
+ "usmUserSpinLock": usmUserSpinLock,
+ "usmUserTable": usmUserTable,
+ "usmUserEntry": usmUserEntry,
+ "usmUserEngineID": usmUserEngineID,
+ "usmUserName": usmUserName,
+ "usmUserSecurityName": usmUserSecurityName,
+ "usmUserCloneFrom": usmUserCloneFrom,
+ "usmUserAuthProtocol": usmUserAuthProtocol,
+ "usmUserAuthKeyChange": usmUserAuthKeyChange,
+ "usmUserOwnAuthKeyChange": usmUserOwnAuthKeyChange,
+ "usmUserPrivProtocol": usmUserPrivProtocol,
+ "usmUserPrivKeyChange": usmUserPrivKeyChange,
+ "usmUserOwnPrivKeyChange": usmUserOwnPrivKeyChange,
+ "usmUserPublic": usmUserPublic,
+ "usmUserStorageType": usmUserStorageType,
+ "usmUserStatus": usmUserStatus,
+ "usmMIBConformance": usmMIBConformance,
+ "usmMIBCompliances": usmMIBCompliances,
+ "usmMIBCompliance": usmMIBCompliance,
+ "usmMIBGroups": usmMIBGroups,
+ "usmMIBBasicGroup": usmMIBBasicGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMP-USM-AES-MIB.py b/pysnmp/smi/mibs/SNMP-USM-AES-MIB.py
index 7aee7bf6..b9e8b060 100644
--- a/pysnmp/smi/mibs/SNMP-USM-AES-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-USM-AES-MIB.py
@@ -4,27 +4,140 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-USM-AES-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-USM-AES-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:49:58 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:00:48 2019
#
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueSizeConstraint, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint, ConstraintsIntersection = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueSizeConstraint", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint", "ConstraintsIntersection")
-snmpPrivProtocols, = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "snmpPrivProtocols")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-Counter32, iso, ModuleIdentity, IpAddress, MibIdentifier, Integer32, TimeTicks, snmpModules, Bits, Gauge32, NotificationType, ObjectIdentity, Unsigned32, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter64 = mibBuilder.importSymbols("SNMPv2-SMI", "Counter32", "iso", "ModuleIdentity", "IpAddress", "MibIdentifier", "Integer32", "TimeTicks", "snmpModules", "Bits", "Gauge32", "NotificationType", "ObjectIdentity", "Unsigned32", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter64")
-DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
-snmpUsmAesMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 20))
-if mibBuilder.loadTexts: snmpUsmAesMIB.setRevisions(('2004-06-14 00:00',))
-if mibBuilder.loadTexts: snmpUsmAesMIB.setLastUpdated('200406140000Z')
-if mibBuilder.loadTexts: snmpUsmAesMIB.setOrganization('IETF')
-if mibBuilder.loadTexts: snmpUsmAesMIB.setContactInfo('Uri Blumenthal Lucent Technologies / Bell Labs 67 Whippany Rd. 14D-318 Whippany, NJ 07981, USA 973-386-2163 uri@bell-labs.com Fabio Maino Andiamo Systems, Inc. 375 East Tasman Drive San Jose, CA 95134, USA 408-853-7530 fmaino@andiamo.com Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706, USA 408-526-5260 kzm@cisco.com')
-if mibBuilder.loadTexts: snmpUsmAesMIB.setDescription("Definitions of Object Identities needed for the use of AES by SNMP's User-based Security Model. Copyright (C) The Internet Society (2004). This version of this MIB module is part of RFC 3826; see the RFC itself for full legal notices. Supplementary information may be available on http://www.ietf.org/copyrights/ianamib.html.")
-usmAesCfb128Protocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 2, 4))
-if mibBuilder.loadTexts: usmAesCfb128Protocol.setStatus('current')
-if mibBuilder.loadTexts: usmAesCfb128Protocol.setDescription('The CFB128-AES-128 Privacy Protocol.')
-if mibBuilder.loadTexts: usmAesCfb128Protocol.setReference('- Specification for the ADVANCED ENCRYPTION STANDARD. Federal Information Processing Standard (FIPS) Publication 197. (November 2001). - Dworkin, M., NIST Recommendation for Block Cipher Modes of Operation, Methods and Techniques. NIST Special Publication 800-38A (December 2001). ')
-mibBuilder.exportSymbols("SNMP-USM-AES-MIB", usmAesCfb128Protocol=usmAesCfb128Protocol, snmpUsmAesMIB=snmpUsmAesMIB, PYSNMP_MODULE_ID=snmpUsmAesMIB)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(snmpPrivProtocols,) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "snmpPrivProtocols")
+
+(NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(Bits,
+ Counter64,
+ Integer32,
+ Unsigned32,
+ IpAddress,
+ MibIdentifier,
+ NotificationType,
+ ObjectIdentity,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ ModuleIdentity,
+ Counter32,
+ iso,
+ TimeTicks,
+ snmpModules,
+ Gauge32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Bits",
+ "Counter64",
+ "Integer32",
+ "Unsigned32",
+ "IpAddress",
+ "MibIdentifier",
+ "NotificationType",
+ "ObjectIdentity",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "ModuleIdentity",
+ "Counter32",
+ "iso",
+ "TimeTicks",
+ "snmpModules",
+ "Gauge32")
+
+(TextualConvention,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString")
+
+snmpUsmAesMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 20)
+)
+snmpUsmAesMIB.setRevisions(
+ ("2004-06-14 00:00",)
+)
+snmpUsmAesMIB.setLastUpdated("200406140000Z")
+if mibBuilder.loadTexts:
+ snmpUsmAesMIB.setOrganization("""\
+IETF
+""")
+snmpUsmAesMIB.setContactInfo("""\
+Uri Blumenthal Lucent Technologies / Bell Labs 67 Whippany Rd. 14D-318
+Whippany, NJ 07981, USA 973-386-2163 uri@bell-labs.com Fabio Maino Andiamo
+Systems, Inc. 375 East Tasman Drive San Jose, CA 95134, USA 408-853-7530
+fmaino@andiamo.com Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive
+San Jose, CA 95134-1706, USA 408-526-5260 kzm@cisco.com
+""")
+if mibBuilder.loadTexts:
+ snmpUsmAesMIB.setDescription("""\
+Definitions of Object Identities needed for the use of AES by SNMP's User-based
+Security Model. Copyright (C) The Internet Society (2004). This version of this
+MIB module is part of RFC 3826; see the RFC itself for full legal notices.
+Supplementary information may be available on
+http://www.ietf.org/copyrights/ianamib.html.
+""")
+
+_UsmAesCfb128Protocol_ObjectIdentity = ObjectIdentity
+usmAesCfb128Protocol = _UsmAesCfb128Protocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 2, 4)
+)
+if mibBuilder.loadTexts:
+ usmAesCfb128Protocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmAesCfb128Protocol.setReference("""\
+- Specification for the ADVANCED ENCRYPTION STANDARD. Federal Information
+Processing Standard (FIPS) Publication 197. (November 2001). - Dworkin, M.,
+NIST Recommendation for Block Cipher Modes of Operation, Methods and
+Techniques. NIST Special Publication 800-38A (December 2001).
+""")
+if mibBuilder.loadTexts:
+ usmAesCfb128Protocol.setDescription("""\
+The CFB128-AES-128 Privacy Protocol.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-USM-AES-MIB",
+ **{"usmAesCfb128Protocol": usmAesCfb128Protocol,
+ "snmpUsmAesMIB": snmpUsmAesMIB}
+)
diff --git a/pysnmp/smi/mibs/SNMP-USM-HMAC-SHA2-MIB.py b/pysnmp/smi/mibs/SNMP-USM-HMAC-SHA2-MIB.py
index 10463e1d..f97f149c 100644
--- a/pysnmp/smi/mibs/SNMP-USM-HMAC-SHA2-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-USM-HMAC-SHA2-MIB.py
@@ -1,37 +1,203 @@
#
-# PySNMP MIB module SNMP-USM-HMAC-SHA2-MIB (http://snmplabs.com/pysnmp)
+# This file is part of pysnmp software.
+#
+# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
+# License: http://snmplabs.com/pysnmp/license.html
+#
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-USM-HMAC-SHA2-MIB
-# Produced by pysmi-0.1.4 at Thu Aug 3 02:14:32 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:00:48 2019
#
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueSizeConstraint, SingleValueConstraint, ConstraintsUnion, ConstraintsIntersection, ValueRangeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueSizeConstraint", "SingleValueConstraint", "ConstraintsUnion", "ConstraintsIntersection", "ValueRangeConstraint")
-snmpAuthProtocols, = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "snmpAuthProtocols")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-Counter32, Bits, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter64, ObjectIdentity, TimeTicks, Gauge32, Unsigned32, MibIdentifier, mib_2, iso, ModuleIdentity, NotificationType, IpAddress, Integer32 = mibBuilder.importSymbols("SNMPv2-SMI", "Counter32", "Bits", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter64", "ObjectIdentity", "TimeTicks", "Gauge32", "Unsigned32", "MibIdentifier", "mib-2", "iso", "ModuleIdentity", "NotificationType", "IpAddress", "Integer32")
-TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
-snmpUsmHmacSha2MIB = ModuleIdentity((1, 3, 6, 1, 2, 1, 235))
-if mibBuilder.loadTexts: snmpUsmHmacSha2MIB.setRevisions(('2016-04-18 00:00', '2015-10-14 00:00',))
-if mibBuilder.loadTexts: snmpUsmHmacSha2MIB.setLastUpdated('201604180000Z')
-if mibBuilder.loadTexts: snmpUsmHmacSha2MIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpUsmHmacSha2MIB.setContactInfo('WG email: OPSAWG@ietf.org Subscribe: https://www.ietf.org/mailman/listinfo/opsawg Editor: Johannes Merkle secunet Security Networks Postal: Mergenthaler Allee 77 D-65760 Eschborn Germany Phone: +49 20154543091 Email: johannes.merkle@secunet.com Co-Editor: Manfred Lochter Bundesamt fuer Sicherheit in der Informationstechnik (BSI) Postal: Postfach 200363 D-53133 Bonn Germany Phone: +49 228 9582 5643 Email: manfred.lochter@bsi.bund.de')
-if mibBuilder.loadTexts: snmpUsmHmacSha2MIB.setDescription("Definitions of Object Identities needed for the use of HMAC-SHA2 Authentication Protocols by SNMP's User-based Security Model. Copyright (c) 2016 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info).")
-usmHMAC128SHA224AuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 4))
-if mibBuilder.loadTexts: usmHMAC128SHA224AuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMAC128SHA224AuthProtocol.setDescription('The Authentication Protocol usmHMAC128SHA224AuthProtocol uses HMAC-SHA-224 and truncates output to 128 bits.')
-if mibBuilder.loadTexts: usmHMAC128SHA224AuthProtocol.setReference('- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC 2104. - National Institute of Standards and Technology, Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.')
-usmHMAC192SHA256AuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 5))
-if mibBuilder.loadTexts: usmHMAC192SHA256AuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMAC192SHA256AuthProtocol.setDescription('The Authentication Protocol usmHMAC192SHA256AuthProtocol uses HMAC-SHA-256 and truncates output to 192 bits.')
-if mibBuilder.loadTexts: usmHMAC192SHA256AuthProtocol.setReference('- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC 2104. - National Institute of Standards and Technology, Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.')
-usmHMAC256SHA384AuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 6))
-if mibBuilder.loadTexts: usmHMAC256SHA384AuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMAC256SHA384AuthProtocol.setDescription('The Authentication Protocol usmHMAC256SHA384AuthProtocol uses HMAC-SHA-384 and truncates output to 256 bits.')
-if mibBuilder.loadTexts: usmHMAC256SHA384AuthProtocol.setReference('- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC 2104. - National Institute of Standards and Technology, Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.')
-usmHMAC384SHA512AuthProtocol = ObjectIdentity((1, 3, 6, 1, 6, 3, 10, 1, 1, 7))
-if mibBuilder.loadTexts: usmHMAC384SHA512AuthProtocol.setStatus('current')
-if mibBuilder.loadTexts: usmHMAC384SHA512AuthProtocol.setDescription('The Authentication Protocol usmHMAC384SHA512AuthProtocol uses HMAC-SHA-512 and truncates output to 384 bits.')
-if mibBuilder.loadTexts: usmHMAC384SHA512AuthProtocol.setReference('- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC 2104. - National Institute of Standards and Technology, Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.')
-mibBuilder.exportSymbols("SNMP-USM-HMAC-SHA2-MIB", usmHMAC256SHA384AuthProtocol=usmHMAC256SHA384AuthProtocol, usmHMAC192SHA256AuthProtocol=usmHMAC192SHA256AuthProtocol, usmHMAC384SHA512AuthProtocol=usmHMAC384SHA512AuthProtocol, PYSNMP_MODULE_ID=snmpUsmHmacSha2MIB, snmpUsmHmacSha2MIB=snmpUsmHmacSha2MIB, usmHMAC128SHA224AuthProtocol=usmHMAC128SHA224AuthProtocol)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(snmpAuthProtocols,) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "snmpAuthProtocols")
+
+(ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(mib_2,
+ Gauge32,
+ NotificationType,
+ Unsigned32,
+ ModuleIdentity,
+ iso,
+ Counter32,
+ TimeTicks,
+ Counter64,
+ IpAddress,
+ ObjectIdentity,
+ Bits,
+ Integer32,
+ MibIdentifier,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "mib-2",
+ "Gauge32",
+ "NotificationType",
+ "Unsigned32",
+ "ModuleIdentity",
+ "iso",
+ "Counter32",
+ "TimeTicks",
+ "Counter64",
+ "IpAddress",
+ "ObjectIdentity",
+ "Bits",
+ "Integer32",
+ "MibIdentifier",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn")
+
+(TextualConvention,
+ DisplayString) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention",
+ "DisplayString")
+
+snmpUsmHmacSha2MIB = ModuleIdentity(
+ (1, 3, 6, 1, 2, 1, 235)
+)
+snmpUsmHmacSha2MIB.setRevisions(
+ ("2016-04-18 00:00",
+ "2015-10-14 00:00")
+)
+snmpUsmHmacSha2MIB.setLastUpdated("201604180000Z")
+if mibBuilder.loadTexts:
+ snmpUsmHmacSha2MIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpUsmHmacSha2MIB.setContactInfo("""\
+WG email: OPSAWG@ietf.org Subscribe:
+https://www.ietf.org/mailman/listinfo/opsawg Editor: Johannes Merkle secunet
+Security Networks Postal: Mergenthaler Allee 77 D-65760 Eschborn Germany Phone:
++49 20154543091 Email: johannes.merkle@secunet.com Co-Editor: Manfred Lochter
+Bundesamt fuer Sicherheit in der Informationstechnik (BSI) Postal: Postfach
+200363 D-53133 Bonn Germany Phone: +49 228 9582 5643 Email:
+manfred.lochter@bsi.bund.de
+""")
+if mibBuilder.loadTexts:
+ snmpUsmHmacSha2MIB.setDescription("""\
+Definitions of Object Identities needed for the use of HMAC-SHA2 Authentication
+Protocols by SNMP's User-based Security Model. Copyright (c) 2016 IETF Trust
+and the persons identified as authors of the code. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, is permitted pursuant to, and subject to the license terms
+contained in, the Simplified BSD License set forth in Section 4.c of the IETF
+Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org
+/license-info).
+""")
+
+_UsmHMAC128SHA224AuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMAC128SHA224AuthProtocol = _UsmHMAC128SHA224AuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 4)
+)
+if mibBuilder.loadTexts:
+ usmHMAC128SHA224AuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMAC128SHA224AuthProtocol.setReference("""\
+- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message
+Authentication, RFC 2104. - National Institute of Standards and Technology,
+Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.
+""")
+if mibBuilder.loadTexts:
+ usmHMAC128SHA224AuthProtocol.setDescription("""\
+The Authentication Protocol usmHMAC128SHA224AuthProtocol uses HMAC-SHA-224 and
+truncates output to 128 bits.
+""")
+_UsmHMAC192SHA256AuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMAC192SHA256AuthProtocol = _UsmHMAC192SHA256AuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 5)
+)
+if mibBuilder.loadTexts:
+ usmHMAC192SHA256AuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMAC192SHA256AuthProtocol.setReference("""\
+- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message
+Authentication, RFC 2104. - National Institute of Standards and Technology,
+Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.
+""")
+if mibBuilder.loadTexts:
+ usmHMAC192SHA256AuthProtocol.setDescription("""\
+The Authentication Protocol usmHMAC192SHA256AuthProtocol uses HMAC-SHA-256 and
+truncates output to 192 bits.
+""")
+_UsmHMAC256SHA384AuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMAC256SHA384AuthProtocol = _UsmHMAC256SHA384AuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 6)
+)
+if mibBuilder.loadTexts:
+ usmHMAC256SHA384AuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMAC256SHA384AuthProtocol.setReference("""\
+- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message
+Authentication, RFC 2104. - National Institute of Standards and Technology,
+Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.
+""")
+if mibBuilder.loadTexts:
+ usmHMAC256SHA384AuthProtocol.setDescription("""\
+The Authentication Protocol usmHMAC256SHA384AuthProtocol uses HMAC-SHA-384 and
+truncates output to 256 bits.
+""")
+_UsmHMAC384SHA512AuthProtocol_ObjectIdentity = ObjectIdentity
+usmHMAC384SHA512AuthProtocol = _UsmHMAC384SHA512AuthProtocol_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 10, 1, 1, 7)
+)
+if mibBuilder.loadTexts:
+ usmHMAC384SHA512AuthProtocol.setStatus("current")
+if mibBuilder.loadTexts:
+ usmHMAC384SHA512AuthProtocol.setReference("""\
+- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: Keyed-Hashing for Message
+Authentication, RFC 2104. - National Institute of Standards and Technology,
+Secure Hash Standard (SHS), FIPS PUB 180-4, 2012.
+""")
+if mibBuilder.loadTexts:
+ usmHMAC384SHA512AuthProtocol.setDescription("""\
+The Authentication Protocol usmHMAC384SHA512AuthProtocol uses HMAC-SHA-512 and
+truncates output to 384 bits.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-USM-HMAC-SHA2-MIB",
+ **{"snmpUsmHmacSha2MIB": snmpUsmHmacSha2MIB,
+ "usmHMAC128SHA224AuthProtocol": usmHMAC128SHA224AuthProtocol,
+ "usmHMAC192SHA256AuthProtocol": usmHMAC192SHA256AuthProtocol,
+ "usmHMAC256SHA384AuthProtocol": usmHMAC256SHA384AuthProtocol,
+ "usmHMAC384SHA512AuthProtocol": usmHMAC384SHA512AuthProtocol}
+)
diff --git a/pysnmp/smi/mibs/SNMP-VIEW-BASED-ACM-MIB.py b/pysnmp/smi/mibs/SNMP-VIEW-BASED-ACM-MIB.py
index 2b04e4d2..c978fdad 100644
--- a/pysnmp/smi/mibs/SNMP-VIEW-BASED-ACM-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-VIEW-BASED-ACM-MIB.py
@@ -4,126 +4,947 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMP-VIEW-BASED-ACM-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMP-VIEW-BASED-ACM-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:50:37 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:07:11 2019
#
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ValueRangeConstraint, ValueSizeConstraint, ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint")
-SnmpAdminString, SnmpSecurityLevel, SnmpSecurityModel = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString", "SnmpSecurityLevel", "SnmpSecurityModel")
-NotificationGroup, ModuleCompliance, ObjectGroup = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance", "ObjectGroup")
-TimeTicks, Gauge32, Bits, snmpModules, IpAddress, Counter64, MibScalar, MibTable, MibTableRow, MibTableColumn, Unsigned32, Integer32, ModuleIdentity, NotificationType, MibIdentifier, ObjectIdentity, iso, Counter32 = mibBuilder.importSymbols("SNMPv2-SMI", "TimeTicks", "Gauge32", "Bits", "snmpModules", "IpAddress", "Counter64", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Unsigned32", "Integer32", "ModuleIdentity", "NotificationType", "MibIdentifier", "ObjectIdentity", "iso", "Counter32")
-TestAndIncr, RowStatus, TextualConvention, DisplayString, StorageType = mibBuilder.importSymbols("SNMPv2-TC", "TestAndIncr", "RowStatus", "TextualConvention", "DisplayString", "StorageType")
-snmpVacmMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 16))
-if mibBuilder.loadTexts: snmpVacmMIB.setRevisions(('2002-10-16 00:00', '1999-01-20 00:00', '1997-11-20 00:00',))
-if mibBuilder.loadTexts: snmpVacmMIB.setLastUpdated('200210160000Z')
-if mibBuilder.loadTexts: snmpVacmMIB.setOrganization('SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpVacmMIB.setContactInfo('WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA email: mundy@tislabs.com phone: +1 301-947-7107 Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten Netherlands email: bwijnen@lucent.com phone: +31-348-480-685 Co-editor: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131 USA email: randy_presuhn@bmc.com phone: +1 408-546-1006 Co-editor: Keith McCloghrie Cisco Systems, Inc. postal: 170 West Tasman Drive San Jose, CA 95134-1706 USA email: kzm@cisco.com phone: +1-408-526-5260 ')
-if mibBuilder.loadTexts: snmpVacmMIB.setDescription('The management information definitions for the View-based Access Control Model for SNMP. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3415; see the RFC itself for full legal notices. ')
-vacmMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 16, 1))
-vacmMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 16, 2))
-vacmContextTable = MibTable((1, 3, 6, 1, 6, 3, 16, 1, 1), )
-if mibBuilder.loadTexts: vacmContextTable.setStatus('current')
-if mibBuilder.loadTexts: vacmContextTable.setDescription('The table of locally available contexts. This table provides information to SNMP Command Generator applications so that they can properly configure the vacmAccessTable to control access to all contexts at the SNMP entity. This table may change dynamically if the SNMP entity allows that contexts are added/deleted dynamically (for instance when its configuration changes). Such changes would happen only if the management instrumentation at that SNMP entity recognizes more (or fewer) contexts. The presence of entries in this table and of entries in the vacmAccessTable are independent. That is, a context identified by an entry in this table is not necessarily referenced by any entries in the vacmAccessTable; and the context(s) referenced by an entry in the vacmAccessTable does not necessarily currently exist and thus need not be identified by an entry in this table. This table must be made accessible via the default context so that Command Responder applications have a standard way of retrieving the information. This table is read-only. It cannot be configured via SNMP. ')
-vacmContextEntry = MibTableRow((1, 3, 6, 1, 6, 3, 16, 1, 1, 1), ).setIndexNames((0, "SNMP-VIEW-BASED-ACM-MIB", "vacmContextName"))
-if mibBuilder.loadTexts: vacmContextEntry.setStatus('current')
-if mibBuilder.loadTexts: vacmContextEntry.setDescription('Information about a particular context.')
-vacmContextName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 1, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: vacmContextName.setStatus('current')
-if mibBuilder.loadTexts: vacmContextName.setDescription('A human readable name identifying a particular context at a particular SNMP entity. The empty contextName (zero length) represents the default context. ')
-# The RowStatus column is not present in the MIB
-vacmContextStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 1, 1, 2), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmContextStatus.setStatus('current')
-if mibBuilder.loadTexts: vacmContextStatus.setDescription("The status of this conceptual row. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the vacmContextTableStatus column is 'notReady'. In particular, a newly created row cannot be made active until a value has been set for vacmContextName. The RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified: The value of this object has no effect on whether other objects in this conceptual row can be modified. ")
-vacmSecurityToGroupTable = MibTable((1, 3, 6, 1, 6, 3, 16, 1, 2), )
-if mibBuilder.loadTexts: vacmSecurityToGroupTable.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityToGroupTable.setDescription('This table maps a combination of securityModel and securityName into a groupName which is used to define an access control policy for a group of principals. ')
-vacmSecurityToGroupEntry = MibTableRow((1, 3, 6, 1, 6, 3, 16, 1, 2, 1), ).setIndexNames((0, "SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityModel"), (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityName"))
-if mibBuilder.loadTexts: vacmSecurityToGroupEntry.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityToGroupEntry.setDescription('An entry in this table maps the combination of a securityModel and securityName into a groupName. ')
-vacmSecurityModel = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 1), SnmpSecurityModel().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647)))
-if mibBuilder.loadTexts: vacmSecurityModel.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityModel.setDescription("The Security Model, by which the vacmSecurityName referenced by this entry is provided. Note, this object may not take the 'any' (0) value. ")
-vacmSecurityName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 2), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: vacmSecurityName.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityName.setDescription('The securityName for the principal, represented in a Security Model independent format, which is mapped by this entry to a groupName. ')
-vacmGroupName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 3), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32))).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmGroupName.setStatus('current')
-if mibBuilder.loadTexts: vacmGroupName.setDescription('The name of the group to which this entry (e.g., the combination of securityModel and securityName) belongs. This groupName is used as index into the vacmAccessTable to select an access control policy. However, a value in this table does not imply that an instance with the value exists in table vacmAccesTable. ')
-vacmSecurityToGroupStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 4), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmSecurityToGroupStorageType.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityToGroupStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row. ")
-vacmSecurityToGroupStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 5), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmSecurityToGroupStatus.setStatus('current')
-if mibBuilder.loadTexts: vacmSecurityToGroupStatus.setDescription("The status of this conceptual row. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the vacmSecurityToGroupStatus column is 'notReady'. In particular, a newly created row cannot be made active until a value has been set for vacmGroupName. The RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified: The value of this object has no effect on whether other objects in this conceptual row can be modified. ")
-vacmAccessTable = MibTable((1, 3, 6, 1, 6, 3, 16, 1, 4), )
-if mibBuilder.loadTexts: vacmAccessTable.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessTable.setDescription("The table of access rights for groups. Each entry is indexed by a groupName, a contextPrefix, a securityModel and a securityLevel. To determine whether access is allowed, one entry from this table needs to be selected and the proper viewName from that entry must be used for access control checking. To select the proper entry, follow these steps: 1) the set of possible matches is formed by the intersection of the following sets of entries: the set of entries with identical vacmGroupName the union of these two sets: - the set with identical vacmAccessContextPrefix - the set of entries with vacmAccessContextMatch value of 'prefix' and matching vacmAccessContextPrefix intersected with the union of these two sets: - the set of entries with identical vacmSecurityModel - the set of entries with vacmSecurityModel value of 'any' intersected with the set of entries with vacmAccessSecurityLevel value less than or equal to the requested securityLevel 2) if this set has only one member, we're done otherwise, it comes down to deciding how to weight the preferences between ContextPrefixes, SecurityModels, and SecurityLevels as follows: a) if the subset of entries with securityModel matching the securityModel in the message is not empty, then discard the rest. b) if the subset of entries with vacmAccessContextPrefix matching the contextName in the message is not empty, then discard the rest c) discard all entries with ContextPrefixes shorter than the longest one remaining in the set d) select the entry with the highest securityLevel Please note that for securityLevel noAuthNoPriv, all groups are really equivalent since the assumption that the securityName has been authenticated does not hold. ")
-vacmAccessEntry = MibTableRow((1, 3, 6, 1, 6, 3, 16, 1, 4, 1), ).setIndexNames((0, "SNMP-VIEW-BASED-ACM-MIB", "vacmGroupName"), (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessContextPrefix"), (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessSecurityModel"), (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessSecurityLevel"))
-if mibBuilder.loadTexts: vacmAccessEntry.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessEntry.setDescription('An access right configured in the Local Configuration Datastore (LCD) authorizing access to an SNMP context. Entries in this table can use an instance value for object vacmGroupName even if no entry in table vacmAccessSecurityToGroupTable has a corresponding value for object vacmGroupName. ')
-vacmAccessContextPrefix = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)))
-if mibBuilder.loadTexts: vacmAccessContextPrefix.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessContextPrefix.setDescription("In order to gain the access rights allowed by this conceptual row, a contextName must match exactly (if the value of vacmAccessContextMatch is 'exact') or partially (if the value of vacmAccessContextMatch is 'prefix') to the value of the instance of this object. ")
-vacmAccessSecurityModel = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 2), SnmpSecurityModel())
-if mibBuilder.loadTexts: vacmAccessSecurityModel.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessSecurityModel.setDescription('In order to gain the access rights allowed by this conceptual row, this securityModel must be in use. ')
-vacmAccessSecurityLevel = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 3), SnmpSecurityLevel())
-if mibBuilder.loadTexts: vacmAccessSecurityLevel.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessSecurityLevel.setDescription('The minimum level of security required in order to gain the access rights allowed by this conceptual row. A securityLevel of noAuthNoPriv is less than authNoPriv which in turn is less than authPriv. If multiple entries are equally indexed except for this vacmAccessSecurityLevel index, then the entry which has the highest value for vacmAccessSecurityLevel is selected. ')
-vacmAccessContextMatch = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 4), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("exact", 1), ("prefix", 2))).clone('exact')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessContextMatch.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessContextMatch.setDescription('If the value of this object is exact(1), then all rows where the contextName exactly matches vacmAccessContextPrefix are selected. If the value of this object is prefix(2), then all rows where the contextName whose starting octets exactly match vacmAccessContextPrefix are selected. This allows for a simple form of wildcarding. ')
-vacmAccessReadViewName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 5), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessReadViewName.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessReadViewName.setDescription('The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes read access. The identified MIB view is that one for which the vacmViewTreeFamilyViewName has the same value as the instance of this object; if the value is the empty string or if there is no active MIB view having this value of vacmViewTreeFamilyViewName, then no access is granted. ')
-vacmAccessWriteViewName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 6), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessWriteViewName.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessWriteViewName.setDescription('The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes write access. The identified MIB view is that one for which the vacmViewTreeFamilyViewName has the same value as the instance of this object; if the value is the empty string or if there is no active MIB view having this value of vacmViewTreeFamilyViewName, then no access is granted. ')
-vacmAccessNotifyViewName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 7), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(0, 32)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessNotifyViewName.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessNotifyViewName.setDescription('The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes access for notifications. The identified MIB view is that one for which the vacmViewTreeFamilyViewName has the same value as the instance of this object; if the value is the empty string or if there is no active MIB view having this value of vacmViewTreeFamilyViewName, then no access is granted. ')
-vacmAccessStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 8), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessStorageType.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row. ")
-vacmAccessStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 9), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmAccessStatus.setStatus('current')
-if mibBuilder.loadTexts: vacmAccessStatus.setDescription('The status of this conceptual row. The RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified: The value of this object has no effect on whether other objects in this conceptual row can be modified. ')
-vacmMIBViews = MibIdentifier((1, 3, 6, 1, 6, 3, 16, 1, 5))
-vacmViewSpinLock = MibScalar((1, 3, 6, 1, 6, 3, 16, 1, 5, 1), TestAndIncr()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: vacmViewSpinLock.setStatus('current')
-if mibBuilder.loadTexts: vacmViewSpinLock.setDescription("An advisory lock used to allow cooperating SNMP Command Generator applications to coordinate their use of the Set operation in creating or modifying views. When creating a new view or altering an existing view, it is important to understand the potential interactions with other uses of the view. The vacmViewSpinLock should be retrieved. The name of the view to be created should be determined to be unique by the SNMP Command Generator application by consulting the vacmViewTreeFamilyTable. Finally, the named view may be created (Set), including the advisory lock. If another SNMP Command Generator application has altered the views in the meantime, then the spin lock's value will have changed, and so this creation will fail because it will specify the wrong value for the spin lock. Since this is an advisory lock, the use of this lock is not enforced. ")
-vacmViewTreeFamilyTable = MibTable((1, 3, 6, 1, 6, 3, 16, 1, 5, 2), )
-if mibBuilder.loadTexts: vacmViewTreeFamilyTable.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyTable.setDescription("Locally held information about families of subtrees within MIB views. Each MIB view is defined by two sets of view subtrees: - the included view subtrees, and - the excluded view subtrees. Every such view subtree, both the included and the excluded ones, is defined in this table. To determine if a particular object instance is in a particular MIB view, compare the object instance's OBJECT IDENTIFIER with each of the MIB view's active entries in this table. If none match, then the object instance is not in the MIB view. If one or more match, then the object instance is included in, or excluded from, the MIB view according to the value of vacmViewTreeFamilyType in the entry whose value of vacmViewTreeFamilySubtree has the most sub-identifiers. If multiple entries match and have the same number of sub-identifiers (when wildcarding is specified with the value of vacmViewTreeFamilyMask), then the lexicographically greatest instance of vacmViewTreeFamilyType determines the inclusion or exclusion. An object instance's OBJECT IDENTIFIER X matches an active entry in this table when the number of sub-identifiers in X is at least as many as in the value of vacmViewTreeFamilySubtree for the entry, and each sub-identifier in the value of vacmViewTreeFamilySubtree matches its corresponding sub-identifier in X. Two sub-identifiers match either if the corresponding bit of the value of vacmViewTreeFamilyMask for the entry is zero (the 'wild card' value), or if they are equal. A 'family' of subtrees is the set of subtrees defined by a particular combination of values of vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask. In the case where no 'wild card' is defined in the vacmViewTreeFamilyMask, the family of subtrees reduces to a single subtree. When creating or changing MIB views, an SNMP Command Generator application should utilize the vacmViewSpinLock to try to avoid collisions. See DESCRIPTION clause of vacmViewSpinLock. When creating MIB views, it is strongly advised that first the 'excluded' vacmViewTreeFamilyEntries are created and then the 'included' entries. When deleting MIB views, it is strongly advised that first the 'included' vacmViewTreeFamilyEntries are deleted and then the 'excluded' entries. If a create for an entry for instance-level access control is received and the implementation does not support instance-level granularity, then an inconsistentName error must be returned. ")
-vacmViewTreeFamilyEntry = MibTableRow((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1), ).setIndexNames((0, "SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyViewName"), (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilySubtree"))
-if mibBuilder.loadTexts: vacmViewTreeFamilyEntry.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyEntry.setDescription("Information on a particular family of view subtrees included in or excluded from a particular SNMP context's MIB view. Implementations must not restrict the number of families of view subtrees for a given MIB view, except as dictated by resource constraints on the overall number of entries in the vacmViewTreeFamilyTable. If no conceptual rows exist in this table for a given MIB view (viewName), that view may be thought of as consisting of the empty set of view subtrees. ")
-vacmViewTreeFamilyViewName = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 1), SnmpAdminString().subtype(subtypeSpec=ValueSizeConstraint(1, 32)))
-if mibBuilder.loadTexts: vacmViewTreeFamilyViewName.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyViewName.setDescription('The human readable name for a family of view subtrees. ')
-vacmViewTreeFamilySubtree = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 2), ObjectIdentifier())
-if mibBuilder.loadTexts: vacmViewTreeFamilySubtree.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilySubtree.setDescription('The MIB subtree which when combined with the corresponding instance of vacmViewTreeFamilyMask defines a family of view subtrees. ')
-vacmViewTreeFamilyMask = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 3), OctetString().subtype(subtypeSpec=ValueSizeConstraint(0, 16)).clone(hexValue="")).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmViewTreeFamilyMask.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyMask.setDescription("The bit mask which, in combination with the corresponding instance of vacmViewTreeFamilySubtree, defines a family of view subtrees. Each bit of this bit mask corresponds to a sub-identifier of vacmViewTreeFamilySubtree, with the most significant bit of the i-th octet of this octet string value (extended if necessary, see below) corresponding to the (8*i - 7)-th sub-identifier, and the least significant bit of the i-th octet of this octet string corresponding to the (8*i)-th sub-identifier, where i is in the range 1 through 16. Each bit of this bit mask specifies whether or not the corresponding sub-identifiers must match when determining if an OBJECT IDENTIFIER is in this family of view subtrees; a '1' indicates that an exact match must occur; a '0' indicates 'wild card', i.e., any sub-identifier value matches. Thus, the OBJECT IDENTIFIER X of an object instance is contained in a family of view subtrees if, for each sub-identifier of the value of vacmViewTreeFamilySubtree, either: the i-th bit of vacmViewTreeFamilyMask is 0, or the i-th sub-identifier of X is equal to the i-th sub-identifier of the value of vacmViewTreeFamilySubtree. If the value of this bit mask is M bits long and there are more than M sub-identifiers in the corresponding instance of vacmViewTreeFamilySubtree, then the bit mask is extended with 1's to be the required length. Note that when the value of this object is the zero-length string, this extension rule results in a mask of all-1's being used (i.e., no 'wild card'), and the family of view subtrees is the one view subtree uniquely identified by the corresponding instance of vacmViewTreeFamilySubtree. Note that masks of length greater than zero length do not need to be supported. In this case this object is made read-only. ")
-vacmViewTreeFamilyType = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 4), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("included", 1), ("excluded", 2))).clone('included')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmViewTreeFamilyType.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyType.setDescription('Indicates whether the corresponding instances of vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask define a family of view subtrees which is included in or excluded from the MIB view. ')
-vacmViewTreeFamilyStorageType = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 5), StorageType().clone('nonVolatile')).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmViewTreeFamilyStorageType.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyStorageType.setDescription("The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row. ")
-vacmViewTreeFamilyStatus = MibTableColumn((1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 6), RowStatus()).setMaxAccess("readcreate")
-if mibBuilder.loadTexts: vacmViewTreeFamilyStatus.setStatus('current')
-if mibBuilder.loadTexts: vacmViewTreeFamilyStatus.setDescription('The status of this conceptual row. The RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified: The value of this object has no effect on whether other objects in this conceptual row can be modified. ')
-vacmMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 16, 2, 1))
-vacmMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 16, 2, 2))
-vacmMIBCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 16, 2, 1, 1)).setObjects(("SNMP-VIEW-BASED-ACM-MIB", "vacmBasicGroup"))
-if mibBuilder.loadTexts: vacmMIBCompliance.setDescription('The compliance statement for SNMP engines which implement the SNMP View-based Access Control Model configuration MIB. ')
-vacmBasicGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 16, 2, 2, 1)).setObjects(("SNMP-VIEW-BASED-ACM-MIB", "vacmContextName"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmGroupName"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityToGroupStorageType"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityToGroupStatus"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessContextMatch"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessReadViewName"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessWriteViewName"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessNotifyViewName"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessStorageType"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessStatus"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewSpinLock"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyMask"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyType"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyStorageType"), ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyStatus"))
-if mibBuilder.loadTexts: vacmBasicGroup.setDescription('A collection of objects providing for remote configuration of an SNMP engine which implements the SNMP View-based Access Control Model. ')
-mibBuilder.exportSymbols("SNMP-VIEW-BASED-ACM-MIB", vacmSecurityModel=vacmSecurityModel, vacmSecurityToGroupEntry=vacmSecurityToGroupEntry, vacmMIBConformance=vacmMIBConformance, vacmAccessReadViewName=vacmAccessReadViewName, vacmViewTreeFamilyMask=vacmViewTreeFamilyMask, snmpVacmMIB=snmpVacmMIB, vacmViewTreeFamilyType=vacmViewTreeFamilyType, vacmMIBGroups=vacmMIBGroups, vacmAccessContextMatch=vacmAccessContextMatch, vacmAccessNotifyViewName=vacmAccessNotifyViewName, vacmViewSpinLock=vacmViewSpinLock, vacmAccessWriteViewName=vacmAccessWriteViewName, vacmContextTable=vacmContextTable, PYSNMP_MODULE_ID=snmpVacmMIB, vacmViewTreeFamilyViewName=vacmViewTreeFamilyViewName, vacmMIBObjects=vacmMIBObjects, vacmViewTreeFamilyStatus=vacmViewTreeFamilyStatus, vacmSecurityName=vacmSecurityName, vacmGroupName=vacmGroupName, vacmAccessSecurityLevel=vacmAccessSecurityLevel, vacmBasicGroup=vacmBasicGroup, vacmContextName=vacmContextName, vacmContextStatus=vacmContextStatus, vacmSecurityToGroupStatus=vacmSecurityToGroupStatus, vacmAccessEntry=vacmAccessEntry, vacmMIBViews=vacmMIBViews, vacmAccessStorageType=vacmAccessStorageType, vacmMIBCompliances=vacmMIBCompliances, vacmViewTreeFamilyEntry=vacmViewTreeFamilyEntry, vacmViewTreeFamilyTable=vacmViewTreeFamilyTable, vacmSecurityToGroupStorageType=vacmSecurityToGroupStorageType, vacmAccessTable=vacmAccessTable, vacmAccessContextPrefix=vacmAccessContextPrefix, vacmViewTreeFamilyStorageType=vacmViewTreeFamilyStorageType, vacmMIBCompliance=vacmMIBCompliance, vacmAccessSecurityModel=vacmAccessSecurityModel, vacmAccessStatus=vacmAccessStatus, vacmContextEntry=vacmContextEntry, vacmSecurityToGroupTable=vacmSecurityToGroupTable, vacmViewTreeFamilySubtree=vacmViewTreeFamilySubtree)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(SnmpSecurityLevel,
+ SnmpSecurityModel,
+ SnmpAdminString) = mibBuilder.importSymbols(
+ "SNMP-FRAMEWORK-MIB",
+ "SnmpSecurityLevel",
+ "SnmpSecurityModel",
+ "SnmpAdminString")
+
+(ModuleCompliance,
+ NotificationGroup,
+ ObjectGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup",
+ "ObjectGroup")
+
+(TimeTicks,
+ ModuleIdentity,
+ NotificationType,
+ IpAddress,
+ MibIdentifier,
+ Integer32,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ iso,
+ Counter64,
+ ObjectIdentity,
+ snmpModules,
+ Bits,
+ Gauge32,
+ Unsigned32,
+ Counter32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "TimeTicks",
+ "ModuleIdentity",
+ "NotificationType",
+ "IpAddress",
+ "MibIdentifier",
+ "Integer32",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "iso",
+ "Counter64",
+ "ObjectIdentity",
+ "snmpModules",
+ "Bits",
+ "Gauge32",
+ "Unsigned32",
+ "Counter32")
+
+(RowStatus,
+ DisplayString,
+ StorageType,
+ TestAndIncr,
+ TextualConvention) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "RowStatus",
+ "DisplayString",
+ "StorageType",
+ "TestAndIncr",
+ "TextualConvention")
+
+snmpVacmMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 16)
+)
+snmpVacmMIB.setRevisions(
+ ("2002-10-16 00:00",
+ "1999-01-20 00:00",
+ "1997-11-20 00:00")
+)
+snmpVacmMIB.setLastUpdated("200210160000Z")
+if mibBuilder.loadTexts:
+ snmpVacmMIB.setOrganization("""\
+SNMPv3 Working Group
+""")
+snmpVacmMIB.setContactInfo("""\
+WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In
+message body: subscribe snmpv3 Co-Chair: Russ Mundy Network Associates
+Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
+email: mundy@tislabs.com phone: +1 301-947-7107 Co-Chair: David Harrington
+Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New
+Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614 Co-
+editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten
+Netherlands email: bwijnen@lucent.com phone: +31-348-480-685 Co-editor: Randy
+Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131
+USA email: randy_presuhn@bmc.com phone: +1 408-546-1006 Co-editor: Keith
+McCloghrie Cisco Systems, Inc. postal: 170 West Tasman Drive San Jose, CA
+95134-1706 USA email: kzm@cisco.com phone: +1-408-526-5260
+""")
+if mibBuilder.loadTexts:
+ snmpVacmMIB.setDescription("""\
+The management information definitions for the View-based Access Control Model
+for SNMP. Copyright (C) The Internet Society (2002). This version of this MIB
+module is part of RFC 3415; see the RFC itself for full legal notices.
+""")
+
+_VacmMIBObjects_ObjectIdentity = ObjectIdentity
+vacmMIBObjects = _VacmMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 16, 1)
+)
+_VacmContextTable_Object = MibTable
+vacmContextTable = _VacmContextTable_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 1)
+)
+if mibBuilder.loadTexts:
+ vacmContextTable.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmContextTable.setDescription("""\
+The table of locally available contexts. This table provides information to
+SNMP Command Generator applications so that they can properly configure the
+vacmAccessTable to control access to all contexts at the SNMP entity. This
+table may change dynamically if the SNMP entity allows that contexts are
+added/deleted dynamically (for instance when its configuration changes). Such
+changes would happen only if the management instrumentation at that SNMP entity
+recognizes more (or fewer) contexts. The presence of entries in this table and
+of entries in the vacmAccessTable are independent. That is, a context
+identified by an entry in this table is not necessarily referenced by any
+entries in the vacmAccessTable; and the context(s) referenced by an entry in
+the vacmAccessTable does not necessarily currently exist and thus need not be
+identified by an entry in this table. This table must be made accessible via
+the default context so that Command Responder applications have a standard way
+of retrieving the information. This table is read-only. It cannot be configured
+via SNMP.
+""")
+_VacmContextEntry_Object = MibTableRow
+vacmContextEntry = _VacmContextEntry_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 1, 1)
+)
+vacmContextEntry.setIndexNames(
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmContextName"),
+)
+if mibBuilder.loadTexts:
+ vacmContextEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmContextEntry.setDescription("""\
+Information about a particular context.
+""")
+
+
+class _VacmContextName_Type(SnmpAdminString):
+ """Custom type vacmContextName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_VacmContextName_Type.__name__ = "SnmpAdminString"
+_VacmContextName_Object = MibTableColumn
+vacmContextName = _VacmContextName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 1, 1, 1),
+ _VacmContextName_Type()
+)
+vacmContextName.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ vacmContextName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmContextName.setDescription("""\
+A human readable name identifying a particular context at a particular SNMP
+entity. The empty contextName (zero length) represents the default context.
+""")
+_VacmSecurityToGroupTable_Object = MibTable
+vacmSecurityToGroupTable = _VacmSecurityToGroupTable_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2)
+)
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupTable.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupTable.setDescription("""\
+This table maps a combination of securityModel and securityName into a
+groupName which is used to define an access control policy for a group of
+principals.
+""")
+_VacmSecurityToGroupEntry_Object = MibTableRow
+vacmSecurityToGroupEntry = _VacmSecurityToGroupEntry_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1)
+)
+vacmSecurityToGroupEntry.setIndexNames(
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityModel"),
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityName"),
+)
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupEntry.setDescription("""\
+An entry in this table maps the combination of a securityModel and securityName
+into a groupName.
+""")
+
+
+class _VacmSecurityModel_Type(SnmpSecurityModel):
+ """Custom type vacmSecurityModel based on SnmpSecurityModel"""
+ subtypeSpec = SnmpSecurityModel.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(1, 2147483647),
+ )
+
+
+_VacmSecurityModel_Type.__name__ = "SnmpSecurityModel"
+_VacmSecurityModel_Object = MibTableColumn
+vacmSecurityModel = _VacmSecurityModel_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 1),
+ _VacmSecurityModel_Type()
+)
+vacmSecurityModel.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmSecurityModel.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityModel.setDescription("""\
+The Security Model, by which the vacmSecurityName referenced by this entry is
+provided. Note, this object may not take the 'any' (0) value.
+""")
+
+
+class _VacmSecurityName_Type(SnmpAdminString):
+ """Custom type vacmSecurityName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_VacmSecurityName_Type.__name__ = "SnmpAdminString"
+_VacmSecurityName_Object = MibTableColumn
+vacmSecurityName = _VacmSecurityName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 2),
+ _VacmSecurityName_Type()
+)
+vacmSecurityName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmSecurityName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityName.setDescription("""\
+The securityName for the principal, represented in a Security Model independent
+format, which is mapped by this entry to a groupName.
+""")
+
+
+class _VacmGroupName_Type(SnmpAdminString):
+ """Custom type vacmGroupName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_VacmGroupName_Type.__name__ = "SnmpAdminString"
+_VacmGroupName_Object = MibTableColumn
+vacmGroupName = _VacmGroupName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 3),
+ _VacmGroupName_Type()
+)
+vacmGroupName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmGroupName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmGroupName.setDescription("""\
+The name of the group to which this entry (e.g., the combination of
+securityModel and securityName) belongs. This groupName is used as index into
+the vacmAccessTable to select an access control policy. However, a value in
+this table does not imply that an instance with the value exists in table
+vacmAccesTable.
+""")
+
+
+class _VacmSecurityToGroupStorageType_Type(StorageType):
+ """Custom type vacmSecurityToGroupStorageType based on StorageType"""
+
+
+_VacmSecurityToGroupStorageType_Object = MibTableColumn
+vacmSecurityToGroupStorageType = _VacmSecurityToGroupStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 4),
+ _VacmSecurityToGroupStorageType_Type().clone('nonVolatile')
+)
+vacmSecurityToGroupStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_VacmSecurityToGroupStatus_Type = RowStatus
+_VacmSecurityToGroupStatus_Object = MibTableColumn
+vacmSecurityToGroupStatus = _VacmSecurityToGroupStatus_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 2, 1, 5),
+ _VacmSecurityToGroupStatus_Type()
+)
+vacmSecurityToGroupStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmSecurityToGroupStatus.setDescription("""\
+The status of this conceptual row. Until instances of all corresponding columns
+are appropriately configured, the value of the corresponding instance of the
+vacmSecurityToGroupStatus column is 'notReady'. In particular, a newly created
+row cannot be made active until a value has been set for vacmGroupName. The
+RowStatus TC [RFC2579] requires that this DESCRIPTION clause states under which
+circumstances other objects in this row can be modified: The value of this
+object has no effect on whether other objects in this conceptual row can be
+modified.
+""")
+_VacmAccessTable_Object = MibTable
+vacmAccessTable = _VacmAccessTable_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4)
+)
+if mibBuilder.loadTexts:
+ vacmAccessTable.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessTable.setDescription("""\
+The table of access rights for groups. Each entry is indexed by a groupName, a
+contextPrefix, a securityModel and a securityLevel. To determine whether access
+is allowed, one entry from this table needs to be selected and the proper
+viewName from that entry must be used for access control checking. To select
+the proper entry, follow these steps: 1) the set of possible matches is formed
+by the intersection of the following sets of entries: the set of entries with
+identical vacmGroupName the union of these two sets: - the set with identical
+vacmAccessContextPrefix - the set of entries with vacmAccessContextMatch value
+of 'prefix' and matching vacmAccessContextPrefix intersected with the union of
+these two sets: - the set of entries with identical vacmSecurityModel - the set
+of entries with vacmSecurityModel value of 'any' intersected with the set of
+entries with vacmAccessSecurityLevel value less than or equal to the requested
+securityLevel 2) if this set has only one member, we're done otherwise, it
+comes down to deciding how to weight the preferences between ContextPrefixes,
+SecurityModels, and SecurityLevels as follows: a) if the subset of entries with
+securityModel matching the securityModel in the message is not empty, then
+discard the rest. b) if the subset of entries with vacmAccessContextPrefix
+matching the contextName in the message is not empty, then discard the rest c)
+discard all entries with ContextPrefixes shorter than the longest one remaining
+in the set d) select the entry with the highest securityLevel Please note that
+for securityLevel noAuthNoPriv, all groups are really equivalent since the
+assumption that the securityName has been authenticated does not hold.
+""")
+_VacmAccessEntry_Object = MibTableRow
+vacmAccessEntry = _VacmAccessEntry_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1)
+)
+vacmAccessEntry.setIndexNames(
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmGroupName"),
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessContextPrefix"),
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessSecurityModel"),
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmAccessSecurityLevel"),
+)
+if mibBuilder.loadTexts:
+ vacmAccessEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessEntry.setDescription("""\
+An access right configured in the Local Configuration Datastore (LCD)
+authorizing access to an SNMP context. Entries in this table can use an
+instance value for object vacmGroupName even if no entry in table
+vacmAccessSecurityToGroupTable has a corresponding value for object
+vacmGroupName.
+""")
+
+
+class _VacmAccessContextPrefix_Type(SnmpAdminString):
+ """Custom type vacmAccessContextPrefix based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_VacmAccessContextPrefix_Type.__name__ = "SnmpAdminString"
+_VacmAccessContextPrefix_Object = MibTableColumn
+vacmAccessContextPrefix = _VacmAccessContextPrefix_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 1),
+ _VacmAccessContextPrefix_Type()
+)
+vacmAccessContextPrefix.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmAccessContextPrefix.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessContextPrefix.setDescription("""\
+In order to gain the access rights allowed by this conceptual row, a
+contextName must match exactly (if the value of vacmAccessContextMatch is
+'exact') or partially (if the value of vacmAccessContextMatch is 'prefix') to
+the value of the instance of this object.
+""")
+_VacmAccessSecurityModel_Type = SnmpSecurityModel
+_VacmAccessSecurityModel_Object = MibTableColumn
+vacmAccessSecurityModel = _VacmAccessSecurityModel_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 2),
+ _VacmAccessSecurityModel_Type()
+)
+vacmAccessSecurityModel.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmAccessSecurityModel.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessSecurityModel.setDescription("""\
+In order to gain the access rights allowed by this conceptual row, this
+securityModel must be in use.
+""")
+_VacmAccessSecurityLevel_Type = SnmpSecurityLevel
+_VacmAccessSecurityLevel_Object = MibTableColumn
+vacmAccessSecurityLevel = _VacmAccessSecurityLevel_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 3),
+ _VacmAccessSecurityLevel_Type()
+)
+vacmAccessSecurityLevel.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmAccessSecurityLevel.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessSecurityLevel.setDescription("""\
+The minimum level of security required in order to gain the access rights
+allowed by this conceptual row. A securityLevel of noAuthNoPriv is less than
+authNoPriv which in turn is less than authPriv. If multiple entries are equally
+indexed except for this vacmAccessSecurityLevel index, then the entry which has
+the highest value for vacmAccessSecurityLevel is selected.
+""")
+
+
+class _VacmAccessContextMatch_Type(Integer32):
+ """Custom type vacmAccessContextMatch based on Integer32"""
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("exact", 1),
+ ("prefix", 2))
+ )
+
+
+_VacmAccessContextMatch_Type.__name__ = "Integer32"
+_VacmAccessContextMatch_Object = MibTableColumn
+vacmAccessContextMatch = _VacmAccessContextMatch_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 4),
+ _VacmAccessContextMatch_Type()
+)
+vacmAccessContextMatch.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessContextMatch.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessContextMatch.setDescription("""\
+If the value of this object is exact(1), then all rows where the contextName
+exactly matches vacmAccessContextPrefix are selected. If the value of this
+object is prefix(2), then all rows where the contextName whose starting octets
+exactly match vacmAccessContextPrefix are selected. This allows for a simple
+form of wildcarding.
+""")
+
+
+class _VacmAccessReadViewName_Type(SnmpAdminString):
+ """Custom type vacmAccessReadViewName based on SnmpAdminString"""
+ defaultHexValue = ""
+
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_VacmAccessReadViewName_Type.__name__ = "SnmpAdminString"
+_VacmAccessReadViewName_Object = MibTableColumn
+vacmAccessReadViewName = _VacmAccessReadViewName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 5),
+ _VacmAccessReadViewName_Type()
+)
+vacmAccessReadViewName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessReadViewName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessReadViewName.setDescription("""\
+The value of an instance of this object identifies the MIB view of the SNMP
+context to which this conceptual row authorizes read access. The identified MIB
+view is that one for which the vacmViewTreeFamilyViewName has the same value as
+the instance of this object; if the value is the empty string or if there is no
+active MIB view having this value of vacmViewTreeFamilyViewName, then no access
+is granted.
+""")
+
+
+class _VacmAccessWriteViewName_Type(SnmpAdminString):
+ """Custom type vacmAccessWriteViewName based on SnmpAdminString"""
+ defaultHexValue = ""
+
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_VacmAccessWriteViewName_Type.__name__ = "SnmpAdminString"
+_VacmAccessWriteViewName_Object = MibTableColumn
+vacmAccessWriteViewName = _VacmAccessWriteViewName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 6),
+ _VacmAccessWriteViewName_Type()
+)
+vacmAccessWriteViewName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessWriteViewName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessWriteViewName.setDescription("""\
+The value of an instance of this object identifies the MIB view of the SNMP
+context to which this conceptual row authorizes write access. The identified
+MIB view is that one for which the vacmViewTreeFamilyViewName has the same
+value as the instance of this object; if the value is the empty string or if
+there is no active MIB view having this value of vacmViewTreeFamilyViewName,
+then no access is granted.
+""")
+
+
+class _VacmAccessNotifyViewName_Type(SnmpAdminString):
+ """Custom type vacmAccessNotifyViewName based on SnmpAdminString"""
+ defaultHexValue = ""
+
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 32),
+ )
+
+
+_VacmAccessNotifyViewName_Type.__name__ = "SnmpAdminString"
+_VacmAccessNotifyViewName_Object = MibTableColumn
+vacmAccessNotifyViewName = _VacmAccessNotifyViewName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 7),
+ _VacmAccessNotifyViewName_Type()
+)
+vacmAccessNotifyViewName.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessNotifyViewName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessNotifyViewName.setDescription("""\
+The value of an instance of this object identifies the MIB view of the SNMP
+context to which this conceptual row authorizes access for notifications. The
+identified MIB view is that one for which the vacmViewTreeFamilyViewName has
+the same value as the instance of this object; if the value is the empty string
+or if there is no active MIB view having this value of
+vacmViewTreeFamilyViewName, then no access is granted.
+""")
+
+
+class _VacmAccessStorageType_Type(StorageType):
+ """Custom type vacmAccessStorageType based on StorageType"""
+
+
+_VacmAccessStorageType_Object = MibTableColumn
+vacmAccessStorageType = _VacmAccessStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 8),
+ _VacmAccessStorageType_Type()
+)
+vacmAccessStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_VacmAccessStatus_Type = RowStatus
+_VacmAccessStatus_Object = MibTableColumn
+vacmAccessStatus = _VacmAccessStatus_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 4, 1, 9),
+ _VacmAccessStatus_Type()
+)
+vacmAccessStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmAccessStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmAccessStatus.setDescription("""\
+The status of this conceptual row. The RowStatus TC [RFC2579] requires that
+this DESCRIPTION clause states under which circumstances other objects in this
+row can be modified: The value of this object has no effect on whether other
+objects in this conceptual row can be modified.
+""")
+_VacmMIBViews_ObjectIdentity = ObjectIdentity
+vacmMIBViews = _VacmMIBViews_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5)
+)
+_VacmViewSpinLock_Type = TestAndIncr
+_VacmViewSpinLock_Object = MibScalar
+vacmViewSpinLock = _VacmViewSpinLock_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 1),
+ _VacmViewSpinLock_Type()
+)
+vacmViewSpinLock.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ vacmViewSpinLock.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewSpinLock.setDescription("""\
+An advisory lock used to allow cooperating SNMP Command Generator applications
+to coordinate their use of the Set operation in creating or modifying views.
+When creating a new view or altering an existing view, it is important to
+understand the potential interactions with other uses of the view. The
+vacmViewSpinLock should be retrieved. The name of the view to be created should
+be determined to be unique by the SNMP Command Generator application by
+consulting the vacmViewTreeFamilyTable. Finally, the named view may be created
+(Set), including the advisory lock. If another SNMP Command Generator
+application has altered the views in the meantime, then the spin lock's value
+will have changed, and so this creation will fail because it will specify the
+wrong value for the spin lock. Since this is an advisory lock, the use of this
+lock is not enforced.
+""")
+_VacmViewTreeFamilyTable_Object = MibTable
+vacmViewTreeFamilyTable = _VacmViewTreeFamilyTable_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2)
+)
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyTable.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyTable.setDescription("""\
+Locally held information about families of subtrees within MIB views. Each MIB
+view is defined by two sets of view subtrees: - the included view subtrees, and
+- the excluded view subtrees. Every such view subtree, both the included and
+the excluded ones, is defined in this table. To determine if a particular
+object instance is in a particular MIB view, compare the object instance's
+OBJECT IDENTIFIER with each of the MIB view's active entries in this table. If
+none match, then the object instance is not in the MIB view. If one or more
+match, then the object instance is included in, or excluded from, the MIB view
+according to the value of vacmViewTreeFamilyType in the entry whose value of
+vacmViewTreeFamilySubtree has the most sub-identifiers. If multiple entries
+match and have the same number of sub-identifiers (when wildcarding is
+specified with the value of vacmViewTreeFamilyMask), then the lexicographically
+greatest instance of vacmViewTreeFamilyType determines the inclusion or
+exclusion. An object instance's OBJECT IDENTIFIER X matches an active entry in
+this table when the number of sub-identifiers in X is at least as many as in
+the value of vacmViewTreeFamilySubtree for the entry, and each sub-identifier
+in the value of vacmViewTreeFamilySubtree matches its corresponding sub-
+identifier in X. Two sub-identifiers match either if the corresponding bit of
+the value of vacmViewTreeFamilyMask for the entry is zero (the 'wild card'
+value), or if they are equal. A 'family' of subtrees is the set of subtrees
+defined by a particular combination of values of vacmViewTreeFamilySubtree and
+vacmViewTreeFamilyMask. In the case where no 'wild card' is defined in the
+vacmViewTreeFamilyMask, the family of subtrees reduces to a single subtree.
+When creating or changing MIB views, an SNMP Command Generator application
+should utilize the vacmViewSpinLock to try to avoid collisions. See DESCRIPTION
+clause of vacmViewSpinLock. When creating MIB views, it is strongly advised
+that first the 'excluded' vacmViewTreeFamilyEntries are created and then the
+'included' entries. When deleting MIB views, it is strongly advised that first
+the 'included' vacmViewTreeFamilyEntries are deleted and then the 'excluded'
+entries. If a create for an entry for instance-level access control is received
+and the implementation does not support instance-level granularity, then an
+inconsistentName error must be returned.
+""")
+_VacmViewTreeFamilyEntry_Object = MibTableRow
+vacmViewTreeFamilyEntry = _VacmViewTreeFamilyEntry_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1)
+)
+vacmViewTreeFamilyEntry.setIndexNames(
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyViewName"),
+ (0, "SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilySubtree"),
+)
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyEntry.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyEntry.setDescription("""\
+Information on a particular family of view subtrees included in or excluded
+from a particular SNMP context's MIB view. Implementations must not restrict
+the number of families of view subtrees for a given MIB view, except as
+dictated by resource constraints on the overall number of entries in the
+vacmViewTreeFamilyTable. If no conceptual rows exist in this table for a given
+MIB view (viewName), that view may be thought of as consisting of the empty set
+of view subtrees.
+""")
+
+
+class _VacmViewTreeFamilyViewName_Type(SnmpAdminString):
+ """Custom type vacmViewTreeFamilyViewName based on SnmpAdminString"""
+ subtypeSpec = SnmpAdminString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 32),
+ )
+
+
+_VacmViewTreeFamilyViewName_Type.__name__ = "SnmpAdminString"
+_VacmViewTreeFamilyViewName_Object = MibTableColumn
+vacmViewTreeFamilyViewName = _VacmViewTreeFamilyViewName_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 1),
+ _VacmViewTreeFamilyViewName_Type()
+)
+vacmViewTreeFamilyViewName.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyViewName.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyViewName.setDescription("""\
+The human readable name for a family of view subtrees.
+""")
+_VacmViewTreeFamilySubtree_Type = ObjectIdentifier
+_VacmViewTreeFamilySubtree_Object = MibTableColumn
+vacmViewTreeFamilySubtree = _VacmViewTreeFamilySubtree_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 2),
+ _VacmViewTreeFamilySubtree_Type()
+)
+vacmViewTreeFamilySubtree.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilySubtree.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilySubtree.setDescription("""\
+The MIB subtree which when combined with the corresponding instance of
+vacmViewTreeFamilyMask defines a family of view subtrees.
+""")
+
+
+class _VacmViewTreeFamilyMask_Type(OctetString):
+ """Custom type vacmViewTreeFamilyMask based on OctetString"""
+ defaultHexValue = ""
+
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 16),
+ )
+
+
+_VacmViewTreeFamilyMask_Type.__name__ = "OctetString"
+_VacmViewTreeFamilyMask_Object = MibTableColumn
+vacmViewTreeFamilyMask = _VacmViewTreeFamilyMask_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 3),
+ _VacmViewTreeFamilyMask_Type()
+)
+vacmViewTreeFamilyMask.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyMask.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyMask.setDescription("""\
+The bit mask which, in combination with the corresponding instance of
+vacmViewTreeFamilySubtree, defines a family of view subtrees. Each bit of this
+bit mask corresponds to a sub-identifier of vacmViewTreeFamilySubtree, with the
+most significant bit of the i-th octet of this octet string value (extended if
+necessary, see below) corresponding to the (8*i - 7)-th sub-identifier, and the
+least significant bit of the i-th octet of this octet string corresponding to
+the (8*i)-th sub-identifier, where i is in the range 1 through 16. Each bit of
+this bit mask specifies whether or not the corresponding sub-identifiers must
+match when determining if an OBJECT IDENTIFIER is in this family of view
+subtrees; a '1' indicates that an exact match must occur; a '0' indicates 'wild
+card', i.e., any sub-identifier value matches. Thus, the OBJECT IDENTIFIER X of
+an object instance is contained in a family of view subtrees if, for each sub-
+identifier of the value of vacmViewTreeFamilySubtree, either: the i-th bit of
+vacmViewTreeFamilyMask is 0, or the i-th sub-identifier of X is equal to the
+i-th sub-identifier of the value of vacmViewTreeFamilySubtree. If the value of
+this bit mask is M bits long and there are more than M sub-identifiers in the
+corresponding instance of vacmViewTreeFamilySubtree, then the bit mask is
+extended with 1's to be the required length. Note that when the value of this
+object is the zero-length string, this extension rule results in a mask of
+all-1's being used (i.e., no 'wild card'), and the family of view subtrees is
+the one view subtree uniquely identified by the corresponding instance of
+vacmViewTreeFamilySubtree. Note that masks of length greater than zero length
+do not need to be supported. In this case this object is made read-only.
+""")
+
+
+class _VacmViewTreeFamilyType_Type(Integer32):
+ """Custom type vacmViewTreeFamilyType based on Integer32"""
+ defaultValue = 1
+
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("excluded", 2),
+ ("included", 1))
+ )
+
+
+_VacmViewTreeFamilyType_Type.__name__ = "Integer32"
+_VacmViewTreeFamilyType_Object = MibTableColumn
+vacmViewTreeFamilyType = _VacmViewTreeFamilyType_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 4),
+ _VacmViewTreeFamilyType_Type()
+)
+vacmViewTreeFamilyType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyType.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyType.setDescription("""\
+Indicates whether the corresponding instances of vacmViewTreeFamilySubtree and
+vacmViewTreeFamilyMask define a family of view subtrees which is included in or
+excluded from the MIB view.
+""")
+
+
+class _VacmViewTreeFamilyStorageType_Type(StorageType):
+ """Custom type vacmViewTreeFamilyStorageType based on StorageType"""
+
+
+_VacmViewTreeFamilyStorageType_Object = MibTableColumn
+vacmViewTreeFamilyStorageType = _VacmViewTreeFamilyStorageType_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 5),
+ _VacmViewTreeFamilyStorageType_Type().clone('nonVolatile')
+)
+vacmViewTreeFamilyStorageType.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyStorageType.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyStorageType.setDescription("""\
+The storage type for this conceptual row. Conceptual rows having the value
+'permanent' need not allow write-access to any columnar objects in the row.
+""")
+_VacmViewTreeFamilyStatus_Type = RowStatus
+_VacmViewTreeFamilyStatus_Object = MibTableColumn
+vacmViewTreeFamilyStatus = _VacmViewTreeFamilyStatus_Object(
+ (1, 3, 6, 1, 6, 3, 16, 1, 5, 2, 1, 6),
+ _VacmViewTreeFamilyStatus_Type()
+)
+vacmViewTreeFamilyStatus.setMaxAccess("read-create")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyStatus.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmViewTreeFamilyStatus.setDescription("""\
+The status of this conceptual row. The RowStatus TC [RFC2579] requires that
+this DESCRIPTION clause states under which circumstances other objects in this
+row can be modified: The value of this object has no effect on whether other
+objects in this conceptual row can be modified.
+""")
+_VacmMIBConformance_ObjectIdentity = ObjectIdentity
+vacmMIBConformance = _VacmMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 16, 2)
+)
+_VacmMIBCompliances_ObjectIdentity = ObjectIdentity
+vacmMIBCompliances = _VacmMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 16, 2, 1)
+)
+_VacmMIBGroups_ObjectIdentity = ObjectIdentity
+vacmMIBGroups = _VacmMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 16, 2, 2)
+)
+
+vacmBasicGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 16, 2, 2, 1)
+)
+vacmBasicGroup.setObjects(
+ *(("SNMP-VIEW-BASED-ACM-MIB", "vacmContextName"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmGroupName"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityToGroupStorageType"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmSecurityToGroupStatus"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessContextMatch"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessReadViewName"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessWriteViewName"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessNotifyViewName"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessStorageType"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmAccessStatus"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewSpinLock"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyMask"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyType"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyStorageType"),
+ ("SNMP-VIEW-BASED-ACM-MIB", "vacmViewTreeFamilyStatus"))
+)
+if mibBuilder.loadTexts:
+ vacmBasicGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ vacmBasicGroup.setDescription("""\
+A collection of objects providing for remote configuration of an SNMP engine
+which implements the SNMP View-based Access Control Model.
+""")
+
+vacmMIBCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 16, 2, 1, 1)
+)
+if mibBuilder.loadTexts:
+ vacmMIBCompliance.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ vacmMIBCompliance.setDescription("""\
+The compliance statement for SNMP engines which implement the SNMP View-based
+Access Control Model configuration MIB.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMP-VIEW-BASED-ACM-MIB",
+ **{"snmpVacmMIB": snmpVacmMIB,
+ "vacmMIBObjects": vacmMIBObjects,
+ "vacmContextTable": vacmContextTable,
+ "vacmContextEntry": vacmContextEntry,
+ "vacmContextName": vacmContextName,
+ "vacmSecurityToGroupTable": vacmSecurityToGroupTable,
+ "vacmSecurityToGroupEntry": vacmSecurityToGroupEntry,
+ "vacmSecurityModel": vacmSecurityModel,
+ "vacmSecurityName": vacmSecurityName,
+ "vacmGroupName": vacmGroupName,
+ "vacmSecurityToGroupStorageType": vacmSecurityToGroupStorageType,
+ "vacmSecurityToGroupStatus": vacmSecurityToGroupStatus,
+ "vacmAccessTable": vacmAccessTable,
+ "vacmAccessEntry": vacmAccessEntry,
+ "vacmAccessContextPrefix": vacmAccessContextPrefix,
+ "vacmAccessSecurityModel": vacmAccessSecurityModel,
+ "vacmAccessSecurityLevel": vacmAccessSecurityLevel,
+ "vacmAccessContextMatch": vacmAccessContextMatch,
+ "vacmAccessReadViewName": vacmAccessReadViewName,
+ "vacmAccessWriteViewName": vacmAccessWriteViewName,
+ "vacmAccessNotifyViewName": vacmAccessNotifyViewName,
+ "vacmAccessStorageType": vacmAccessStorageType,
+ "vacmAccessStatus": vacmAccessStatus,
+ "vacmMIBViews": vacmMIBViews,
+ "vacmViewSpinLock": vacmViewSpinLock,
+ "vacmViewTreeFamilyTable": vacmViewTreeFamilyTable,
+ "vacmViewTreeFamilyEntry": vacmViewTreeFamilyEntry,
+ "vacmViewTreeFamilyViewName": vacmViewTreeFamilyViewName,
+ "vacmViewTreeFamilySubtree": vacmViewTreeFamilySubtree,
+ "vacmViewTreeFamilyMask": vacmViewTreeFamilyMask,
+ "vacmViewTreeFamilyType": vacmViewTreeFamilyType,
+ "vacmViewTreeFamilyStorageType": vacmViewTreeFamilyStorageType,
+ "vacmViewTreeFamilyStatus": vacmViewTreeFamilyStatus,
+ "vacmMIBConformance": vacmMIBConformance,
+ "vacmMIBCompliances": vacmMIBCompliances,
+ "vacmMIBCompliance": vacmMIBCompliance,
+ "vacmMIBGroups": vacmMIBGroups,
+ "vacmBasicGroup": vacmBasicGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMPv2-CONF.py b/pysnmp/smi/mibs/SNMPv2-CONF.py
index c41599d5..745378c9 100644
--- a/pysnmp/smi/mibs/SNMPv2-CONF.py
+++ b/pysnmp/smi/mibs/SNMPv2-CONF.py
@@ -4,13 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMPv2-CONF (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMPv2-CONF
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:51:39 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:14:09 2019
#
-MibNode, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibNode')
+MibNode, = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "MibNode"
+)
class ObjectGroup(MibNode):
@@ -169,4 +169,10 @@ AGENT-CAPABILITIES
""" % (self.getStatus(), self.getProductRelease(), self.getDescription())
-mibBuilder.exportSymbols('SNMPv2-CONF', ObjectGroup=ObjectGroup, NotificationGroup=NotificationGroup, ModuleCompliance=ModuleCompliance, AgentCapabilities=AgentCapabilities)
+mibBuilder.exportSymbols(
+ "SNMPv2-CONF",
+ **{"ObjectGroup": ObjectGroup,
+ "NotificationGroup": NotificationGroup,
+ "ModuleCompliance": ModuleCompliance,
+ "AgentCapabilities": AgentCapabilities}
+)
diff --git a/pysnmp/smi/mibs/SNMPv2-MIB.py b/pysnmp/smi/mibs/SNMPv2-MIB.py
index a31d6871..bc2b17e1 100644
--- a/pysnmp/smi/mibs/SNMPv2-MIB.py
+++ b/pysnmp/smi/mibs/SNMPv2-MIB.py
@@ -4,201 +4,1242 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMPv2-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMPv2-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 00:52:45 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:17:51 2019
#
-OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-SingleValueConstraint, ValueSizeConstraint, ConstraintsIntersection, ValueRangeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ValueRangeConstraint", "ConstraintsUnion")
-ObjectGroup, ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ObjectGroup", "ModuleCompliance", "NotificationGroup")
-mib_2, snmpModules, ModuleIdentity, Counter64, ObjectIdentity, Integer32, NotificationType, iso, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter32, Bits, IpAddress, Gauge32, Unsigned32, TimeTicks, MibIdentifier = mibBuilder.importSymbols("SNMPv2-SMI", "mib-2", "snmpModules", "ModuleIdentity", "Counter64", "ObjectIdentity", "Integer32", "NotificationType", "iso", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter32", "Bits", "IpAddress", "Gauge32", "Unsigned32", "TimeTicks", "MibIdentifier")
-TextualConvention, TestAndIncr, TimeStamp, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "TestAndIncr", "TimeStamp", "DisplayString")
-snmpMIB = ModuleIdentity((1, 3, 6, 1, 6, 3, 1))
-if mibBuilder.loadTexts: snmpMIB.setRevisions(('2000-08-09 20:17', '1995-11-09 00:00', '1993-04-01 00:00',))
-if mibBuilder.loadTexts: snmpMIB.setLastUpdated('200008092017Z')
-if mibBuilder.loadTexts: snmpMIB.setOrganization('IETF SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpMIB.setContactInfo('WG-EMail: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3 Chair: Russ Mundy TIS Labs at Network Associates postal: 3060 Washington Rd Glenwood MD 21738 USA EMail: mundy@tislabs.com phone: +1 301 854-6889 Editor: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408 546-1006')
-if mibBuilder.loadTexts: snmpMIB.setDescription('The MIB module for SNMP entities.')
-snmpMIBObjects = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 1))
-system = MibIdentifier((1, 3, 6, 1, 2, 1, 1))
-sysDescr = MibScalar((1, 3, 6, 1, 2, 1, 1, 1), DisplayString().subtype(subtypeSpec=ValueSizeConstraint(0, 255))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysDescr.setStatus('current')
-if mibBuilder.loadTexts: sysDescr.setDescription("A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software.")
-sysObjectID = MibScalar((1, 3, 6, 1, 2, 1, 1, 2), ObjectIdentifier()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysObjectID.setStatus('current')
-if mibBuilder.loadTexts: sysObjectID.setDescription("The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining `what kind of box' is being managed. For example, if vendor `Flintstones, Inc.' was assigned the subtree 1.3.6.1.4.1.424242, it could assign the identifier 1.3.6.1.4.1.424242.1.1 to its `Fred Router'.")
-sysUpTime = MibScalar((1, 3, 6, 1, 2, 1, 1, 3), TimeTicks()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysUpTime.setStatus('current')
-if mibBuilder.loadTexts: sysUpTime.setDescription('The time (in hundredths of a second) since the network management portion of the system was last re-initialized.')
-sysContact = MibScalar((1, 3, 6, 1, 2, 1, 1, 4), DisplayString().subtype(subtypeSpec=ValueSizeConstraint(0, 255))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: sysContact.setStatus('current')
-if mibBuilder.loadTexts: sysContact.setDescription('The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.')
-sysName = MibScalar((1, 3, 6, 1, 2, 1, 1, 5), DisplayString().subtype(subtypeSpec=ValueSizeConstraint(0, 255))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: sysName.setStatus('current')
-if mibBuilder.loadTexts: sysName.setDescription("An administratively-assigned name for this managed node. By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.")
-sysLocation = MibScalar((1, 3, 6, 1, 2, 1, 1, 6), DisplayString().subtype(subtypeSpec=ValueSizeConstraint(0, 255))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: sysLocation.setStatus('current')
-if mibBuilder.loadTexts: sysLocation.setDescription("The physical location of this node (e.g., 'telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string.")
-sysServices = MibScalar((1, 3, 6, 1, 2, 1, 1, 7), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 127))).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysServices.setStatus('current')
-if mibBuilder.loadTexts: sysServices.setDescription('A value which indicates the set of services that this entity may potentially offer. The value is a sum. This sum initially takes the value zero. Then, for each layer, L, in the range 1 through 7, that this node performs transactions for, 2 raised to (L - 1) is added to the sum. For example, a node which performs only routing functions would have a value of 4 (2^(3-1)). In contrast, a node which is a host offering application services would have a value of 72 (2^(4-1) + 2^(7-1)). Note that in the context of the Internet suite of protocols, values should be calculated accordingly: layer functionality 1 physical (e.g., repeaters) 2 datalink/subnetwork (e.g., bridges) 3 internet (e.g., supports the IP) 4 end-to-end (e.g., supports the TCP) 7 applications (e.g., supports the SMTP) For systems including OSI protocols, layers 5 and 6 may also be counted.')
-sysORLastChange = MibScalar((1, 3, 6, 1, 2, 1, 1, 8), TimeStamp()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysORLastChange.setStatus('current')
-if mibBuilder.loadTexts: sysORLastChange.setDescription('The value of sysUpTime at the time of the most recent change in state or value of any instance of sysORID.')
-sysORTable = MibTable((1, 3, 6, 1, 2, 1, 1, 9), )
-if mibBuilder.loadTexts: sysORTable.setStatus('current')
-if mibBuilder.loadTexts: sysORTable.setDescription('The (conceptual) table listing the capabilities of the local SNMP application acting as a command responder with respect to various MIB modules. SNMP entities having dynamically-configurable support of MIB modules will have a dynamically-varying number of conceptual rows.')
-sysOREntry = MibTableRow((1, 3, 6, 1, 2, 1, 1, 9, 1), ).setIndexNames((0, "SNMPv2-MIB", "sysORIndex"))
-if mibBuilder.loadTexts: sysOREntry.setStatus('current')
-if mibBuilder.loadTexts: sysOREntry.setDescription('An entry (conceptual row) in the sysORTable.')
-sysORIndex = MibTableColumn((1, 3, 6, 1, 2, 1, 1, 9, 1, 1), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647)))
-if mibBuilder.loadTexts: sysORIndex.setStatus('current')
-if mibBuilder.loadTexts: sysORIndex.setDescription('The auxiliary variable used for identifying instances of the columnar objects in the sysORTable.')
-sysORID = MibTableColumn((1, 3, 6, 1, 2, 1, 1, 9, 1, 2), ObjectIdentifier()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysORID.setStatus('current')
-if mibBuilder.loadTexts: sysORID.setDescription('An authoritative identification of a capabilities statement with respect to various MIB modules supported by the local SNMP application acting as a command responder.')
-sysORDescr = MibTableColumn((1, 3, 6, 1, 2, 1, 1, 9, 1, 3), DisplayString()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysORDescr.setStatus('current')
-if mibBuilder.loadTexts: sysORDescr.setDescription('A textual description of the capabilities identified by the corresponding instance of sysORID.')
-sysORUpTime = MibTableColumn((1, 3, 6, 1, 2, 1, 1, 9, 1, 4), TimeStamp()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: sysORUpTime.setStatus('current')
-if mibBuilder.loadTexts: sysORUpTime.setDescription('The value of sysUpTime at the time this conceptual row was last instantiated.')
-snmp = MibIdentifier((1, 3, 6, 1, 2, 1, 11))
-snmpInPkts = MibScalar((1, 3, 6, 1, 2, 1, 11, 1), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInPkts.setStatus('current')
-if mibBuilder.loadTexts: snmpInPkts.setDescription('The total number of messages delivered to the SNMP entity from the transport service.')
-snmpInBadVersions = MibScalar((1, 3, 6, 1, 2, 1, 11, 3), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInBadVersions.setStatus('current')
-if mibBuilder.loadTexts: snmpInBadVersions.setDescription('The total number of SNMP messages which were delivered to the SNMP entity and were for an unsupported SNMP version.')
-snmpInBadCommunityNames = MibScalar((1, 3, 6, 1, 2, 1, 11, 4), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInBadCommunityNames.setStatus('current')
-if mibBuilder.loadTexts: snmpInBadCommunityNames.setDescription('The total number of community-based SNMP messages (for example, SNMPv1) delivered to the SNMP entity which used an SNMP community name not known to said entity. Also, implementations which authenticate community-based SNMP messages using check(s) in addition to matching the community name (for example, by also checking whether the message originated from a transport address allowed to use a specified community name) MAY include in this value the number of messages which failed the additional check(s). It is strongly RECOMMENDED that the documentation for any security model which is used to authenticate community-based SNMP messages specify the precise conditions that contribute to this value.')
-snmpInBadCommunityUses = MibScalar((1, 3, 6, 1, 2, 1, 11, 5), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInBadCommunityUses.setStatus('current')
-if mibBuilder.loadTexts: snmpInBadCommunityUses.setDescription('The total number of community-based SNMP messages (for example, SNMPv1) delivered to the SNMP entity which represented an SNMP operation that was not allowed for the SNMP community named in the message. The precise conditions under which this counter is incremented (if at all) depend on how the SNMP entity implements its access control mechanism and how its applications interact with that access control mechanism. It is strongly RECOMMENDED that the documentation for any access control mechanism which is used to control access to and visibility of MIB instrumentation specify the precise conditions that contribute to this value.')
-snmpInASNParseErrs = MibScalar((1, 3, 6, 1, 2, 1, 11, 6), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInASNParseErrs.setStatus('current')
-if mibBuilder.loadTexts: snmpInASNParseErrs.setDescription('The total number of ASN.1 or BER errors encountered by the SNMP entity when decoding received SNMP messages.')
-snmpEnableAuthenTraps = MibScalar((1, 3, 6, 1, 2, 1, 11, 30), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("enabled", 1), ("disabled", 2)))).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: snmpEnableAuthenTraps.setStatus('current')
-if mibBuilder.loadTexts: snmpEnableAuthenTraps.setDescription('Indicates whether the SNMP entity is permitted to generate authenticationFailure traps. The value of this object overrides any configuration information; as such, it provides a means whereby all authenticationFailure traps may be disabled. Note that it is strongly recommended that this object be stored in non-volatile memory so that it remains constant across re-initializations of the network management system.')
-snmpSilentDrops = MibScalar((1, 3, 6, 1, 2, 1, 11, 31), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpSilentDrops.setStatus('current')
-if mibBuilder.loadTexts: snmpSilentDrops.setDescription('The total number of Confirmed Class PDUs (such as GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs) delivered to the SNMP entity which were silently dropped because the size of a reply containing an alternate Response Class PDU (such as a Response-PDU) with an empty variable-bindings field was greater than either a local constraint or the maximum message size associated with the originator of the request.')
-snmpProxyDrops = MibScalar((1, 3, 6, 1, 2, 1, 11, 32), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpProxyDrops.setStatus('current')
-if mibBuilder.loadTexts: snmpProxyDrops.setDescription('The total number of Confirmed Class PDUs (such as GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs) delivered to the SNMP entity which were silently dropped because the transmission of the (possibly translated) message to a proxy target failed in a manner (other than a time-out) such that no Response Class PDU (such as a Response-PDU) could be returned.')
-snmpTrap = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 1, 4))
-snmpTrapOID = MibScalar((1, 3, 6, 1, 6, 3, 1, 1, 4, 1), ObjectIdentifier()).setMaxAccess("accessiblefornotify")
-if mibBuilder.loadTexts: snmpTrapOID.setStatus('current')
-if mibBuilder.loadTexts: snmpTrapOID.setDescription('The authoritative identification of the notification currently being sent. This variable occurs as the second varbind in every SNMPv2-Trap-PDU and InformRequest-PDU.')
-snmpTrapEnterprise = MibScalar((1, 3, 6, 1, 6, 3, 1, 1, 4, 3), ObjectIdentifier()).setMaxAccess("accessiblefornotify")
-if mibBuilder.loadTexts: snmpTrapEnterprise.setStatus('current')
-if mibBuilder.loadTexts: snmpTrapEnterprise.setDescription('The authoritative identification of the enterprise associated with the trap currently being sent. When an SNMP proxy agent is mapping an RFC1157 Trap-PDU into a SNMPv2-Trap-PDU, this variable occurs as the last varbind.')
-snmpTraps = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 1, 5))
-coldStart = NotificationType((1, 3, 6, 1, 6, 3, 1, 1, 5, 1)).setObjects()
-if mibBuilder.loadTexts: coldStart.setStatus('current')
-if mibBuilder.loadTexts: coldStart.setDescription('A coldStart trap signifies that the SNMP entity, supporting a notification originator application, is reinitializing itself and that its configuration may have been altered.')
-warmStart = NotificationType((1, 3, 6, 1, 6, 3, 1, 1, 5, 2)).setObjects()
-if mibBuilder.loadTexts: warmStart.setStatus('current')
-if mibBuilder.loadTexts: warmStart.setDescription('A warmStart trap signifies that the SNMP entity, supporting a notification originator application, is reinitializing itself such that its configuration is unaltered.')
-authenticationFailure = NotificationType((1, 3, 6, 1, 6, 3, 1, 1, 5, 5)).setObjects()
-if mibBuilder.loadTexts: authenticationFailure.setStatus('current')
-if mibBuilder.loadTexts: authenticationFailure.setDescription('An authenticationFailure trap signifies that the SNMP entity has received a protocol message that is not properly authenticated. While all implementations of SNMP entities MAY be capable of generating this trap, the snmpEnableAuthenTraps object indicates whether this trap will be generated.')
-snmpSet = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 1, 6))
-snmpSetSerialNo = MibScalar((1, 3, 6, 1, 6, 3, 1, 1, 6, 1), TestAndIncr()).setMaxAccess("readwrite")
-if mibBuilder.loadTexts: snmpSetSerialNo.setStatus('current')
-if mibBuilder.loadTexts: snmpSetSerialNo.setDescription('An advisory lock used to allow several cooperating command generator applications to coordinate their use of the SNMP set operation. This object is used for coarse-grain coordination. To achieve fine-grain coordination, one or more similar objects might be defined within each MIB group, as appropriate.')
-snmpMIBConformance = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 2))
-snmpMIBCompliances = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 2, 1))
-snmpMIBGroups = MibIdentifier((1, 3, 6, 1, 6, 3, 1, 2, 2))
-snmpBasicCompliance = ModuleCompliance((1, 3, 6, 1, 6, 3, 1, 2, 1, 2)).setObjects(("SNMPv2-MIB", "snmpGroup"), ("SNMPv2-MIB", "snmpSetGroup"), ("SNMPv2-MIB", "systemGroup"), ("SNMPv2-MIB", "snmpBasicNotificationsGroup"), ("SNMPv2-MIB", "snmpCommunityGroup"))
-if mibBuilder.loadTexts: snmpBasicCompliance.setDescription('The compliance statement for SNMPv2 entities which implement the SNMPv2 MIB. This compliance statement is replaced by snmpBasicComplianceRev2.')
-snmpBasicComplianceRev2 = ModuleCompliance((1, 3, 6, 1, 6, 3, 1, 2, 1, 3)).setObjects(("SNMPv2-MIB", "snmpGroup"), ("SNMPv2-MIB", "snmpSetGroup"), ("SNMPv2-MIB", "systemGroup"), ("SNMPv2-MIB", "snmpBasicNotificationsGroup"), ("SNMPv2-MIB", "snmpCommunityGroup"), ("SNMPv2-MIB", "snmpWarmStartNotificationGroup"))
-if mibBuilder.loadTexts: snmpBasicComplianceRev2.setDescription('The compliance statement for SNMP entities which implement this MIB module.')
-snmpGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 8)).setObjects(("SNMPv2-MIB", "snmpInPkts"), ("SNMPv2-MIB", "snmpInBadVersions"), ("SNMPv2-MIB", "snmpInASNParseErrs"), ("SNMPv2-MIB", "snmpSilentDrops"), ("SNMPv2-MIB", "snmpProxyDrops"), ("SNMPv2-MIB", "snmpEnableAuthenTraps"))
-if mibBuilder.loadTexts: snmpGroup.setDescription('A collection of objects providing basic instrumentation and control of an SNMP entity.')
-snmpCommunityGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 9)).setObjects(("SNMPv2-MIB", "snmpInBadCommunityNames"), ("SNMPv2-MIB", "snmpInBadCommunityUses"))
-if mibBuilder.loadTexts: snmpCommunityGroup.setDescription('A collection of objects providing basic instrumentation of a SNMP entity which supports community-based authentication.')
-snmpSetGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 5)).setObjects(("SNMPv2-MIB", "snmpSetSerialNo"))
-if mibBuilder.loadTexts: snmpSetGroup.setDescription('A collection of objects which allow several cooperating command generator applications to coordinate their use of the set operation.')
-systemGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 6)).setObjects(("SNMPv2-MIB", "sysDescr"), ("SNMPv2-MIB", "sysObjectID"), ("SNMPv2-MIB", "sysUpTime"), ("SNMPv2-MIB", "sysContact"), ("SNMPv2-MIB", "sysName"), ("SNMPv2-MIB", "sysLocation"), ("SNMPv2-MIB", "sysServices"), ("SNMPv2-MIB", "sysORLastChange"), ("SNMPv2-MIB", "sysORID"), ("SNMPv2-MIB", "sysORUpTime"), ("SNMPv2-MIB", "sysORDescr"))
-if mibBuilder.loadTexts: systemGroup.setDescription('The system group defines objects which are common to all managed systems.')
-snmpBasicNotificationsGroup = NotificationGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 7)).setObjects(("SNMPv2-MIB", "coldStart"), ("SNMPv2-MIB", "authenticationFailure"))
-if mibBuilder.loadTexts: snmpBasicNotificationsGroup.setDescription('The basic notifications implemented by an SNMP entity supporting command responder applications.')
-snmpWarmStartNotificationGroup = NotificationGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 11)).setObjects(("SNMPv2-MIB", "warmStart"))
-if mibBuilder.loadTexts: snmpWarmStartNotificationGroup.setDescription('An additional notification for an SNMP entity supporting command responder applications, if it is able to reinitialize itself such that its configuration is unaltered.')
-snmpNotificationGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 12)).setObjects(("SNMPv2-MIB", "snmpTrapOID"), ("SNMPv2-MIB", "snmpTrapEnterprise"))
-if mibBuilder.loadTexts: snmpNotificationGroup.setDescription('These objects are required for entities which support notification originator applications.')
-snmpOutPkts = MibScalar((1, 3, 6, 1, 2, 1, 11, 2), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutPkts.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutPkts.setDescription('The total number of SNMP Messages which were passed from the SNMP protocol entity to the transport service.')
-snmpInTooBigs = MibScalar((1, 3, 6, 1, 2, 1, 11, 8), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInTooBigs.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInTooBigs.setDescription("The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field was `tooBig'.")
-snmpInNoSuchNames = MibScalar((1, 3, 6, 1, 2, 1, 11, 9), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInNoSuchNames.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInNoSuchNames.setDescription("The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field was `noSuchName'.")
-snmpInBadValues = MibScalar((1, 3, 6, 1, 2, 1, 11, 10), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInBadValues.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInBadValues.setDescription("The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field was `badValue'.")
-snmpInReadOnlys = MibScalar((1, 3, 6, 1, 2, 1, 11, 11), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInReadOnlys.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInReadOnlys.setDescription("The total number valid SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field was `readOnly'. It should be noted that it is a protocol error to generate an SNMP PDU which contains the value `readOnly' in the error-status field, as such this object is provided as a means of detecting incorrect implementations of the SNMP.")
-snmpInGenErrs = MibScalar((1, 3, 6, 1, 2, 1, 11, 12), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInGenErrs.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInGenErrs.setDescription("The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field was `genErr'.")
-snmpInTotalReqVars = MibScalar((1, 3, 6, 1, 2, 1, 11, 13), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInTotalReqVars.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInTotalReqVars.setDescription('The total number of MIB objects which have been retrieved successfully by the SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-Next PDUs.')
-snmpInTotalSetVars = MibScalar((1, 3, 6, 1, 2, 1, 11, 14), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInTotalSetVars.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInTotalSetVars.setDescription('The total number of MIB objects which have been altered successfully by the SNMP protocol entity as the result of receiving valid SNMP Set-Request PDUs.')
-snmpInGetRequests = MibScalar((1, 3, 6, 1, 2, 1, 11, 15), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInGetRequests.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInGetRequests.setDescription('The total number of SNMP Get-Request PDUs which have been accepted and processed by the SNMP protocol entity.')
-snmpInGetNexts = MibScalar((1, 3, 6, 1, 2, 1, 11, 16), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInGetNexts.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInGetNexts.setDescription('The total number of SNMP Get-Next PDUs which have been accepted and processed by the SNMP protocol entity.')
-snmpInSetRequests = MibScalar((1, 3, 6, 1, 2, 1, 11, 17), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInSetRequests.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInSetRequests.setDescription('The total number of SNMP Set-Request PDUs which have been accepted and processed by the SNMP protocol entity.')
-snmpInGetResponses = MibScalar((1, 3, 6, 1, 2, 1, 11, 18), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInGetResponses.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInGetResponses.setDescription('The total number of SNMP Get-Response PDUs which have been accepted and processed by the SNMP protocol entity.')
-snmpInTraps = MibScalar((1, 3, 6, 1, 2, 1, 11, 19), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpInTraps.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpInTraps.setDescription('The total number of SNMP Trap PDUs which have been accepted and processed by the SNMP protocol entity.')
-snmpOutTooBigs = MibScalar((1, 3, 6, 1, 2, 1, 11, 20), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutTooBigs.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutTooBigs.setDescription("The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field was `tooBig.'")
-snmpOutNoSuchNames = MibScalar((1, 3, 6, 1, 2, 1, 11, 21), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutNoSuchNames.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutNoSuchNames.setDescription("The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status was `noSuchName'.")
-snmpOutBadValues = MibScalar((1, 3, 6, 1, 2, 1, 11, 22), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutBadValues.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutBadValues.setDescription("The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field was `badValue'.")
-snmpOutGenErrs = MibScalar((1, 3, 6, 1, 2, 1, 11, 24), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutGenErrs.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutGenErrs.setDescription("The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field was `genErr'.")
-snmpOutGetRequests = MibScalar((1, 3, 6, 1, 2, 1, 11, 25), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutGetRequests.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutGetRequests.setDescription('The total number of SNMP Get-Request PDUs which have been generated by the SNMP protocol entity.')
-snmpOutGetNexts = MibScalar((1, 3, 6, 1, 2, 1, 11, 26), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutGetNexts.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutGetNexts.setDescription('The total number of SNMP Get-Next PDUs which have been generated by the SNMP protocol entity.')
-snmpOutSetRequests = MibScalar((1, 3, 6, 1, 2, 1, 11, 27), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutSetRequests.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutSetRequests.setDescription('The total number of SNMP Set-Request PDUs which have been generated by the SNMP protocol entity.')
-snmpOutGetResponses = MibScalar((1, 3, 6, 1, 2, 1, 11, 28), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutGetResponses.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutGetResponses.setDescription('The total number of SNMP Get-Response PDUs which have been generated by the SNMP protocol entity.')
-snmpOutTraps = MibScalar((1, 3, 6, 1, 2, 1, 11, 29), Counter32()).setMaxAccess("readonly")
-if mibBuilder.loadTexts: snmpOutTraps.setStatus('obsolete')
-if mibBuilder.loadTexts: snmpOutTraps.setDescription('The total number of SNMP Trap PDUs which have been generated by the SNMP protocol entity.')
-snmpObsoleteGroup = ObjectGroup((1, 3, 6, 1, 6, 3, 1, 2, 2, 10)).setObjects(("SNMPv2-MIB", "snmpOutPkts"), ("SNMPv2-MIB", "snmpInTooBigs"), ("SNMPv2-MIB", "snmpInNoSuchNames"), ("SNMPv2-MIB", "snmpInBadValues"), ("SNMPv2-MIB", "snmpInReadOnlys"), ("SNMPv2-MIB", "snmpInGenErrs"), ("SNMPv2-MIB", "snmpInTotalReqVars"), ("SNMPv2-MIB", "snmpInTotalSetVars"), ("SNMPv2-MIB", "snmpInGetRequests"), ("SNMPv2-MIB", "snmpInGetNexts"), ("SNMPv2-MIB", "snmpInSetRequests"), ("SNMPv2-MIB", "snmpInGetResponses"), ("SNMPv2-MIB", "snmpInTraps"), ("SNMPv2-MIB", "snmpOutTooBigs"), ("SNMPv2-MIB", "snmpOutNoSuchNames"), ("SNMPv2-MIB", "snmpOutBadValues"), ("SNMPv2-MIB", "snmpOutGenErrs"), ("SNMPv2-MIB", "snmpOutGetRequests"), ("SNMPv2-MIB", "snmpOutGetNexts"), ("SNMPv2-MIB", "snmpOutSetRequests"), ("SNMPv2-MIB", "snmpOutGetResponses"), ("SNMPv2-MIB", "snmpOutTraps"))
-if mibBuilder.loadTexts: snmpObsoleteGroup.setDescription('A collection of objects from RFC 1213 made obsolete by this MIB module.')
-mibBuilder.exportSymbols("SNMPv2-MIB", snmpOutBadValues=snmpOutBadValues, coldStart=coldStart, snmpOutPkts=snmpOutPkts, snmpSilentDrops=snmpSilentDrops, snmpCommunityGroup=snmpCommunityGroup, sysORLastChange=sysORLastChange, sysName=sysName, snmpBasicNotificationsGroup=snmpBasicNotificationsGroup, systemGroup=systemGroup, snmpInNoSuchNames=snmpInNoSuchNames, snmpInTotalSetVars=snmpInTotalSetVars, snmpOutTooBigs=snmpOutTooBigs, snmpInBadCommunityNames=snmpInBadCommunityNames, snmpInASNParseErrs=snmpInASNParseErrs, snmpProxyDrops=snmpProxyDrops, snmpInPkts=snmpInPkts, snmpInSetRequests=snmpInSetRequests, snmpInTraps=snmpInTraps, sysORIndex=sysORIndex, snmpOutGetRequests=snmpOutGetRequests, PYSNMP_MODULE_ID=snmpMIB, snmpMIB=snmpMIB, snmpTrap=snmpTrap, sysOREntry=sysOREntry, snmp=snmp, snmpSet=snmpSet, warmStart=warmStart, snmpOutGetNexts=snmpOutGetNexts, snmpOutGetResponses=snmpOutGetResponses, snmpGroup=snmpGroup, sysLocation=sysLocation, snmpOutSetRequests=snmpOutSetRequests, snmpMIBGroups=snmpMIBGroups, snmpTrapOID=snmpTrapOID, system=system, snmpWarmStartNotificationGroup=snmpWarmStartNotificationGroup, snmpInBadCommunityUses=snmpInBadCommunityUses, snmpBasicComplianceRev2=snmpBasicComplianceRev2, sysContact=sysContact, snmpInGetNexts=snmpInGetNexts, sysORUpTime=sysORUpTime, snmpInGetResponses=snmpInGetResponses, snmpTraps=snmpTraps, snmpInGenErrs=snmpInGenErrs, snmpInReadOnlys=snmpInReadOnlys, snmpMIBCompliances=snmpMIBCompliances, snmpMIBObjects=snmpMIBObjects, snmpOutTraps=snmpOutTraps, snmpEnableAuthenTraps=snmpEnableAuthenTraps, snmpSetSerialNo=snmpSetSerialNo, snmpInTotalReqVars=snmpInTotalReqVars, snmpInBadVersions=snmpInBadVersions, snmpMIBConformance=snmpMIBConformance, sysORTable=sysORTable, sysORID=sysORID, snmpInTooBigs=snmpInTooBigs, sysORDescr=sysORDescr, sysUpTime=sysUpTime, sysDescr=sysDescr, snmpBasicCompliance=snmpBasicCompliance, snmpInGetRequests=snmpInGetRequests, snmpInBadValues=snmpInBadValues, snmpSetGroup=snmpSetGroup, sysServices=sysServices, snmpOutNoSuchNames=snmpOutNoSuchNames, sysObjectID=sysObjectID, authenticationFailure=authenticationFailure, snmpObsoleteGroup=snmpObsoleteGroup, snmpOutGenErrs=snmpOutGenErrs, snmpTrapEnterprise=snmpTrapEnterprise, snmpNotificationGroup=snmpNotificationGroup)
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(ObjectGroup,
+ NotificationGroup,
+ ModuleCompliance) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ObjectGroup",
+ "NotificationGroup",
+ "ModuleCompliance")
+
+(Counter32,
+ snmpModules,
+ ModuleIdentity,
+ IpAddress,
+ MibIdentifier,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Gauge32,
+ Integer32,
+ iso,
+ mib_2,
+ Bits,
+ TimeTicks,
+ Counter64,
+ NotificationType,
+ ObjectIdentity,
+ Unsigned32) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter32",
+ "snmpModules",
+ "ModuleIdentity",
+ "IpAddress",
+ "MibIdentifier",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Gauge32",
+ "Integer32",
+ "iso",
+ "mib-2",
+ "Bits",
+ "TimeTicks",
+ "Counter64",
+ "NotificationType",
+ "ObjectIdentity",
+ "Unsigned32")
+
+(TimeStamp,
+ DisplayString,
+ TestAndIncr,
+ TextualConvention) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TimeStamp",
+ "DisplayString",
+ "TestAndIncr",
+ "TextualConvention")
+
+snmpMIB = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 1)
+)
+snmpMIB.setRevisions(
+ ("2002-10-16 00:00",
+ "1995-11-09 00:00",
+ "1993-04-01 00:00")
+)
+snmpMIB.setLastUpdated("200210160000Z")
+if mibBuilder.loadTexts:
+ snmpMIB.setOrganization("""\
+IETF SNMPv3 Working Group
+""")
+snmpMIB.setContactInfo("""\
+WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
+Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive,
+Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com phone: +1 301
+947-7107 Co-Chair: David Harrington Enterasys Networks postal: 35 Industrial
+Way P. O. Box 5005 Rochester, NH 03866-5005 USA EMail: dbh@enterasys.com phone:
++1 603 337-2614 Editor: Randy Presuhn BMC Software, Inc. postal: 2141 North
+First Street San Jose, CA 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408
+546-1006
+""")
+if mibBuilder.loadTexts:
+ snmpMIB.setDescription("""\
+The MIB module for SNMP entities. Copyright (C) The Internet Society (2002).
+This version of this MIB module is part of RFC 3418; see the RFC itself for
+full legal notices.
+""")
+
+_System_ObjectIdentity = ObjectIdentity
+system = _System_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 1)
+)
+
+
+class _SysDescr_Type(DisplayString):
+ """Custom type sysDescr based on DisplayString"""
+ subtypeSpec = DisplayString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+
+_SysDescr_Type.__name__ = "DisplayString"
+_SysDescr_Object = MibScalar
+sysDescr = _SysDescr_Object(
+ (1, 3, 6, 1, 2, 1, 1, 1),
+ _SysDescr_Type()
+)
+sysDescr.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysDescr.setStatus("current")
+if mibBuilder.loadTexts:
+ sysDescr.setDescription("""\
+A textual description of the entity. This value should include the full name
+and version identification of the system's hardware type, software operating-
+system, and networking software.
+""")
+_SysObjectID_Type = ObjectIdentifier
+_SysObjectID_Object = MibScalar
+sysObjectID = _SysObjectID_Object(
+ (1, 3, 6, 1, 2, 1, 1, 2),
+ _SysObjectID_Type()
+)
+sysObjectID.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysObjectID.setStatus("current")
+if mibBuilder.loadTexts:
+ sysObjectID.setDescription("""\
+The vendor's authoritative identification of the network management subsystem
+contained in the entity. This value is allocated within the SMI enterprises
+subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for
+determining `what kind of box' is being managed. For example, if vendor
+`Flintstones, Inc.' was assigned the subtree 1.3.6.1.4.1.424242, it could
+assign the identifier 1.3.6.1.4.1.424242.1.1 to its `Fred Router'.
+""")
+_SysUpTime_Type = TimeTicks
+_SysUpTime_Object = MibScalar
+sysUpTime = _SysUpTime_Object(
+ (1, 3, 6, 1, 2, 1, 1, 3),
+ _SysUpTime_Type()
+)
+sysUpTime.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysUpTime.setStatus("current")
+if mibBuilder.loadTexts:
+ sysUpTime.setDescription("""\
+The time (in hundredths of a second) since the network management portion of
+the system was last re-initialized.
+""")
+
+
+class _SysContact_Type(DisplayString):
+ """Custom type sysContact based on DisplayString"""
+ subtypeSpec = DisplayString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+
+_SysContact_Type.__name__ = "DisplayString"
+_SysContact_Object = MibScalar
+sysContact = _SysContact_Object(
+ (1, 3, 6, 1, 2, 1, 1, 4),
+ _SysContact_Type()
+)
+sysContact.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ sysContact.setStatus("current")
+if mibBuilder.loadTexts:
+ sysContact.setDescription("""\
+The textual identification of the contact person for this managed node,
+together with information on how to contact this person. If no contact
+information is known, the value is the zero-length string.
+""")
+
+
+class _SysName_Type(DisplayString):
+ """Custom type sysName based on DisplayString"""
+ subtypeSpec = DisplayString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+
+_SysName_Type.__name__ = "DisplayString"
+_SysName_Object = MibScalar
+sysName = _SysName_Object(
+ (1, 3, 6, 1, 2, 1, 1, 5),
+ _SysName_Type()
+)
+sysName.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ sysName.setStatus("current")
+if mibBuilder.loadTexts:
+ sysName.setDescription("""\
+An administratively-assigned name for this managed node. By convention, this is
+the node's fully-qualified domain name. If the name is unknown, the value is
+the zero-length string.
+""")
+
+
+class _SysLocation_Type(DisplayString):
+ """Custom type sysLocation based on DisplayString"""
+ subtypeSpec = DisplayString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+
+_SysLocation_Type.__name__ = "DisplayString"
+_SysLocation_Object = MibScalar
+sysLocation = _SysLocation_Object(
+ (1, 3, 6, 1, 2, 1, 1, 6),
+ _SysLocation_Type()
+)
+sysLocation.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ sysLocation.setStatus("current")
+if mibBuilder.loadTexts:
+ sysLocation.setDescription("""\
+The physical location of this node (e.g., 'telephone closet, 3rd floor'). If
+the location is unknown, the value is the zero-length string.
+""")
+
+
+class _SysServices_Type(Integer32):
+ """Custom type sysServices based on Integer32"""
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 127),
+ )
+
+
+_SysServices_Type.__name__ = "Integer32"
+_SysServices_Object = MibScalar
+sysServices = _SysServices_Object(
+ (1, 3, 6, 1, 2, 1, 1, 7),
+ _SysServices_Type()
+)
+sysServices.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysServices.setStatus("current")
+if mibBuilder.loadTexts:
+ sysServices.setDescription("""\
+A value which indicates the set of services that this entity may potentially
+offer. The value is a sum. This sum initially takes the value zero. Then, for
+each layer, L, in the range 1 through 7, that this node performs transactions
+for, 2 raised to (L - 1) is added to the sum. For example, a node which
+performs only routing functions would have a value of 4 (2^(3-1)). In contrast,
+a node which is a host offering application services would have a value of 72
+(2^(4-1) + 2^(7-1)). Note that in the context of the Internet suite of
+protocols, values should be calculated accordingly: layer functionality 1
+physical (e.g., repeaters) 2 datalink/subnetwork (e.g., bridges) 3 internet
+(e.g., supports the IP) 4 end-to-end (e.g., supports the TCP) 7 applications
+(e.g., supports the SMTP) For systems including OSI protocols, layers 5 and 6
+may also be counted.
+""")
+_SysORLastChange_Type = TimeStamp
+_SysORLastChange_Object = MibScalar
+sysORLastChange = _SysORLastChange_Object(
+ (1, 3, 6, 1, 2, 1, 1, 8),
+ _SysORLastChange_Type()
+)
+sysORLastChange.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysORLastChange.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORLastChange.setDescription("""\
+The value of sysUpTime at the time of the most recent change in state or value
+of any instance of sysORID.
+""")
+_SysORTable_Object = MibTable
+sysORTable = _SysORTable_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9)
+)
+if mibBuilder.loadTexts:
+ sysORTable.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORTable.setDescription("""\
+The (conceptual) table listing the capabilities of the local SNMP application
+acting as a command responder with respect to various MIB modules. SNMP
+entities having dynamically-configurable support of MIB modules will have a
+dynamically-varying number of conceptual rows.
+""")
+_SysOREntry_Object = MibTableRow
+sysOREntry = _SysOREntry_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9, 1)
+)
+sysOREntry.setIndexNames(
+ (0, "SNMPv2-MIB", "sysORIndex"),
+)
+if mibBuilder.loadTexts:
+ sysOREntry.setStatus("current")
+if mibBuilder.loadTexts:
+ sysOREntry.setDescription("""\
+An entry (conceptual row) in the sysORTable.
+""")
+
+
+class _SysORIndex_Type(Integer32):
+ """Custom type sysORIndex based on Integer32"""
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(1, 2147483647),
+ )
+
+
+_SysORIndex_Type.__name__ = "Integer32"
+_SysORIndex_Object = MibTableColumn
+sysORIndex = _SysORIndex_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9, 1, 1),
+ _SysORIndex_Type()
+)
+sysORIndex.setMaxAccess("not-accessible")
+if mibBuilder.loadTexts:
+ sysORIndex.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORIndex.setDescription("""\
+The auxiliary variable used for identifying instances of the columnar objects
+in the sysORTable.
+""")
+_SysORID_Type = ObjectIdentifier
+_SysORID_Object = MibTableColumn
+sysORID = _SysORID_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9, 1, 2),
+ _SysORID_Type()
+)
+sysORID.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysORID.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORID.setDescription("""\
+An authoritative identification of a capabilities statement with respect to
+various MIB modules supported by the local SNMP application acting as a command
+responder.
+""")
+_SysORDescr_Type = DisplayString
+_SysORDescr_Object = MibTableColumn
+sysORDescr = _SysORDescr_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9, 1, 3),
+ _SysORDescr_Type()
+)
+sysORDescr.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysORDescr.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORDescr.setDescription("""\
+A textual description of the capabilities identified by the corresponding
+instance of sysORID.
+""")
+_SysORUpTime_Type = TimeStamp
+_SysORUpTime_Object = MibTableColumn
+sysORUpTime = _SysORUpTime_Object(
+ (1, 3, 6, 1, 2, 1, 1, 9, 1, 4),
+ _SysORUpTime_Type()
+)
+sysORUpTime.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ sysORUpTime.setStatus("current")
+if mibBuilder.loadTexts:
+ sysORUpTime.setDescription("""\
+The value of sysUpTime at the time this conceptual row was last instantiated.
+""")
+_Snmp_ObjectIdentity = ObjectIdentity
+snmp = _Snmp_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 11)
+)
+_SnmpInPkts_Type = Counter32
+_SnmpInPkts_Object = MibScalar
+snmpInPkts = _SnmpInPkts_Object(
+ (1, 3, 6, 1, 2, 1, 11, 1),
+ _SnmpInPkts_Type()
+)
+snmpInPkts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInPkts.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInPkts.setDescription("""\
+The total number of messages delivered to the SNMP entity from the transport
+service.
+""")
+_SnmpOutPkts_Type = Counter32
+_SnmpOutPkts_Object = MibScalar
+snmpOutPkts = _SnmpOutPkts_Object(
+ (1, 3, 6, 1, 2, 1, 11, 2),
+ _SnmpOutPkts_Type()
+)
+snmpOutPkts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutPkts.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutPkts.setDescription("""\
+The total number of SNMP Messages which were passed from the SNMP protocol
+entity to the transport service.
+""")
+_SnmpInBadVersions_Type = Counter32
+_SnmpInBadVersions_Object = MibScalar
+snmpInBadVersions = _SnmpInBadVersions_Object(
+ (1, 3, 6, 1, 2, 1, 11, 3),
+ _SnmpInBadVersions_Type()
+)
+snmpInBadVersions.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInBadVersions.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInBadVersions.setDescription("""\
+The total number of SNMP messages which were delivered to the SNMP entity and
+were for an unsupported SNMP version.
+""")
+_SnmpInBadCommunityNames_Type = Counter32
+_SnmpInBadCommunityNames_Object = MibScalar
+snmpInBadCommunityNames = _SnmpInBadCommunityNames_Object(
+ (1, 3, 6, 1, 2, 1, 11, 4),
+ _SnmpInBadCommunityNames_Type()
+)
+snmpInBadCommunityNames.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInBadCommunityNames.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInBadCommunityNames.setDescription("""\
+The total number of community-based SNMP messages (for example, SNMPv1)
+delivered to the SNMP entity which used an SNMP community name not known to
+said entity. Also, implementations which authenticate community-based SNMP
+messages using check(s) in addition to matching the community name (for
+example, by also checking whether the message originated from a transport
+address allowed to use a specified community name) MAY include in this value
+the number of messages which failed the additional check(s). It is strongly
+RECOMMENDED that the documentation for any security model which is used to
+authenticate community-based SNMP messages specify the precise conditions that
+contribute to this value.
+""")
+_SnmpInBadCommunityUses_Type = Counter32
+_SnmpInBadCommunityUses_Object = MibScalar
+snmpInBadCommunityUses = _SnmpInBadCommunityUses_Object(
+ (1, 3, 6, 1, 2, 1, 11, 5),
+ _SnmpInBadCommunityUses_Type()
+)
+snmpInBadCommunityUses.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInBadCommunityUses.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInBadCommunityUses.setDescription("""\
+The total number of community-based SNMP messages (for example, SNMPv1)
+delivered to the SNMP entity which represented an SNMP operation that was not
+allowed for the SNMP community named in the message. The precise conditions
+under which this counter is incremented (if at all) depend on how the SNMP
+entity implements its access control mechanism and how its applications
+interact with that access control mechanism. It is strongly RECOMMENDED that
+the documentation for any access control mechanism which is used to control
+access to and visibility of MIB instrumentation specify the precise conditions
+that contribute to this value.
+""")
+_SnmpInASNParseErrs_Type = Counter32
+_SnmpInASNParseErrs_Object = MibScalar
+snmpInASNParseErrs = _SnmpInASNParseErrs_Object(
+ (1, 3, 6, 1, 2, 1, 11, 6),
+ _SnmpInASNParseErrs_Type()
+)
+snmpInASNParseErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInASNParseErrs.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpInASNParseErrs.setDescription("""\
+The total number of ASN.1 or BER errors encountered by the SNMP entity when
+decoding received SNMP messages.
+""")
+_SnmpInTooBigs_Type = Counter32
+_SnmpInTooBigs_Object = MibScalar
+snmpInTooBigs = _SnmpInTooBigs_Object(
+ (1, 3, 6, 1, 2, 1, 11, 8),
+ _SnmpInTooBigs_Type()
+)
+snmpInTooBigs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInTooBigs.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInTooBigs.setDescription("""\
+The total number of SNMP PDUs which were delivered to the SNMP protocol entity
+and for which the value of the error-status field was `tooBig'.
+""")
+_SnmpInNoSuchNames_Type = Counter32
+_SnmpInNoSuchNames_Object = MibScalar
+snmpInNoSuchNames = _SnmpInNoSuchNames_Object(
+ (1, 3, 6, 1, 2, 1, 11, 9),
+ _SnmpInNoSuchNames_Type()
+)
+snmpInNoSuchNames.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInNoSuchNames.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInNoSuchNames.setDescription("""\
+The total number of SNMP PDUs which were delivered to the SNMP protocol entity
+and for which the value of the error-status field was `noSuchName'.
+""")
+_SnmpInBadValues_Type = Counter32
+_SnmpInBadValues_Object = MibScalar
+snmpInBadValues = _SnmpInBadValues_Object(
+ (1, 3, 6, 1, 2, 1, 11, 10),
+ _SnmpInBadValues_Type()
+)
+snmpInBadValues.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInBadValues.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInBadValues.setDescription("""\
+The total number of SNMP PDUs which were delivered to the SNMP protocol entity
+and for which the value of the error-status field was `badValue'.
+""")
+_SnmpInReadOnlys_Type = Counter32
+_SnmpInReadOnlys_Object = MibScalar
+snmpInReadOnlys = _SnmpInReadOnlys_Object(
+ (1, 3, 6, 1, 2, 1, 11, 11),
+ _SnmpInReadOnlys_Type()
+)
+snmpInReadOnlys.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInReadOnlys.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInReadOnlys.setDescription("""\
+The total number valid SNMP PDUs which were delivered to the SNMP protocol
+entity and for which the value of the error-status field was `readOnly'. It
+should be noted that it is a protocol error to generate an SNMP PDU which
+contains the value `readOnly' in the error-status field, as such this object is
+provided as a means of detecting incorrect implementations of the SNMP.
+""")
+_SnmpInGenErrs_Type = Counter32
+_SnmpInGenErrs_Object = MibScalar
+snmpInGenErrs = _SnmpInGenErrs_Object(
+ (1, 3, 6, 1, 2, 1, 11, 12),
+ _SnmpInGenErrs_Type()
+)
+snmpInGenErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInGenErrs.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInGenErrs.setDescription("""\
+The total number of SNMP PDUs which were delivered to the SNMP protocol entity
+and for which the value of the error-status field was `genErr'.
+""")
+_SnmpInTotalReqVars_Type = Counter32
+_SnmpInTotalReqVars_Object = MibScalar
+snmpInTotalReqVars = _SnmpInTotalReqVars_Object(
+ (1, 3, 6, 1, 2, 1, 11, 13),
+ _SnmpInTotalReqVars_Type()
+)
+snmpInTotalReqVars.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInTotalReqVars.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInTotalReqVars.setDescription("""\
+The total number of MIB objects which have been retrieved successfully by the
+SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-
+Next PDUs.
+""")
+_SnmpInTotalSetVars_Type = Counter32
+_SnmpInTotalSetVars_Object = MibScalar
+snmpInTotalSetVars = _SnmpInTotalSetVars_Object(
+ (1, 3, 6, 1, 2, 1, 11, 14),
+ _SnmpInTotalSetVars_Type()
+)
+snmpInTotalSetVars.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInTotalSetVars.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInTotalSetVars.setDescription("""\
+The total number of MIB objects which have been altered successfully by the
+SNMP protocol entity as the result of receiving valid SNMP Set-Request PDUs.
+""")
+_SnmpInGetRequests_Type = Counter32
+_SnmpInGetRequests_Object = MibScalar
+snmpInGetRequests = _SnmpInGetRequests_Object(
+ (1, 3, 6, 1, 2, 1, 11, 15),
+ _SnmpInGetRequests_Type()
+)
+snmpInGetRequests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInGetRequests.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInGetRequests.setDescription("""\
+The total number of SNMP Get-Request PDUs which have been accepted and
+processed by the SNMP protocol entity.
+""")
+_SnmpInGetNexts_Type = Counter32
+_SnmpInGetNexts_Object = MibScalar
+snmpInGetNexts = _SnmpInGetNexts_Object(
+ (1, 3, 6, 1, 2, 1, 11, 16),
+ _SnmpInGetNexts_Type()
+)
+snmpInGetNexts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInGetNexts.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInGetNexts.setDescription("""\
+The total number of SNMP Get-Next PDUs which have been accepted and processed
+by the SNMP protocol entity.
+""")
+_SnmpInSetRequests_Type = Counter32
+_SnmpInSetRequests_Object = MibScalar
+snmpInSetRequests = _SnmpInSetRequests_Object(
+ (1, 3, 6, 1, 2, 1, 11, 17),
+ _SnmpInSetRequests_Type()
+)
+snmpInSetRequests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInSetRequests.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInSetRequests.setDescription("""\
+The total number of SNMP Set-Request PDUs which have been accepted and
+processed by the SNMP protocol entity.
+""")
+_SnmpInGetResponses_Type = Counter32
+_SnmpInGetResponses_Object = MibScalar
+snmpInGetResponses = _SnmpInGetResponses_Object(
+ (1, 3, 6, 1, 2, 1, 11, 18),
+ _SnmpInGetResponses_Type()
+)
+snmpInGetResponses.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInGetResponses.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInGetResponses.setDescription("""\
+The total number of SNMP Get-Response PDUs which have been accepted and
+processed by the SNMP protocol entity.
+""")
+_SnmpInTraps_Type = Counter32
+_SnmpInTraps_Object = MibScalar
+snmpInTraps = _SnmpInTraps_Object(
+ (1, 3, 6, 1, 2, 1, 11, 19),
+ _SnmpInTraps_Type()
+)
+snmpInTraps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpInTraps.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpInTraps.setDescription("""\
+The total number of SNMP Trap PDUs which have been accepted and processed by
+the SNMP protocol entity.
+""")
+_SnmpOutTooBigs_Type = Counter32
+_SnmpOutTooBigs_Object = MibScalar
+snmpOutTooBigs = _SnmpOutTooBigs_Object(
+ (1, 3, 6, 1, 2, 1, 11, 20),
+ _SnmpOutTooBigs_Type()
+)
+snmpOutTooBigs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutTooBigs.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutTooBigs.setDescription("""\
+The total number of SNMP PDUs which were generated by the SNMP protocol entity
+and for which the value of the error-status field was `tooBig.'
+""")
+_SnmpOutNoSuchNames_Type = Counter32
+_SnmpOutNoSuchNames_Object = MibScalar
+snmpOutNoSuchNames = _SnmpOutNoSuchNames_Object(
+ (1, 3, 6, 1, 2, 1, 11, 21),
+ _SnmpOutNoSuchNames_Type()
+)
+snmpOutNoSuchNames.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutNoSuchNames.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutNoSuchNames.setDescription("""\
+The total number of SNMP PDUs which were generated by the SNMP protocol entity
+and for which the value of the error-status was `noSuchName'.
+""")
+_SnmpOutBadValues_Type = Counter32
+_SnmpOutBadValues_Object = MibScalar
+snmpOutBadValues = _SnmpOutBadValues_Object(
+ (1, 3, 6, 1, 2, 1, 11, 22),
+ _SnmpOutBadValues_Type()
+)
+snmpOutBadValues.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutBadValues.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutBadValues.setDescription("""\
+The total number of SNMP PDUs which were generated by the SNMP protocol entity
+and for which the value of the error-status field was `badValue'.
+""")
+_SnmpOutGenErrs_Type = Counter32
+_SnmpOutGenErrs_Object = MibScalar
+snmpOutGenErrs = _SnmpOutGenErrs_Object(
+ (1, 3, 6, 1, 2, 1, 11, 24),
+ _SnmpOutGenErrs_Type()
+)
+snmpOutGenErrs.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutGenErrs.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutGenErrs.setDescription("""\
+The total number of SNMP PDUs which were generated by the SNMP protocol entity
+and for which the value of the error-status field was `genErr'.
+""")
+_SnmpOutGetRequests_Type = Counter32
+_SnmpOutGetRequests_Object = MibScalar
+snmpOutGetRequests = _SnmpOutGetRequests_Object(
+ (1, 3, 6, 1, 2, 1, 11, 25),
+ _SnmpOutGetRequests_Type()
+)
+snmpOutGetRequests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutGetRequests.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutGetRequests.setDescription("""\
+The total number of SNMP Get-Request PDUs which have been generated by the SNMP
+protocol entity.
+""")
+_SnmpOutGetNexts_Type = Counter32
+_SnmpOutGetNexts_Object = MibScalar
+snmpOutGetNexts = _SnmpOutGetNexts_Object(
+ (1, 3, 6, 1, 2, 1, 11, 26),
+ _SnmpOutGetNexts_Type()
+)
+snmpOutGetNexts.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutGetNexts.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutGetNexts.setDescription("""\
+The total number of SNMP Get-Next PDUs which have been generated by the SNMP
+protocol entity.
+""")
+_SnmpOutSetRequests_Type = Counter32
+_SnmpOutSetRequests_Object = MibScalar
+snmpOutSetRequests = _SnmpOutSetRequests_Object(
+ (1, 3, 6, 1, 2, 1, 11, 27),
+ _SnmpOutSetRequests_Type()
+)
+snmpOutSetRequests.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutSetRequests.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutSetRequests.setDescription("""\
+The total number of SNMP Set-Request PDUs which have been generated by the SNMP
+protocol entity.
+""")
+_SnmpOutGetResponses_Type = Counter32
+_SnmpOutGetResponses_Object = MibScalar
+snmpOutGetResponses = _SnmpOutGetResponses_Object(
+ (1, 3, 6, 1, 2, 1, 11, 28),
+ _SnmpOutGetResponses_Type()
+)
+snmpOutGetResponses.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutGetResponses.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutGetResponses.setDescription("""\
+The total number of SNMP Get-Response PDUs which have been generated by the
+SNMP protocol entity.
+""")
+_SnmpOutTraps_Type = Counter32
+_SnmpOutTraps_Object = MibScalar
+snmpOutTraps = _SnmpOutTraps_Object(
+ (1, 3, 6, 1, 2, 1, 11, 29),
+ _SnmpOutTraps_Type()
+)
+snmpOutTraps.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpOutTraps.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpOutTraps.setDescription("""\
+The total number of SNMP Trap PDUs which have been generated by the SNMP
+protocol entity.
+""")
+
+
+class _SnmpEnableAuthenTraps_Type(Integer32):
+ """Custom type snmpEnableAuthenTraps based on Integer32"""
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("disabled", 2),
+ ("enabled", 1))
+ )
+
+
+_SnmpEnableAuthenTraps_Type.__name__ = "Integer32"
+_SnmpEnableAuthenTraps_Object = MibScalar
+snmpEnableAuthenTraps = _SnmpEnableAuthenTraps_Object(
+ (1, 3, 6, 1, 2, 1, 11, 30),
+ _SnmpEnableAuthenTraps_Type()
+)
+snmpEnableAuthenTraps.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ snmpEnableAuthenTraps.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpEnableAuthenTraps.setDescription("""\
+Indicates whether the SNMP entity is permitted to generate
+authenticationFailure traps. The value of this object overrides any
+configuration information; as such, it provides a means whereby all
+authenticationFailure traps may be disabled. Note that it is strongly
+recommended that this object be stored in non-volatile memory so that it
+remains constant across re-initializations of the network management system.
+""")
+_SnmpSilentDrops_Type = Counter32
+_SnmpSilentDrops_Object = MibScalar
+snmpSilentDrops = _SnmpSilentDrops_Object(
+ (1, 3, 6, 1, 2, 1, 11, 31),
+ _SnmpSilentDrops_Type()
+)
+snmpSilentDrops.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpSilentDrops.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSilentDrops.setDescription("""\
+The total number of Confirmed Class PDUs (such as GetRequest-PDUs,
+GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-
+PDUs) delivered to the SNMP entity which were silently dropped because the size
+of a reply containing an alternate Response Class PDU (such as a Response-PDU)
+with an empty variable-bindings field was greater than either a local
+constraint or the maximum message size associated with the originator of the
+request.
+""")
+_SnmpProxyDrops_Type = Counter32
+_SnmpProxyDrops_Object = MibScalar
+snmpProxyDrops = _SnmpProxyDrops_Object(
+ (1, 3, 6, 1, 2, 1, 11, 32),
+ _SnmpProxyDrops_Type()
+)
+snmpProxyDrops.setMaxAccess("read-only")
+if mibBuilder.loadTexts:
+ snmpProxyDrops.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpProxyDrops.setDescription("""\
+The total number of Confirmed Class PDUs (such as GetRequest-PDUs,
+GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-
+PDUs) delivered to the SNMP entity which were silently dropped because the
+transmission of the (possibly translated) message to a proxy target failed in a
+manner (other than a time-out) such that no Response Class PDU (such as a
+Response-PDU) could be returned.
+""")
+_SnmpMIBObjects_ObjectIdentity = ObjectIdentity
+snmpMIBObjects = _SnmpMIBObjects_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 1)
+)
+_SnmpTrap_ObjectIdentity = ObjectIdentity
+snmpTrap = _SnmpTrap_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 1, 4)
+)
+_SnmpTrapOID_Type = ObjectIdentifier
+_SnmpTrapOID_Object = MibScalar
+snmpTrapOID = _SnmpTrapOID_Object(
+ (1, 3, 6, 1, 6, 3, 1, 1, 4, 1),
+ _SnmpTrapOID_Type()
+)
+snmpTrapOID.setMaxAccess("accessible-for-notify")
+if mibBuilder.loadTexts:
+ snmpTrapOID.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTrapOID.setDescription("""\
+The authoritative identification of the notification currently being sent. This
+variable occurs as the second varbind in every SNMPv2-Trap-PDU and
+InformRequest-PDU.
+""")
+_SnmpTrapEnterprise_Type = ObjectIdentifier
+_SnmpTrapEnterprise_Object = MibScalar
+snmpTrapEnterprise = _SnmpTrapEnterprise_Object(
+ (1, 3, 6, 1, 6, 3, 1, 1, 4, 3),
+ _SnmpTrapEnterprise_Type()
+)
+snmpTrapEnterprise.setMaxAccess("accessible-for-notify")
+if mibBuilder.loadTexts:
+ snmpTrapEnterprise.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpTrapEnterprise.setDescription("""\
+The authoritative identification of the enterprise associated with the trap
+currently being sent. When an SNMP proxy agent is mapping an RFC1157 Trap-PDU
+into a SNMPv2-Trap-PDU, this variable occurs as the last varbind.
+""")
+_SnmpTraps_ObjectIdentity = ObjectIdentity
+snmpTraps = _SnmpTraps_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 1, 5)
+)
+_SnmpSet_ObjectIdentity = ObjectIdentity
+snmpSet = _SnmpSet_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 1, 6)
+)
+_SnmpSetSerialNo_Type = TestAndIncr
+_SnmpSetSerialNo_Object = MibScalar
+snmpSetSerialNo = _SnmpSetSerialNo_Object(
+ (1, 3, 6, 1, 6, 3, 1, 1, 6, 1),
+ _SnmpSetSerialNo_Type()
+)
+snmpSetSerialNo.setMaxAccess("read-write")
+if mibBuilder.loadTexts:
+ snmpSetSerialNo.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSetSerialNo.setDescription("""\
+An advisory lock used to allow several cooperating command generator
+applications to coordinate their use of the SNMP set operation. This object is
+used for coarse-grain coordination. To achieve fine-grain coordination, one or
+more similar objects might be defined within each MIB group, as appropriate.
+""")
+_SnmpMIBConformance_ObjectIdentity = ObjectIdentity
+snmpMIBConformance = _SnmpMIBConformance_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 2)
+)
+_SnmpMIBCompliances_ObjectIdentity = ObjectIdentity
+snmpMIBCompliances = _SnmpMIBCompliances_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 2, 1)
+)
+_SnmpMIBGroups_ObjectIdentity = ObjectIdentity
+snmpMIBGroups = _SnmpMIBGroups_ObjectIdentity(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2)
+)
+
+snmpSetGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 5)
+)
+snmpSetGroup.setObjects(
+ ("SNMPv2-MIB", "snmpSetSerialNo")
+)
+if mibBuilder.loadTexts:
+ snmpSetGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpSetGroup.setDescription("""\
+A collection of objects which allow several cooperating command generator
+applications to coordinate their use of the set operation.
+""")
+
+systemGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 6)
+)
+systemGroup.setObjects(
+ *(("SNMPv2-MIB", "sysDescr"),
+ ("SNMPv2-MIB", "sysObjectID"),
+ ("SNMPv2-MIB", "sysUpTime"),
+ ("SNMPv2-MIB", "sysContact"),
+ ("SNMPv2-MIB", "sysName"),
+ ("SNMPv2-MIB", "sysLocation"),
+ ("SNMPv2-MIB", "sysServices"),
+ ("SNMPv2-MIB", "sysORLastChange"),
+ ("SNMPv2-MIB", "sysORID"),
+ ("SNMPv2-MIB", "sysORUpTime"),
+ ("SNMPv2-MIB", "sysORDescr"))
+)
+if mibBuilder.loadTexts:
+ systemGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ systemGroup.setDescription("""\
+The system group defines objects which are common to all managed systems.
+""")
+
+snmpGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 8)
+)
+snmpGroup.setObjects(
+ *(("SNMPv2-MIB", "snmpInPkts"),
+ ("SNMPv2-MIB", "snmpInBadVersions"),
+ ("SNMPv2-MIB", "snmpInASNParseErrs"),
+ ("SNMPv2-MIB", "snmpSilentDrops"),
+ ("SNMPv2-MIB", "snmpProxyDrops"),
+ ("SNMPv2-MIB", "snmpEnableAuthenTraps"))
+)
+if mibBuilder.loadTexts:
+ snmpGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpGroup.setDescription("""\
+A collection of objects providing basic instrumentation and control of an SNMP
+entity.
+""")
+
+snmpCommunityGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 9)
+)
+snmpCommunityGroup.setObjects(
+ *(("SNMPv2-MIB", "snmpInBadCommunityNames"),
+ ("SNMPv2-MIB", "snmpInBadCommunityUses"))
+)
+if mibBuilder.loadTexts:
+ snmpCommunityGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCommunityGroup.setDescription("""\
+A collection of objects providing basic instrumentation of a SNMP entity which
+supports community-based authentication.
+""")
+
+snmpObsoleteGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 10)
+)
+snmpObsoleteGroup.setObjects(
+ *(("SNMPv2-MIB", "snmpOutPkts"),
+ ("SNMPv2-MIB", "snmpInTooBigs"),
+ ("SNMPv2-MIB", "snmpInNoSuchNames"),
+ ("SNMPv2-MIB", "snmpInBadValues"),
+ ("SNMPv2-MIB", "snmpInReadOnlys"),
+ ("SNMPv2-MIB", "snmpInGenErrs"),
+ ("SNMPv2-MIB", "snmpInTotalReqVars"),
+ ("SNMPv2-MIB", "snmpInTotalSetVars"),
+ ("SNMPv2-MIB", "snmpInGetRequests"),
+ ("SNMPv2-MIB", "snmpInGetNexts"),
+ ("SNMPv2-MIB", "snmpInSetRequests"),
+ ("SNMPv2-MIB", "snmpInGetResponses"),
+ ("SNMPv2-MIB", "snmpInTraps"),
+ ("SNMPv2-MIB", "snmpOutTooBigs"),
+ ("SNMPv2-MIB", "snmpOutNoSuchNames"),
+ ("SNMPv2-MIB", "snmpOutBadValues"),
+ ("SNMPv2-MIB", "snmpOutGenErrs"),
+ ("SNMPv2-MIB", "snmpOutGetRequests"),
+ ("SNMPv2-MIB", "snmpOutGetNexts"),
+ ("SNMPv2-MIB", "snmpOutSetRequests"),
+ ("SNMPv2-MIB", "snmpOutGetResponses"),
+ ("SNMPv2-MIB", "snmpOutTraps"))
+)
+if mibBuilder.loadTexts:
+ snmpObsoleteGroup.setStatus("obsolete")
+if mibBuilder.loadTexts:
+ snmpObsoleteGroup.setDescription("""\
+A collection of objects from RFC 1213 made obsolete by this MIB module.
+""")
+
+snmpNotificationGroup = ObjectGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 12)
+)
+snmpNotificationGroup.setObjects(
+ *(("SNMPv2-MIB", "snmpTrapOID"),
+ ("SNMPv2-MIB", "snmpTrapEnterprise"))
+)
+if mibBuilder.loadTexts:
+ snmpNotificationGroup.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpNotificationGroup.setDescription("""\
+These objects are required for entities which support notification originator
+applications.
+""")
+
+coldStart = NotificationType(
+ (1, 3, 6, 1, 6, 3, 1, 1, 5, 1)
+)
+if mibBuilder.loadTexts:
+ coldStart.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ coldStart.setDescription("""\
+A coldStart trap signifies that the SNMP entity, supporting a notification
+originator application, is reinitializing itself and that its configuration may
+have been altered.
+""")
+
+warmStart = NotificationType(
+ (1, 3, 6, 1, 6, 3, 1, 1, 5, 2)
+)
+if mibBuilder.loadTexts:
+ warmStart.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ warmStart.setDescription("""\
+A warmStart trap signifies that the SNMP entity, supporting a notification
+originator application, is reinitializing itself such that its configuration is
+unaltered.
+""")
+
+authenticationFailure = NotificationType(
+ (1, 3, 6, 1, 6, 3, 1, 1, 5, 5)
+)
+if mibBuilder.loadTexts:
+ authenticationFailure.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ authenticationFailure.setDescription("""\
+An authenticationFailure trap signifies that the SNMP entity has received a
+protocol message that is not properly authenticated. While all implementations
+of SNMP entities MAY be capable of generating this trap, the
+snmpEnableAuthenTraps object indicates whether this trap will be generated.
+""")
+
+snmpBasicNotificationsGroup = NotificationGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 7)
+)
+snmpBasicNotificationsGroup.setObjects(
+ *(("SNMPv2-MIB", "coldStart"),
+ ("SNMPv2-MIB", "authenticationFailure"))
+)
+if mibBuilder.loadTexts:
+ snmpBasicNotificationsGroup.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpBasicNotificationsGroup.setDescription("""\
+The basic notifications implemented by an SNMP entity supporting command
+responder applications.
+""")
+
+snmpWarmStartNotificationGroup = NotificationGroup(
+ (1, 3, 6, 1, 6, 3, 1, 2, 2, 11)
+)
+snmpWarmStartNotificationGroup.setObjects(
+ ("SNMPv2-MIB", "warmStart")
+)
+if mibBuilder.loadTexts:
+ snmpWarmStartNotificationGroup.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpWarmStartNotificationGroup.setDescription("""\
+An additional notification for an SNMP entity supporting command responder
+applications, if it is able to reinitialize itself such that its configuration
+is unaltered.
+""")
+
+snmpBasicCompliance = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 1, 2, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpBasicCompliance.setStatus(
+ "deprecated"
+ )
+if mibBuilder.loadTexts:
+ snmpBasicCompliance.setDescription("""\
+The compliance statement for SNMPv2 entities which implement the SNMPv2 MIB.
+This compliance statement is replaced by snmpBasicComplianceRev2.
+""")
+
+snmpBasicComplianceRev2 = ModuleCompliance(
+ (1, 3, 6, 1, 6, 3, 1, 2, 1, 3)
+)
+if mibBuilder.loadTexts:
+ snmpBasicComplianceRev2.setStatus(
+ "current"
+ )
+if mibBuilder.loadTexts:
+ snmpBasicComplianceRev2.setDescription("""\
+The compliance statement for SNMP entities which implement this MIB module.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMPv2-MIB",
+ **{"system": system,
+ "sysDescr": sysDescr,
+ "sysObjectID": sysObjectID,
+ "sysUpTime": sysUpTime,
+ "sysContact": sysContact,
+ "sysName": sysName,
+ "sysLocation": sysLocation,
+ "sysServices": sysServices,
+ "sysORLastChange": sysORLastChange,
+ "sysORTable": sysORTable,
+ "sysOREntry": sysOREntry,
+ "sysORIndex": sysORIndex,
+ "sysORID": sysORID,
+ "sysORDescr": sysORDescr,
+ "sysORUpTime": sysORUpTime,
+ "snmp": snmp,
+ "snmpInPkts": snmpInPkts,
+ "snmpOutPkts": snmpOutPkts,
+ "snmpInBadVersions": snmpInBadVersions,
+ "snmpInBadCommunityNames": snmpInBadCommunityNames,
+ "snmpInBadCommunityUses": snmpInBadCommunityUses,
+ "snmpInASNParseErrs": snmpInASNParseErrs,
+ "snmpInTooBigs": snmpInTooBigs,
+ "snmpInNoSuchNames": snmpInNoSuchNames,
+ "snmpInBadValues": snmpInBadValues,
+ "snmpInReadOnlys": snmpInReadOnlys,
+ "snmpInGenErrs": snmpInGenErrs,
+ "snmpInTotalReqVars": snmpInTotalReqVars,
+ "snmpInTotalSetVars": snmpInTotalSetVars,
+ "snmpInGetRequests": snmpInGetRequests,
+ "snmpInGetNexts": snmpInGetNexts,
+ "snmpInSetRequests": snmpInSetRequests,
+ "snmpInGetResponses": snmpInGetResponses,
+ "snmpInTraps": snmpInTraps,
+ "snmpOutTooBigs": snmpOutTooBigs,
+ "snmpOutNoSuchNames": snmpOutNoSuchNames,
+ "snmpOutBadValues": snmpOutBadValues,
+ "snmpOutGenErrs": snmpOutGenErrs,
+ "snmpOutGetRequests": snmpOutGetRequests,
+ "snmpOutGetNexts": snmpOutGetNexts,
+ "snmpOutSetRequests": snmpOutSetRequests,
+ "snmpOutGetResponses": snmpOutGetResponses,
+ "snmpOutTraps": snmpOutTraps,
+ "snmpEnableAuthenTraps": snmpEnableAuthenTraps,
+ "snmpSilentDrops": snmpSilentDrops,
+ "snmpProxyDrops": snmpProxyDrops,
+ "snmpMIB": snmpMIB,
+ "snmpMIBObjects": snmpMIBObjects,
+ "snmpTrap": snmpTrap,
+ "snmpTrapOID": snmpTrapOID,
+ "snmpTrapEnterprise": snmpTrapEnterprise,
+ "snmpTraps": snmpTraps,
+ "coldStart": coldStart,
+ "warmStart": warmStart,
+ "authenticationFailure": authenticationFailure,
+ "snmpSet": snmpSet,
+ "snmpSetSerialNo": snmpSetSerialNo,
+ "snmpMIBConformance": snmpMIBConformance,
+ "snmpMIBCompliances": snmpMIBCompliances,
+ "snmpBasicCompliance": snmpBasicCompliance,
+ "snmpBasicComplianceRev2": snmpBasicComplianceRev2,
+ "snmpMIBGroups": snmpMIBGroups,
+ "snmpSetGroup": snmpSetGroup,
+ "systemGroup": systemGroup,
+ "snmpBasicNotificationsGroup": snmpBasicNotificationsGroup,
+ "snmpGroup": snmpGroup,
+ "snmpCommunityGroup": snmpCommunityGroup,
+ "snmpObsoleteGroup": snmpObsoleteGroup,
+ "snmpWarmStartNotificationGroup": snmpWarmStartNotificationGroup,
+ "snmpNotificationGroup": snmpNotificationGroup}
+)
diff --git a/pysnmp/smi/mibs/SNMPv2-SMI.py b/pysnmp/smi/mibs/SNMPv2-SMI.py
index ae48cc3c..40ac6198 100644
--- a/pysnmp/smi/mibs/SNMPv2-SMI.py
+++ b/pysnmp/smi/mibs/SNMPv2-SMI.py
@@ -4,6 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMPv2-SMI
+# Produced by pysmi-0.4.0 at Sun Feb 17 08:56:38 2019
+#
+# Parts of otherwise autogenerated MIB has been updated manually.
+#
import sys
import traceback
@@ -17,17 +22,37 @@ from pysnmp.smi import error
from pysnmp.smi import exval
from pysnmp.smi.indices import OidOrderedDict
-Integer, ObjectIdentifier = mibBuilder.importSymbols(
- "ASN1", "Integer", "ObjectIdentifier"
-)
+if 'mibBuilder' not in globals():
+ import sys
-(ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint,
- ValueRangeConstraint, ValueSizeConstraint) = mibBuilder.importSymbols(
- "ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion",
- "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint"
-)
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+# ASN.1 types
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+# ASN.1 harness
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
-# syntax of objects
+# SNMP types
OctetString = rfc1902.OctetString
Bits = rfc1902.Bits
@@ -3362,22 +3387,46 @@ snmpProxys = MibIdentifier(snmpV2.name + (2,))
snmpModules = MibIdentifier(snmpV2.name + (3,))
mibBuilder.exportSymbols(
- 'SNMPv2-SMI', MibNode=MibNode,
- Integer32=Integer32, Bits=Bits, IpAddress=IpAddress,
- Counter32=Counter32, Gauge32=Gauge32, Unsigned32=Unsigned32,
- TimeTicks=TimeTicks, Opaque=Opaque, Counter64=Counter64,
- ExtUTCTime=ExtUTCTime,
- ModuleIdentity=ModuleIdentity, ObjectIdentity=ObjectIdentity,
- NotificationType=NotificationType, MibScalar=MibScalar,
- MibScalarInstance=MibScalarInstance,
- MibIdentifier=MibIdentifier, MibTree=MibTree,
- MibTableColumn=MibTableColumn, MibTableRow=MibTableRow,
- MibTable=MibTable, zeroDotZero=zeroDotZero,
- itu_t=itu_t, iso=iso, org=org, dod=dod,
- internet=internet, directory=directory, mgmt=mgmt, mib_2=mib_2,
- transmission=transmission, experimental=experimental, private=private,
- enterprises=enterprises, security=security, snmpV2=snmpV2,
- snmpDomains=snmpDomains, snmpProxys=snmpProxys, snmpModules=snmpModules
+ "SNMPv2-SMI",
+ **{"MibNode": MibNode,
+ "Integer32": Integer32,
+ "Bits": Bits,
+ "IpAddress": IpAddress,
+ "Counter32": Counter32,
+ "Gauge32": Gauge32,
+ "Unsigned32": Unsigned32,
+ "TimeTicks": TimeTicks,
+ "Opaque": Opaque,
+ "Counter64": Counter64,
+ "ExtUTCTime": ExtUTCTime,
+ "ModuleIdentity": ModuleIdentity,
+ "ObjectIdentity": ObjectIdentity,
+ "NotificationType": NotificationType,
+ "MibScalar": MibScalar,
+ "MibScalarInstance": MibScalarInstance,
+ "MibIdentifier": MibIdentifier,
+ "MibTree": MibTree,
+ "MibTableColumn": MibTableColumn,
+ "MibTableRow": MibTableRow,
+ "MibTable": MibTable,
+ "zeroDotZero": zeroDotZero,
+ "itu_t": itu_t,
+ "iso": iso,
+ "org": org,
+ "dod": dod,
+ "internet": internet,
+ "directory": directory,
+ "mgmt": mgmt,
+ "mib-2": mib_2,
+ "transmission": transmission,
+ "experimental": experimental,
+ "private": private,
+ "enterprises": enterprises,
+ "security": security,
+ "snmpV2": snmpV2,
+ "snmpDomains": snmpDomains,
+ "snmpProxys": snmpProxys,
+ "snmpModules": snmpModules}
)
# XXX
diff --git a/pysnmp/smi/mibs/SNMPv2-TC.py b/pysnmp/smi/mibs/SNMPv2-TC.py
index 600bb8f9..e75a1295 100644
--- a/pysnmp/smi/mibs/SNMPv2-TC.py
+++ b/pysnmp/smi/mibs/SNMPv2-TC.py
@@ -4,6 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# ASN.1 source http://mibs.snmplabs.com/asn1/SNMPv2-TC
+# Produced by pysmi-0.4.0 at Sun Feb 17 00:21:05 2019
+#
+# Parts of otherwise autogenerated MIB has been updated manually.
+#
import inspect
import string
@@ -14,10 +19,71 @@ from pyasn1.type.base import Asn1Item
from pysnmp import debug
from pysnmp.smi.error import *
-OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols('ASN1', 'OctetString', 'Integer', 'ObjectIdentifier')
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint")
-Counter32, Unsigned32, TimeTicks, Counter64 = mibBuilder.importSymbols('SNMPv2-SMI', 'Counter32', 'Unsigned32', 'TimeTicks', 'Counter64')
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ MibIdentifier,
+ Unsigned32,
+ Gauge32,
+ NotificationType,
+ Counter64,
+ ObjectIdentity,
+ Bits,
+ Counter32,
+ ModuleIdentity,
+ IpAddress,
+ TimeTicks,
+ Integer32,
+ iso) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "MibIdentifier",
+ "Unsigned32",
+ "Gauge32",
+ "NotificationType",
+ "Counter64",
+ "ObjectIdentity",
+ "Bits",
+ "Counter32",
+ "ModuleIdentity",
+ "IpAddress",
+ "TimeTicks",
+ "Integer32",
+ "iso")
class TextualConvention(object):
@@ -372,37 +438,103 @@ class TextualConvention(object):
class DisplayString(TextualConvention, OctetString):
- description = "Represents textual information taken from the NVT ASCII character set, as defined in pages 4, 10-11 of RFC 854. To summarize RFC 854, the NVT ASCII repertoire specifies: - the use of character codes 0-127 (decimal) - the graphics characters (32-126) are interpreted as US ASCII - NUL, LF, CR, BEL, BS, HT, VT and FF have the special meanings specified in RFC 854 - the other 25 codes have no standard interpretation - the sequence 'CR LF' means newline - the sequence 'CR NUL' means carriage-return - an 'LF' not preceded by a 'CR' means moving to the same column on the next line. - the sequence 'CR x' for any x other than LF or NUL is illegal. (Note that this also means that a string may end with either 'CR LF' or 'CR NUL', but not with CR.) Any object defined using this syntax may not exceed 255 characters in length."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ status = "current"
displayHint = "255a"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents textual information taken from the NVT ASCII character set, as
+defined in pages 4, 10-11 of RFC 854. To summarize RFC 854, the NVT ASCII
+repertoire specifies: - the use of character codes 0-127 (decimal) - the
+graphics characters (32-126) are interpreted as US ASCII - NUL, LF, CR, BEL,
+BS, HT, VT and FF have the special meanings specified in RFC 854 - the other 25
+codes have no standard interpretation - the sequence 'CR LF' means newline -
+the sequence 'CR NUL' means carriage-return - an 'LF' not preceded by a 'CR'
+means moving to the same column on the next line. - the sequence 'CR x' for any
+x other than LF or NUL is illegal. (Note that this also means that a string may
+end with either 'CR LF' or 'CR NUL', but not with CR.) Any object defined using
+this syntax may not exceed 255 characters in length.
+"""
class PhysAddress(TextualConvention, OctetString):
- description = "Represents textual information taken from the NVT ASCII character set, as defined in pages 4, 10-11 of RFC 854. To summarize RFC 854, the NVT ASCII repertoire specifies: - the use of character codes 0-127 (decimal) - the graphics characters (32-126) are interpreted as US ASCII - NUL, LF, CR, BEL, BS, HT, VT and FF have the special meanings specified in RFC 854 - the other 25 codes have no standard interpretation - the sequence 'CR LF' means newline - the sequence 'CR NUL' means carriage-return - an 'LF' not preceded by a 'CR' means moving to the same column on the next line. - the sequence 'CR x' for any x other than LF or NUL is illegal. (Note that this also means that a string may end with either 'CR LF' or 'CR NUL', but not with CR.) Any object defined using this syntax may not exceed 255 characters in length."
- status = 'current'
+ status = "current"
displayHint = "1x:"
+ if mibBuilder.loadTexts:
+ description = """\
+Represents media- or physical-level addresses.
+"""
class MacAddress(TextualConvention, OctetString):
- description = "Represents an 802 MAC address represented in the `canonical' order defined by IEEE 802.1a, i.e., as if it were transmitted least significant bit first, even though 802.5 (in contrast to other 802.x protocols) requires MAC addresses to be transmitted most significant bit first."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(6, 6)
+ status = "current"
displayHint = "1x:"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(6, 6),
+ )
fixedLength = 6
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an 802 MAC address represented in the `canonical' order defined by
+IEEE 802.1a, i.e., as if it were transmitted least significant bit first, even
+though 802.5 (in contrast to other 802.x protocols) requires MAC addresses to
+be transmitted most significant bit first.
+"""
+
+
+class TruthValue(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2)
+ )
+ )
+ namedValues = NamedValues(
+ *(("false", 2),
+ ("true", 1))
+ )
-class TruthValue(TextualConvention, Integer):
- description = 'Represents a boolean value.'
- status = 'current'
- subtypeSpec = Integer.subtypeSpec + SingleValueConstraint(1, 2)
- namedValues = NamedValues(('true', 1), ('false', 2))
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a boolean value.
+"""
-class TestAndIncr(TextualConvention, Integer):
- description = "Represents integer-valued information used for atomic operations. When the management protocol is used to specify that an object instance having this syntax is to be modified, the new value supplied via the management protocol must precisely match the value presently held by the instance. If not, the management protocol set operation fails with an error of `inconsistentValue'. Otherwise, if the current value is the maximum value of 2^31-1 (2147483647 decimal), then the value held by the instance is wrapped to zero; otherwise, the value held by the instance is incremented by one. (Note that regardless of whether the management protocol set operation succeeds, the variable- binding in the request and response PDUs are identical.) The value of the ACCESS clause for objects having this syntax is either `read-write' or `read-create'. When an instance of a columnar object having this syntax is created, any value may be supplied via the management protocol. When the network management portion of the system is re- initialized, the value of every object instance having this syntax must either be incremented from its value prior to the re-initialization, or (if the value prior to the re- initialization is unknown) be set to a pseudo-randomly generated value."
- status = 'current'
- subtypeSpec = Integer.subtypeSpec + ValueRangeConstraint(0, 2147483647)
+class TestAndIncr(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents integer-valued information used for atomic operations. When the
+management protocol is used to specify that an object instance having this
+syntax is to be modified, the new value supplied via the management protocol
+must precisely match the value presently held by the instance. If not, the
+management protocol set operation fails with an error of `inconsistentValue'.
+Otherwise, if the current value is the maximum value of 2^31-1 (2147483647
+decimal), then the value held by the instance is wrapped to zero; otherwise,
+the value held by the instance is incremented by one. (Note that regardless of
+whether the management protocol set operation succeeds, the variable- binding
+in the request and response PDUs are identical.) The value of the ACCESS clause
+for objects having this syntax is either `read-write' or `read-create'. When an
+instance of a columnar object having this syntax is created, any value may be
+supplied via the management protocol. When the network management portion of
+the system is re- initialized, the value of every object instance having this
+syntax must either be incremented from its value prior to the re-
+initialization, or (if the value prior to the re- initialization is unknown) be
+set to a pseudo-randomly generated value.
+"""
defaultValue = 0
def setValue(self, value):
@@ -418,42 +550,346 @@ class TestAndIncr(TextualConvention, Integer):
class AutonomousType(TextualConvention, ObjectIdentifier):
- description = 'Represents an independently extensible type identification value. It may, for example, indicate a particular sub-tree with further MIB definitions, or define a particular type of protocol or hardware.'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an independently extensible type identification value. It may, for
+example, indicate a particular sub-tree with further MIB definitions, or define
+a particular type of protocol or hardware.
+"""
class InstancePointer(TextualConvention, ObjectIdentifier):
- description = 'A pointer to either a specific instance of a MIB object or a conceptual row of a MIB table in the managed device. In the latter case, by convention, it is the name of the particular instance of the first accessible columnar object in the conceptual row. The two uses of this textual convention are replaced by VariablePointer and RowPointer, respectively.'
- status = 'obsolete'
+ status = "obsolete"
+ if mibBuilder.loadTexts:
+ description = """\
+A pointer to either a specific instance of a MIB object or a conceptual row of
+a MIB table in the managed device. In the latter case, by convention, it is the
+name of the particular instance of the first accessible columnar object in the
+conceptual row. The two uses of this textual convention are replaced by
+VariablePointer and RowPointer, respectively.
+"""
class VariablePointer(TextualConvention, ObjectIdentifier):
- description = 'A pointer to a specific object instance. For example, sysContact.0 or ifInOctets.3.'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+A pointer to a specific object instance. For example, sysContact.0 or
+ifInOctets.3.
+"""
class RowPointer(TextualConvention, ObjectIdentifier):
- description = 'Represents a pointer to a conceptual row. The value is the name of the instance of the first accessible columnar object in the conceptual row. For example, ifIndex.3 would point to the 3rd row in the ifTable (note that if ifIndex were not-accessible, then ifDescr.3 would be used instead).'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a pointer to a conceptual row. The value is the name of the instance
+of the first accessible columnar object in the conceptual row. For example,
+ifIndex.3 would point to the 3rd row in the ifTable (note that if ifIndex were
+not-accessible, then ifDescr.3 would be used instead).
+"""
+
class RowStatus(TextualConvention, Integer):
"""A special kind of scalar MIB variable responsible for
MIB table row creation/destruction.
"""
- description = "The RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)..."
- status = 'current'
- subtypeSpec = Integer.subtypeSpec + SingleValueConstraint(0, 1, 2, 3, 4, 5, 6)
+ status = "current"
+ subtypeSpec = Integer.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6)
+ )
+ )
namedValues = NamedValues(
- ('notExists', 0), ('active', 1), ('notInService', 2), ('notReady', 3),
- ('createAndGo', 4), ('createAndWait', 5), ('destroy', 6)
+ *(("notExists", 0),
+ ("active", 1),
+ ("createAndGo", 4),
+ ("createAndWait", 5),
+ ("destroy", 6),
+ ("notInService", 2),
+ ("notReady", 3))
)
+
+ if mibBuilder.loadTexts:
+ description = """\
+ The RowStatus textual convention is used to manage the creation and deletion of
+ conceptual rows, and is used as the value of the SYNTAX clause for the status
+ column of a conceptual row (as described in Section 7.7.1 of [2].) The status
+ column has six defined values: - `active', which indicates that the conceptual
+ row is available for use by the managed device; - `notInService', which
+ indicates that the conceptual row exists in the agent, but is unavailable for
+ use by the managed device (see NOTE below); 'notInService' has no implication
+ regarding the internal consistency of the row, availability of resources, or
+ consistency with the current state of the managed device; - `notReady', which
+ indicates that the conceptual row exists in the agent, but is missing
+ information necessary in order to be available for use by the managed device
+ (i.e., one or more required columns in the conceptual row have not been
+ instanciated); - `createAndGo', which is supplied by a management station
+ wishing to create a new instance of a conceptual row and to have its status
+ automatically set to active, making it available for use by the managed device;
+ - `createAndWait', which is supplied by a management station wishing to create
+ a new instance of a conceptual row (but not make it available for use by the
+ managed device); and, - `destroy', which is supplied by a management station
+ wishing to delete all of the instances associated with an existing conceptual
+ row. Whereas five of the six values (all except `notReady') may be specified in
+ a management protocol set operation, only three values will be returned in
+ response to a management protocol retrieval operation: `notReady',
+ `notInService' or `active'. That is, when queried, an existing conceptual row
+ has only three states: it is either available for use by the managed device
+ (the status column has value `active'); it is not available for use by the
+ managed device, though the agent has sufficient information to attempt to make
+ it so (the status column has value `notInService'); or, it is not available for
+ use by the managed device, and an attempt to make it so would fail because the
+ agent has insufficient information (the state column has value `notReady').
+ NOTE WELL This textual convention may be used for a MIB table, irrespective of
+ whether the values of that table's conceptual rows are able to be modified
+ while it is active, or whether its conceptual rows must be taken out of service
+ in order to be modified. That is, it is the responsibility of the DESCRIPTION
+ clause of the status column to specify whether the status column must not be
+ `active' in order for the value of some other column of the same conceptual row
+ to be modified. If such a specification is made, affected columns may be
+ changed by an SNMP set PDU if the RowStatus would not be equal to `active'
+ either immediately before or after processing the PDU. In other words, if the
+ PDU also contained a varbind that would change the RowStatus value, the column
+ in question may be changed if the RowStatus was not equal to `active' as the
+ PDU was received, or if the varbind sets the status to a value other than
+ 'active'. Also note that whenever any elements of a row exist, the RowStatus
+ column must also exist. To summarize the effect of having a conceptual row with
+ a status column having a SYNTAX clause value of RowStatus, consider the
+ following state diagram: STATE
+ +--------------+-----------+-------------+------------- | A | B | C | D |
+ |status col.|status column| |status column | is | is |status column ACTION
+ |does not exist| notReady | notInService| is active
+ --------------+--------------+-----------+-------------+------------- set
+ status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or |
+ entValue| Value| Value createAndGo |inconsistent- | | | | Value| | |
+ --------------+--------------+-----------+-------------+------------- set
+ status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or |
+ entValue| Value| Value createAndWait |wrongValue | | |
+ --------------+--------------+-----------+-------------+------------- set
+ status |inconsistent- |inconsist- |noError |noError column to | Value|
+ entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D
+ --------------+--------------+-----------+-------------+------------- set
+ status |inconsistent- |inconsist- |noError |noError ->C column to | Value|
+ entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6
+ --------------+--------------+-----------+-------------+------------- set
+ status |noError |noError |noError |noError ->A column to | | | | or destroy |
+ ->A| ->A| ->A|see 7
+ --------------+--------------+-----------+-------------+------------- set any
+ other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1|
+ ->C| ->D --------------+--------------+-----------+-------------+-------------
+ (1) goto B or C, depending on information available to the agent. (2) if other
+ variable bindings included in the same PDU, provide values for all columns
+ which are missing but required, and all columns have acceptable values, then
+ return noError and goto D. (3) if other variable bindings included in the same
+ PDU, provide legal values for all columns which are missing but required, then
+ return noError and goto C. (4) at the discretion of the agent, the return value
+ may be either: inconsistentName: because the agent does not choose to create
+ such an instance when the corresponding RowStatus instance does not exist, or
+ inconsistentValue: if the supplied value is inconsistent with the state of some
+ other MIB object's value, or noError: because the agent chooses to create the
+ instance. If noError is returned, then the instance of the status column must
+ also be created, and the new state is B or C, depending on the information
+ available to the agent. If inconsistentName or inconsistentValue is returned,
+ the row remains in state A. (5) depending on the MIB definition for the
+ column/table, either noError or inconsistentValue may be returned. (6) the
+ return value can indicate one of the following errors: wrongValue: because the
+ agent does not support notInService (e.g., an agent which does not support
+ createAndWait), or inconsistentValue: because the agent is unable to take the
+ row out of service at this time, perhaps because it is in use and cannot be de-
+ activated. (7) the return value can indicate the following error:
+ inconsistentValue: because the agent is unable to remove the row at this time,
+ perhaps because it is in use and cannot be de-activated. (8) the transition to
+ D can fail, e.g., if the values of the conceptual row are inconsistent, then
+ the error code would be inconsistentValue. NOTE: Other processing of (this and
+ other varbinds of) the set request may result in a response other than noError
+ being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation
+ There are four potential interactions when creating a conceptual row: selecting
+ an instance-identifier which is not in use; creating the conceptual row;
+ initializing any objects for which the agent does not supply a default; and,
+ making the conceptual row available for use by the managed device. Interaction
+ 1: Selecting an Instance-Identifier The algorithm used to select an instance-
+ identifier varies for each conceptual row. In some cases, the instance-
+ identifier is semantically significant, e.g., the destination address of a
+ route, and a management station selects the instance-identifier according to
+ the semantics. In other cases, the instance-identifier is used solely to
+ distinguish conceptual rows, and a management station without specific
+ knowledge of the conceptual row might examine the instances present in order to
+ determine an unused instance-identifier. (This approach may be used, but it is
+ often highly sub-optimal; however, it is also a questionable practice for a
+ naive management station to attempt conceptual row creation.) Alternately, the
+ MIB module which defines the conceptual row might provide one or more objects
+ which provide assistance in determining an unused instance-identifier. For
+ example, if the conceptual row is indexed by an integer-value, then an object
+ having an integer-valued SYNTAX clause might be defined for such a purpose,
+ allowing a management station to issue a management protocol retrieval
+ operation. In order to avoid unnecessary collisions between competing
+ management stations, `adjacent' retrievals of this object should be different.
+ Finally, the management station could select a pseudo-random number to use as
+ the index. In the event that this index was already in use and an
+ inconsistentValue was returned in response to the management protocol set
+ operation, the management station should simply select a new pseudo-random
+ number and retry the operation. A MIB designer should choose between the two
+ latter algorithms based on the size of the table (and therefore the efficiency
+ of each algorithm). For tables in which a large number of entries are expected,
+ it is recommended that a MIB object be defined that returns an acceptable index
+ for creation. For tables with small numbers of entries, it is recommended that
+ the latter pseudo-random index mechanism be used. Interaction 2: Creating the
+ Conceptual Row Once an unused instance-identifier has been selected, the
+ management station determines if it wishes to create and activate the
+ conceptual row in one transaction or in a negotiated set of interactions.
+ Interaction 2a: Creating and Activating the Conceptual Row The management
+ station must first determine the column requirements, i.e., it must determine
+ those columns for which it must or must not provide values. Depending on the
+ complexity of the table and the management station's knowledge of the agent's
+ capabilities, this determination can be made locally by the management station.
+ Alternately, the management station issues a management protocol get operation
+ to examine all columns in the conceptual row that it wishes to create. In
+ response, for each column, there are three possible outcomes: - a value is
+ returned, indicating that some other management station has already created
+ this conceptual row. We return to interaction 1. - the exception
+ `noSuchInstance' is returned, indicating that the agent implements the object-
+ type associated with this column, and that this column in at least one
+ conceptual row would be accessible in the MIB view used by the retrieval were
+ it to exist. For those columns to which the agent provides read-create access,
+ the `noSuchInstance' exception tells the management station that it should
+ supply a value for this column when the conceptual row is to be created. - the
+ exception `noSuchObject' is returned, indicating that the agent does not
+ implement the object-type associated with this column or that there is no
+ conceptual row for which this column would be accessible in the MIB view used
+ by the retrieval. As such, the management station can not issue any management
+ protocol set operations to create an instance of this column. Once the column
+ requirements have been determined, a management protocol set operation is
+ accordingly issued. This operation also sets the new instance of the status
+ column to `createAndGo'. When the agent processes the set operation, it
+ verifies that it has sufficient information to make the conceptual row
+ available for use by the managed device. The information available to the agent
+ is provided by two sources: the management protocol set operation which creates
+ the conceptual row, and, implementation-specific defaults supplied by the agent
+ (note that an agent must provide implementation-specific defaults for at least
+ those objects which it implements as read-only). If there is sufficient
+ information available, then the conceptual row is created, a `noError' response
+ is returned, the status column is set to `active', and no further interactions
+ are necessary (i.e., interactions 3 and 4 are skipped). If there is
+ insufficient information, then the conceptual row is not created, and the set
+ operation fails with an error of `inconsistentValue'. On this error, the
+ management station can issue a management protocol retrieval operation to
+ determine if this was because it failed to specify a value for a required
+ column, or, because the selected instance of the status column already existed.
+ In the latter case, we return to interaction 1. In the former case, the
+ management station can re-issue the set operation with the additional
+ information, or begin interaction 2 again using `createAndWait' in order to
+ negotiate creation of the conceptual row. NOTE WELL Regardless of the method
+ used to determine the column requirements, it is possible that the management
+ station might deem a column necessary when, in fact, the agent will not allow
+ that particular columnar instance to be created or written. In this case, the
+ management protocol set operation will fail with an error such as `noCreation'
+ or `notWritable'. In this case, the management station decides whether it needs
+ to be able to set a value for that particular columnar instance. If not, the
+ management station re-issues the management protocol set operation, but without
+ setting a value for that particular columnar instance; otherwise, the
+ management station aborts the row creation algorithm. Interaction 2b:
+ Negotiating the Creation of the Conceptual Row The management station issues a
+ management protocol set operation which sets the desired instance of the status
+ column to `createAndWait'. If the agent is unwilling to process a request of
+ this sort, the set operation fails with an error of `wrongValue'. (As a
+ consequence, such an agent must be prepared to accept a single management
+ protocol set operation, i.e., interaction 2a above, containing all of the
+ columns indicated by its column requirements.) Otherwise, the conceptual row is
+ created, a `noError' response is returned, and the status column is immediately
+ set to either `notInService' or `notReady', depending on whether it has
+ sufficient information to (attempt to) make the conceptual row available for
+ use by the managed device. If there is sufficient information available, then
+ the status column is set to `notInService'; otherwise, if there is insufficient
+ information, then the status column is set to `notReady'. Regardless, we
+ proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The
+ management station must now determine the column requirements. It issues a
+ management protocol get operation to examine all columns in the created
+ conceptual row. In the response, for each column, there are three possible
+ outcomes: - a value is returned, indicating that the agent implements the
+ object-type associated with this column and had sufficient information to
+ provide a value. For those columns to which the agent provides read-create
+ access (and for which the agent allows their values to be changed after their
+ creation), a value return tells the management station that it may issue
+ additional management protocol set operations, if it desires, in order to
+ change the value associated with this column. - the exception `noSuchInstance'
+ is returned, indicating that the agent implements the object-type associated
+ with this column, and that this column in at least one conceptual row would be
+ accessible in the MIB view used by the retrieval were it to exist. However, the
+ agent does not have sufficient information to provide a value, and until a
+ value is provided, the conceptual row may not be made available for use by the
+ managed device. For those columns to which the agent provides read-create
+ access, the `noSuchInstance' exception tells the management station that it
+ must issue additional management protocol set operations, in order to provide a
+ value associated with this column. - the exception `noSuchObject' is returned,
+ indicating that the agent does not implement the object-type associated with
+ this column or that there is no conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As such, the management
+ station can not issue any management protocol set operations to create an
+ instance of this column. If the value associated with the status column is
+ `notReady', then the management station must first deal with all
+ `noSuchInstance' columns, if any. Having done so, the value of the status
+ column becomes `notInService', and we proceed to interaction 4. Interaction 4:
+ Making the Conceptual Row Available Once the management station is satisfied
+ with the values associated with the columns of the conceptual row, it issues a
+ management protocol set operation to set the status column to `active'. If the
+ agent has sufficient information to make the conceptual row available for use
+ by the managed device, the management protocol set operation succeeds (a
+ `noError' response is returned). Otherwise, the management protocol set
+ operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual
+ row having a status column with value `notInService' or `notReady' is
+ unavailable to the managed device. As such, it is possible for the managed
+ device to create its own instances during the time between the management
+ protocol set operation which sets the status column to `createAndWait' and the
+ management protocol set operation which sets the status column to `active'. In
+ this case, when the management protocol set operation is issued to set the
+ status column to `active', the values held in the agent supersede those used by
+ the managed device. If the management station is prevented from setting the
+ status column to `active' (e.g., due to management station or network failure)
+ the conceptual row will be left in the `notInService' or `notReady' state,
+ consuming resources indefinitely. The agent must detect conceptual rows that
+ have been in either state for an abnormally long period of time and remove
+ them. It is the responsibility of the DESCRIPTION clause of the status column
+ to indicate what an abnormally long period of time would be. This period of
+ time should be long enough to allow for human response time (including `think
+ time') between the creation of the conceptual row and the setting of the status
+ to `active'. In the absence of such information in the DESCRIPTION clause, it
+ is suggested that this period be approximately 5 minutes in length. This
+ removal action applies not only to newly-created rows, but also to previously
+ active rows which are set to, and left in, the notInService state for a
+ prolonged period exceeding that which is considered normal for such a
+ conceptual row. Conceptual Row Suspension When a conceptual row is `active',
+ the management station may issue a management protocol set operation which sets
+ the instance of the status column to `notInService'. If the agent is unwilling
+ to do so, the set operation fails with an error of `wrongValue' or
+ `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and
+ a `noError' response is returned. It is the responsibility of the DESCRIPTION
+ clause of the status column to indicate under what circumstances the status
+ column should be taken out of service (e.g., in order for the value of some
+ other column of the same conceptual row to be modified). Conceptual Row
+ Deletion For deletion of conceptual rows, a management protocol set operation
+ is issued which sets the instance of the status column to `destroy'. This
+ request may be made regardless of the current value of the status column (e.g.,
+ it is possible to delete conceptual rows which are either `notReady',
+ `notInService' or `active'.) If the operation succeeds, then all instances
+ associated with the conceptual row are immediately removed.
+ """
+
# Known row states
(stNotExists, stActive, stNotInService,
stNotReady, stCreateAndGo, stCreateAndWait,
stDestroy) = list(range(7))
# States transition matrix (see RFC-1903)
- stateMatrix = {
+ STATE_MATRIX = {
# (new-state, current-state) -> (error, new-state)
(stCreateAndGo, stNotExists): (RowCreationWanted, stActive),
(stCreateAndGo, stNotReady): (InconsistentValueError, stNotReady),
@@ -491,7 +927,7 @@ class RowStatus(TextualConvention, Integer):
# Run through states transition matrix,
# resolve new instance value
- excValue, newState = self.stateMatrix.get(
+ excValue, newState = self.STATE_MATRIX.get(
(value.hasValue() and value or self.stNotExists,
self.hasValue() and self or self.stNotExists),
(MibOperationError, None)
@@ -517,53 +953,136 @@ class RowStatus(TextualConvention, Integer):
class TimeStamp(TextualConvention, TimeTicks):
- description = 'The value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type. If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects.'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+The value of the sysUpTime object at which a specific occurrence happened. The
+specific occurrence must be defined in the description of any object defined
+using this type. If sysUpTime is reset to zero as a result of a re-
+initialization of the network management (sub)system, then the values of all
+TimeStamp objects are also reset. However, after approximately 497 days without
+a re- initialization, the sysUpTime object will reach 2^^32-1 and then
+increment around to zero; in this case, existing values of TimeStamp objects do
+not change. This can lead to ambiguities in the value of TimeStamp objects.
+"""
+
+
+class TimeInterval(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueRangeConstraint(0, 2147483647),
+ )
-
-class TimeInterval(TextualConvention, Integer):
- description = 'A period of time, measured in units of 0.01 seconds.'
- status = 'current'
- subtypeSpec = Integer.subtypeSpec + ValueRangeConstraint(0, 2147483647)
+ if mibBuilder.loadTexts:
+ description = """\
+A period of time, measured in units of 0.01 seconds.
+"""
class DateAndTime(TextualConvention, OctetString):
- description = "A date-time specification. field octets contents range ----- ------ -------- ----- 1 1-2 year* 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6 minutes 0..59 6 7 seconds 0..60 (use 60 for leap-second) 7 8 deci-seconds 0..9 8 9 direction from UTC '+' / '-' 9 10 hours from UTC* 0..13 10 11 minutes from UTC 0..59 * Notes: - the value of year is in network-byte order - daylight saving time in New Zealand is +13 For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be displayed as: 1992-5-26,13:30:15.0,-4:0 Note that if only local time is known, then timezone information (fields 8-10) is not present."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(8, 11)
+ status = "current"
displayHint = "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(8, 8),
+ ValueSizeConstraint(11, 11),
+ )
-
-class StorageType(TextualConvention, Integer):
- description = "Describes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable."
- status = 'current'
- subtypeSpec = Integer.subtypeSpec + SingleValueConstraint(1, 2, 3, 4, 5)
+ if mibBuilder.loadTexts:
+ description = """\
+A date-time specification. field octets contents range ----- ------ --------
+----- 1 1-2 year* 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6
+minutes 0..59 6 7 seconds 0..60 (use 60 for leap-second) 7 8 deci-seconds 0..9
+8 9 direction from UTC '+' / '-' 9 10 hours from UTC* 0..13 10 11 minutes from
+UTC 0..59 * Notes: - the value of year is in network-byte order - daylight
+saving time in New Zealand is +13 For example, Tuesday May 26, 1992 at 1:30:15
+PM EDT would be displayed as: 1992-5-26,13:30:15.0,-4:0 Note that if only local
+time is known, then timezone information (fields 8-10) is not present.
+"""
+
+
+class StorageType(TextualConvention, Integer32):
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(1,
+ 2,
+ 3,
+ 4,
+ 5)
+ )
+ )
namedValues = NamedValues(
- ('other', 1), ('volatile', 2), ('nonVolatile', 3),
- ('permanent', 4), ('readOnly', 5)
+ *(("nonVolatile", 3),
+ ("other", 1),
+ ("permanent", 4),
+ ("readOnly", 5),
+ ("volatile", 2))
)
+ if mibBuilder.loadTexts:
+ description = """\
+Describes the memory realization of a conceptual row. A row which is
+volatile(2) is lost upon reboot. A row which is either nonVolatile(3),
+permanent(4) or readOnly(5), is backed up by stable storage. A row which is
+permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot
+be changed nor deleted. If the value of an object with this syntax is either
+permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is
+either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be
+permanent(4) or readOnly(5). (All illegal modifications result in a
+'wrongValue' error.) Every usage of this textual convention is required to
+specify the columnar objects which a permanent(4) row must at a minimum allow
+to be writable.
+"""
+
class TDomain(TextualConvention, ObjectIdentifier):
- reference = 'The SNMPv2-TM MIB module is defined in RFC 1906.'
- description = 'Denotes a kind of transport service. Some possible values, such as snmpUDPDomain, are defined in the SNMPv2-TM MIB module. Other possible values are defined in other MIB modules.'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+Denotes a kind of transport service. Some possible values, such as
+snmpUDPDomain, are defined in the SNMPv2-TM MIB module. Other possible values
+are defined in other MIB modules.
+"""
class TAddress(TextualConvention, OctetString):
- reference = 'The SNMPv2-TM MIB module is defined in RFC 1906.'
- description = 'Denotes a transport service address. A TAddress value is always interpreted within the context of a TDomain value. Thus, each definition of a TDomain value must be accompanied by a definition of a textual convention for use with that TDomain. Some possible textual conventions, such as SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM MIB module. Other possible textual conventions are defined in other MIB modules.'
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(1, 255)
+ status = "current"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Denotes a transport service address. A TAddress value is always interpreted
+within the context of a TDomain value. Thus, each definition of a TDomain value
+must be accompanied by a definition of a textual convention for use with that
+TDomain. Some possible textual conventions, such as SnmpUDPAddress for
+snmpUDPDomain, are defined in the SNMPv2-TM MIB module. Other possible textual
+conventions are defined in other MIB modules.
+"""
mibBuilder.exportSymbols(
- 'SNMPv2-TC', TextualConvention=TextualConvention,
- DisplayString=DisplayString, PhysAddress=PhysAddress,
- MacAddress=MacAddress, TruthValue=TruthValue, TestAndIncr=TestAndIncr,
- AutonomousType=AutonomousType, InstancePointer=InstancePointer,
- VariablePointer=VariablePointer, RowPointer=RowPointer,
- RowStatus=RowStatus, TimeStamp=TimeStamp, TimeInterval=TimeInterval,
- DateAndTime=DateAndTime, StorageType=StorageType, TDomain=TDomain,
- TAddress=TAddress
+ "SNMPv2-TC",
+ **{"TextualConvention": TextualConvention,
+ "DisplayString": DisplayString,
+ "PhysAddress": PhysAddress,
+ "MacAddress": MacAddress,
+ "TruthValue": TruthValue,
+ "TestAndIncr": TestAndIncr,
+ "AutonomousType": AutonomousType,
+ "InstancePointer": InstancePointer,
+ "VariablePointer": VariablePointer,
+ "RowPointer": RowPointer,
+ "RowStatus": RowStatus,
+ "TimeStamp": TimeStamp,
+ "TimeInterval": TimeInterval,
+ "DateAndTime": DateAndTime,
+ "StorageType": StorageType,
+ "TDomain": TDomain,
+ "TAddress": TAddress}
)
diff --git a/pysnmp/smi/mibs/SNMPv2-TM.py b/pysnmp/smi/mibs/SNMPv2-TM.py
index 558999ac..790a382f 100644
--- a/pysnmp/smi/mibs/SNMPv2-TM.py
+++ b/pysnmp/smi/mibs/SNMPv2-TM.py
@@ -4,12 +4,12 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module SNMPv2-TM (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/SNMPv2-TM
-# Produced by pysmi-0.1.3 at Tue Apr 18 01:01:19 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 08:56:38 2019
#
+# Parts of otherwise autogenerated MIB has been updated manually.
+#
+
try:
from socket import inet_ntop, inet_pton, AF_INET
@@ -22,27 +22,127 @@ except ImportError:
from pyasn1.compat.octets import int2oct
from pyasn1.compat.octets import oct2int
-OctetString, = mibBuilder.importSymbols('ASN1', 'OctetString')
-ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint")
-ModuleIdentity, MibIdentifier, ObjectIdentity, snmpModules, snmpDomains, snmpProxys = mibBuilder.importSymbols('SNMPv2-SMI', 'ModuleIdentity', 'MibIdentifier', 'ObjectIdentity', 'snmpModules', 'snmpDomains', 'snmpProxys')
-TextualConvention, = mibBuilder.importSymbols('SNMPv2-TC', 'TextualConvention')
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+
+(Counter64,
+ iso,
+ NotificationType,
+ ObjectIdentity,
+ Bits,
+ ModuleIdentity,
+ TimeTicks,
+ Counter32,
+ IpAddress,
+ snmpProxys,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Gauge32,
+ Unsigned32,
+ snmpDomains,
+ Integer32,
+ MibIdentifier,
+ snmpModules) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter64",
+ "iso",
+ "NotificationType",
+ "ObjectIdentity",
+ "Bits",
+ "ModuleIdentity",
+ "TimeTicks",
+ "Counter32",
+ "IpAddress",
+ "snmpProxys",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Gauge32",
+ "Unsigned32",
+ "snmpDomains",
+ "Integer32",
+ "MibIdentifier",
+ "snmpModules")
-snmpv2tm = ModuleIdentity((1, 3, 6, 1, 6, 3, 19))
-if mibBuilder.loadTexts: snmpv2tm.setRevisions(('2000-08-09 19:58', '1996-01-01 00:00', '1993-04-01 00:00',))
-if mibBuilder.loadTexts: snmpv2tm.setLastUpdated('200008091958Z')
-if mibBuilder.loadTexts: snmpv2tm.setOrganization('IETF SNMPv3 Working Group')
-if mibBuilder.loadTexts: snmpv2tm.setContactInfo('WG-EMail: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3 Chair: Russ Mundy TIS Labs at Network Associates postal: 3060 Washington Rd Glenwood MD 21738 USA EMail: mundy@tislabs.com phone: +1 301 854-6889 Editor: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131 USA EMail: randy-presuhn@bmc.com phone: +1 408 546-1006')
-if mibBuilder.loadTexts: snmpv2tm.setDescription('The MIB module for SNMP transport mappings.')
-snmpUDPDomain = ObjectIdentity((1, 3, 6, 1, 6, 1, 1))
-if mibBuilder.loadTexts: snmpUDPDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpUDPDomain.setDescription('The SNMP over UDP over IPv4 transport domain. The corresponding transport address is of type SnmpUDPAddress.')
+(TextualConvention,) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "TextualConvention")
+
+snmpv2tm = ModuleIdentity(
+ (1, 3, 6, 1, 6, 3, 19)
+)
+snmpv2tm.setRevisions(
+ ("2002-10-16 00:00",
+ "1996-01-01 00:00",
+ "1993-04-01 00:00")
+)
+snmpv2tm.setLastUpdated("200210160000Z")
+if mibBuilder.loadTexts:
+ snmpv2tm.setOrganization("""\
+IETF SNMPv3 Working Group
+""")
+snmpv2tm.setContactInfo("""\
+WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
+Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive,
+Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com phone: +1 301
+947-7107 Co-Chair: David Harrington Enterasys Networks postal: 35 Industrial
+Way P. O. Box 5005 Rochester, NH 03866-5005 USA EMail: dbh@enterasys.com phone:
++1 603 337-2614 Editor: Randy Presuhn BMC Software, Inc. postal: 2141 North
+First Street San Jose, CA 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408
+546-1006
+""")
+if mibBuilder.loadTexts:
+ snmpv2tm.setDescription("""\
+The MIB module for SNMP transport mappings. Copyright (C) The Internet Society
+(2002). This version of this MIB module is part of RFC 3417; see the RFC itself
+for full legal notices.
+""")
class SnmpUDPAddress(TextualConvention, OctetString):
- description = 'Represents a UDP over IPv4 address: octets contents encoding 1-4 IP-address network-byte order 5-6 UDP-port network-byte order '
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(6, 6)
+ status = "current"
displayHint = "1d.1d.1d.1d/2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(6, 6),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a UDP over IPv4 address: octets contents encoding 1-4 IP-address
+network-byte order 5-6 UDP-port network-byte order
+"""
fixedLength = 6
def prettyIn(self, value):
@@ -68,43 +168,141 @@ class SnmpUDPAddress(TextualConvention, OctetString):
return self.__asSocketAddress()[item]
-snmpCLNSDomain = ObjectIdentity((1, 3, 6, 1, 6, 1, 2))
-if mibBuilder.loadTexts: snmpCLNSDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpCLNSDomain.setDescription('The SNMP over CLNS transport domain. The corresponding transport address is of type SnmpOSIAddress.')
-snmpCONSDomain = ObjectIdentity((1, 3, 6, 1, 6, 1, 3))
-if mibBuilder.loadTexts: snmpCONSDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpCONSDomain.setDescription('The SNMP over CONS transport domain. The corresponding transport address is of type SnmpOSIAddress.')
-
-
class SnmpOSIAddress(TextualConvention, OctetString):
- description = "Represents an OSI transport-address: octets contents encoding 1 length of NSAP 'n' as an unsigned-integer (either 0 or from 3 to 20) 2..(n+1) NSAP concrete binary representation (n+2)..m TSEL string of (up to 64) octets "
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(1, 85)
+ status = "current"
displayHint = "*1x:/1x:"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 1),
+ ValueSizeConstraint(4, 85),
+ )
-snmpDDPDomain = ObjectIdentity((1, 3, 6, 1, 6, 1, 4))
-if mibBuilder.loadTexts: snmpDDPDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpDDPDomain.setDescription('The SNMP over DDP transport domain. The corresponding transport address is of type SnmpNBPAddress.')
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an OSI transport-address: octets contents encoding 1 length of NSAP
+'n' as an unsigned-integer (either 0 or from 3 to 20) 2..(n+1) NSAP concrete
+binary representation (n+2)..m TSEL string of (up to 64) octets
+"""
-class SnmpNBPAddress(OctetString, TextualConvention):
- description = "Represents an NBP name: octets contents encoding 1 length of object 'n' as an unsigned integer 2..(n+1) object string of (up to 32) octets n+2 length of type 'p' as an unsigned integer (n+3)..(n+2+p) type string of (up to 32) octets n+3+p length of zone 'q' as an unsigned integer (n+4+p)..(n+3+p+q) zone string of (up to 32) octets For comparison purposes, strings are case-insensitive. All strings may contain any octet other than 255 (hex ff)."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(3, 99)
+class SnmpNBPAddress(TextualConvention, OctetString):
+ status = "current"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(3, 99),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an NBP name: octets contents encoding 1 length of object 'n' as an
+unsigned integer 2..(n+1) object string of (up to 32) octets n+2 length of type
+'p' as an unsigned integer (n+3)..(n+2+p) type string of (up to 32) octets
+n+3+p length of zone 'q' as an unsigned integer (n+4+p)..(n+3+p+q) zone string
+of (up to 32) octets For comparison purposes, strings are case-insensitive. All
+strings may contain any octet other than 255 (hex ff).
+"""
+
-snmpIPXDomain = ObjectIdentity((1, 3, 6, 1, 6, 1, 5))
-if mibBuilder.loadTexts: snmpIPXDomain.setStatus('current')
-if mibBuilder.loadTexts: snmpIPXDomain.setDescription('The SNMP over IPX transport domain. The corresponding transport address is of type SnmpIPXAddress.')
class SnmpIPXAddress(TextualConvention, OctetString):
- description = 'Represents an IPX address: octets contents encoding 1-4 network-number network-byte order 5-10 physical-address network-byte order 11-12 socket-number network-byte order '
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(12, 12)
+ status = "current"
displayHint = "4x.1x:1x:1x:1x:1x:1x.2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(12, 12),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents an IPX address: octets contents encoding 1-4 network-number network-
+byte order 5-10 physical-address network-byte order 11-12 socket-number
+network-byte order
+"""
fixedLength = 12
-rfc1157Proxy = MibIdentifier((1, 3, 6, 1, 6, 2, 1))
-rfc1157Domain = ObjectIdentity((1, 3, 6, 1, 6, 2, 1, 1))
-if mibBuilder.loadTexts: rfc1157Domain.setStatus('deprecated')
-if mibBuilder.loadTexts: rfc1157Domain.setDescription('The transport domain for SNMPv1 over UDP over IPv4. The corresponding transport address is of type SnmpUDPAddress.')
-mibBuilder.exportSymbols("SNMPv2-TM", SnmpNBPAddress=SnmpNBPAddress, rfc1157Domain=rfc1157Domain, SnmpIPXAddress=SnmpIPXAddress, snmpUDPDomain=snmpUDPDomain, snmpCLNSDomain=snmpCLNSDomain, SnmpOSIAddress=SnmpOSIAddress, rfc1157Proxy=rfc1157Proxy, PYSNMP_MODULE_ID=snmpv2tm, snmpIPXDomain=snmpIPXDomain, snmpCONSDomain=snmpCONSDomain, snmpDDPDomain=snmpDDPDomain, SnmpUDPAddress=SnmpUDPAddress, snmpv2tm=snmpv2tm)
+_SnmpUDPDomain_ObjectIdentity = ObjectIdentity
+snmpUDPDomain = _SnmpUDPDomain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 1, 1)
+)
+if mibBuilder.loadTexts:
+ snmpUDPDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpUDPDomain.setDescription("""\
+The SNMP over UDP over IPv4 transport domain. The corresponding transport
+address is of type SnmpUDPAddress.
+""")
+_SnmpCLNSDomain_ObjectIdentity = ObjectIdentity
+snmpCLNSDomain = _SnmpCLNSDomain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 1, 2)
+)
+if mibBuilder.loadTexts:
+ snmpCLNSDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCLNSDomain.setDescription("""\
+The SNMP over CLNS transport domain. The corresponding transport address is of
+type SnmpOSIAddress.
+""")
+_SnmpCONSDomain_ObjectIdentity = ObjectIdentity
+snmpCONSDomain = _SnmpCONSDomain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 1, 3)
+)
+if mibBuilder.loadTexts:
+ snmpCONSDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpCONSDomain.setDescription("""\
+The SNMP over CONS transport domain. The corresponding transport address is of
+type SnmpOSIAddress.
+""")
+_SnmpDDPDomain_ObjectIdentity = ObjectIdentity
+snmpDDPDomain = _SnmpDDPDomain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 1, 4)
+)
+if mibBuilder.loadTexts:
+ snmpDDPDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpDDPDomain.setDescription("""\
+The SNMP over DDP transport domain. The corresponding transport address is of
+type SnmpNBPAddress.
+""")
+_SnmpIPXDomain_ObjectIdentity = ObjectIdentity
+snmpIPXDomain = _SnmpIPXDomain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 1, 5)
+)
+if mibBuilder.loadTexts:
+ snmpIPXDomain.setStatus("current")
+if mibBuilder.loadTexts:
+ snmpIPXDomain.setDescription("""\
+The SNMP over IPX transport domain. The corresponding transport address is of
+type SnmpIPXAddress.
+""")
+_Rfc1157Proxy_ObjectIdentity = ObjectIdentity
+rfc1157Proxy = _Rfc1157Proxy_ObjectIdentity(
+ (1, 3, 6, 1, 6, 2, 1)
+)
+_Rfc1157Domain_ObjectIdentity = ObjectIdentity
+rfc1157Domain = _Rfc1157Domain_ObjectIdentity(
+ (1, 3, 6, 1, 6, 2, 1, 1)
+)
+if mibBuilder.loadTexts:
+ rfc1157Domain.setStatus("deprecated")
+if mibBuilder.loadTexts:
+ rfc1157Domain.setDescription("""\
+The transport domain for SNMPv1 over UDP over IPv4. The corresponding transport
+address is of type SnmpUDPAddress.
+""")
+
+mibBuilder.exportSymbols(
+ "SNMPv2-TM",
+ **{"SnmpUDPAddress": SnmpUDPAddress,
+ "SnmpOSIAddress": SnmpOSIAddress,
+ "SnmpNBPAddress": SnmpNBPAddress,
+ "SnmpIPXAddress": SnmpIPXAddress,
+ "snmpUDPDomain": snmpUDPDomain,
+ "snmpCLNSDomain": snmpCLNSDomain,
+ "snmpCONSDomain": snmpCONSDomain,
+ "snmpDDPDomain": snmpDDPDomain,
+ "snmpIPXDomain": snmpIPXDomain,
+ "rfc1157Proxy": rfc1157Proxy,
+ "rfc1157Domain": rfc1157Domain,
+ "snmpv2tm": snmpv2tm}
+)
diff --git a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
index e1eaf546..b4e187f4 100644
--- a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
+++ b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
@@ -4,13 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-# PySNMP MIB module TRANSPORT-ADDRESS-MIB (http://snmplabs.com/pysnmp)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/TRANSPORT-ADDRESS-MIB
-# Produced by pysmi-0.1.3 at Tue Apr 18 01:08:18 2017
-# On host grommit.local platform Darwin version 16.4.0 by user ilya
-# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
+# Produced by pysmi-0.4.0 at Sun Feb 17 08:56:38 2019
+#
+# Parts of otherwise autogenerated MIB has been updated manually.
#
-
import socket
from pyasn1.compat.octets import int2oct
@@ -131,88 +129,235 @@ else:
return ':'.join([f(x) for x in groups])
-Integer, OctetString, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "Integer", "OctetString", "ObjectIdentifier")
-NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
-ConstraintsIntersection, ConstraintsUnion, ValueRangeConstraint, ValueSizeConstraint, SingleValueConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion", "ValueRangeConstraint", "ValueSizeConstraint", "SingleValueConstraint")
-NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
-Integer32, Unsigned32, MibIdentifier, Counter32, ModuleIdentity, MibScalar, MibTable, MibTableRow, MibTableColumn, NotificationType, Bits, TimeTicks, ObjectIdentity, Counter64, Gauge32, IpAddress, iso, mib_2 = mibBuilder.importSymbols("SNMPv2-SMI", "Integer32", "Unsigned32", "MibIdentifier", "Counter32", "ModuleIdentity", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "NotificationType", "Bits", "TimeTicks", "ObjectIdentity", "Counter64", "Gauge32", "IpAddress", "iso", "mib-2")
-DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
-transportAddressMIB = ModuleIdentity((1, 3, 6, 1, 2, 1, 100))
-if mibBuilder.loadTexts: transportAddressMIB.setRevisions(('2002-11-01 00:00',))
-if mibBuilder.loadTexts: transportAddressMIB.setLastUpdated('200211010000Z')
-if mibBuilder.loadTexts: transportAddressMIB.setOrganization('IETF Operations and Management Area')
-if mibBuilder.loadTexts: transportAddressMIB.setContactInfo('Juergen Schoenwaelder (Editor) TU Braunschweig Bueltenweg 74/75 38106 Braunschweig, Germany Phone: +49 531 391-3289 EMail: schoenw@ibr.cs.tu-bs.de Send comments to <mibs@ops.ietf.org>.')
-if mibBuilder.loadTexts: transportAddressMIB.setDescription('This MIB module provides commonly used transport address definitions. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3419; see the RFC itself for full legal notices.')
-transportDomains = MibIdentifier((1, 3, 6, 1, 2, 1, 100, 1))
-transportDomainUdpIpv4 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 1))
-if mibBuilder.loadTexts: transportDomainUdpIpv4.setStatus('current')
-if mibBuilder.loadTexts: transportDomainUdpIpv4.setDescription('The UDP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses.')
-transportDomainUdpIpv6 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 2))
-if mibBuilder.loadTexts: transportDomainUdpIpv6.setStatus('current')
-if mibBuilder.loadTexts: transportDomainUdpIpv6.setDescription('The UDP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses.')
-transportDomainUdpIpv4z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 3))
-if mibBuilder.loadTexts: transportDomainUdpIpv4z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainUdpIpv4z.setDescription('The UDP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index.')
-transportDomainUdpIpv6z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 4))
-if mibBuilder.loadTexts: transportDomainUdpIpv6z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainUdpIpv6z.setDescription('The UDP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index.')
-transportDomainTcpIpv4 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 5))
-if mibBuilder.loadTexts: transportDomainTcpIpv4.setStatus('current')
-if mibBuilder.loadTexts: transportDomainTcpIpv4.setDescription('The TCP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses.')
-transportDomainTcpIpv6 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 6))
-if mibBuilder.loadTexts: transportDomainTcpIpv6.setStatus('current')
-if mibBuilder.loadTexts: transportDomainTcpIpv6.setDescription('The TCP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses.')
-transportDomainTcpIpv4z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 7))
-if mibBuilder.loadTexts: transportDomainTcpIpv4z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainTcpIpv4z.setDescription('The TCP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index.')
-transportDomainTcpIpv6z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 8))
-if mibBuilder.loadTexts: transportDomainTcpIpv6z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainTcpIpv6z.setDescription('The TCP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index.')
-transportDomainSctpIpv4 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 9))
-if mibBuilder.loadTexts: transportDomainSctpIpv4.setStatus('current')
-if mibBuilder.loadTexts: transportDomainSctpIpv4.setDescription('The SCTP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses. This transport domain usually represents the primary address on multihomed SCTP endpoints.')
-transportDomainSctpIpv6 = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 10))
-if mibBuilder.loadTexts: transportDomainSctpIpv6.setStatus('current')
-if mibBuilder.loadTexts: transportDomainSctpIpv6.setDescription('The SCTP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses. This transport domain usually represents the primary address on multihomed SCTP endpoints.')
-transportDomainSctpIpv4z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 11))
-if mibBuilder.loadTexts: transportDomainSctpIpv4z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainSctpIpv4z.setDescription('The SCTP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index. This transport domain usually represents the primary address on multihomed SCTP endpoints.')
-transportDomainSctpIpv6z = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 12))
-if mibBuilder.loadTexts: transportDomainSctpIpv6z.setStatus('current')
-if mibBuilder.loadTexts: transportDomainSctpIpv6z.setDescription('The SCTP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index. This transport domain usually represents the primary address on multihomed SCTP endpoints.')
-transportDomainLocal = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 13))
-if mibBuilder.loadTexts: transportDomainLocal.setStatus('current')
-if mibBuilder.loadTexts: transportDomainLocal.setDescription('The Posix Local IPC transport domain. The corresponding transport address is of type TransportAddressLocal. The Posix Local IPC transport domain incorporates the well-known UNIX domain sockets.')
-transportDomainUdpDns = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 14))
-if mibBuilder.loadTexts: transportDomainUdpDns.setStatus('current')
-if mibBuilder.loadTexts: transportDomainUdpDns.setDescription('The UDP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns.')
-transportDomainTcpDns = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 15))
-if mibBuilder.loadTexts: transportDomainTcpDns.setStatus('current')
-if mibBuilder.loadTexts: transportDomainTcpDns.setDescription('The TCP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns.')
-transportDomainSctpDns = ObjectIdentity((1, 3, 6, 1, 2, 1, 100, 1, 16))
-if mibBuilder.loadTexts: transportDomainSctpDns.setStatus('current')
-if mibBuilder.loadTexts: transportDomainSctpDns.setDescription('The SCTP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns.')
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+
+(Integer,
+ OctetString,
+ ObjectIdentifier) = mibBuilder.importSymbols(
+ "ASN1",
+ "Integer",
+ "OctetString",
+ "ObjectIdentifier")
+
+(NamedValues,) = mibBuilder.importSymbols(
+ "ASN1-ENUMERATION",
+ "NamedValues")
+
+(ConstraintsIntersection,
+ SingleValueConstraint,
+ ValueRangeConstraint,
+ ValueSizeConstraint,
+ ConstraintsUnion) = mibBuilder.importSymbols(
+ "ASN1-REFINEMENT",
+ "ConstraintsIntersection",
+ "SingleValueConstraint",
+ "ValueRangeConstraint",
+ "ValueSizeConstraint",
+ "ConstraintsUnion")
+
+(ModuleCompliance,
+ NotificationGroup) = mibBuilder.importSymbols(
+ "SNMPv2-CONF",
+ "ModuleCompliance",
+ "NotificationGroup")
+
+(Counter32,
+ TimeTicks,
+ MibScalar,
+ MibTable,
+ MibTableRow,
+ MibTableColumn,
+ Counter64,
+ IpAddress,
+ ObjectIdentity,
+ Gauge32,
+ MibIdentifier,
+ iso,
+ Unsigned32,
+ Bits,
+ NotificationType,
+ Integer32,
+ ModuleIdentity,
+ mib_2) = mibBuilder.importSymbols(
+ "SNMPv2-SMI",
+ "Counter32",
+ "TimeTicks",
+ "MibScalar",
+ "MibTable",
+ "MibTableRow",
+ "MibTableColumn",
+ "Counter64",
+ "IpAddress",
+ "ObjectIdentity",
+ "Gauge32",
+ "MibIdentifier",
+ "iso",
+ "Unsigned32",
+ "Bits",
+ "NotificationType",
+ "Integer32",
+ "ModuleIdentity",
+ "mib-2")
+
+(DisplayString,
+ TextualConvention) = mibBuilder.importSymbols(
+ "SNMPv2-TC",
+ "DisplayString",
+ "TextualConvention")
+
+transportAddressMIB = ModuleIdentity(
+ (1, 3, 6, 1, 2, 1, 100)
+)
+transportAddressMIB.setRevisions(
+ ("2002-11-01 00:00",)
+)
+transportAddressMIB.setLastUpdated("200211010000Z")
+if mibBuilder.loadTexts:
+ transportAddressMIB.setOrganization("""\
+IETF Operations and Management Area
+""")
+transportAddressMIB.setContactInfo("""\
+Juergen Schoenwaelder (Editor) TU Braunschweig Bueltenweg 74/75 38106
+Braunschweig, Germany Phone: +49 531 391-3289 EMail: schoenw@ibr.cs.tu-bs.de
+Send comments to <mibs@ops.ietf.org>.
+""")
+if mibBuilder.loadTexts:
+ transportAddressMIB.setDescription("""\
+This MIB module provides commonly used transport address definitions. Copyright
+(C) The Internet Society (2002). This version of this MIB module is part of RFC
+3419; see the RFC itself for full legal notices.
+""")
+
class TransportDomain(TextualConvention, ObjectIdentifier):
- description = 'A value that represents a transport domain. Some possible values, such as transportDomainUdpIpv4, are defined in this module. Other possible values can be defined in other MIB modules.'
- status = 'current'
+ status = "current"
+ if mibBuilder.loadTexts:
+ description = """\
+A value that represents a transport domain. Some possible values, such as
+transportDomainUdpIpv4, are defined in this module. Other possible values can
+be defined in other MIB modules.
+"""
+
class TransportAddressType(TextualConvention, Integer32):
- description = 'A value that represents a transport domain. This is the enumerated version of the transport domain registrations in this MIB module. The enumerated values have the following meaning: unknown(0) unknown transport address type udpIpv4(1) transportDomainUdpIpv4 udpIpv6(2) transportDomainUdpIpv6 udpIpv4z(3) transportDomainUdpIpv4z udpIpv6z(4) transportDomainUdpIpv6z tcpIpv4(5) transportDomainTcpIpv4 tcpIpv6(6) transportDomainTcpIpv6 tcpIpv4z(7) transportDomainTcpIpv4z tcpIpv6z(8) transportDomainTcpIpv6z sctpIpv4(9) transportDomainSctpIpv4 sctpIpv6(10) transportDomainSctpIpv6 sctpIpv4z(11) transportDomainSctpIpv4z sctpIpv6z(12) transportDomainSctpIpv6z local(13) transportDomainLocal udpDns(14) transportDomainUdpDns tcpDns(15) transportDomainTcpDns sctpDns(16) transportDomainSctpDns This textual convention can be used to represent transport domains in situations where a syntax of TransportDomain is unwieldy (for example, when used as an index). The usage of this textual convention implies that additional transport domains can only be supported by updating this MIB module. This extensibility restriction does not apply for the TransportDomain textual convention which allows MIB authors to define additional transport domains independently in other MIB modules.'
- status = 'current'
- subtypeSpec = Integer32.subtypeSpec + ConstraintsUnion(SingleValueConstraint(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16))
- namedValues = NamedValues(("unknown", 0), ("udpIpv4", 1), ("udpIpv6", 2), ("udpIpv4z", 3), ("udpIpv6z", 4), ("tcpIpv4", 5), ("tcpIpv6", 6), ("tcpIpv4z", 7), ("tcpIpv6z", 8), ("sctpIpv4", 9), ("sctpIpv6", 10), ("sctpIpv4z", 11), ("sctpIpv6z", 12), ("local", 13), ("udpDns", 14), ("tcpDns", 15), ("sctpDns", 16))
+ status = "current"
+ subtypeSpec = Integer32.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ SingleValueConstraint(
+ *(0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16)
+ )
+ )
+ namedValues = NamedValues(
+ *(("local", 13),
+ ("sctpDns", 16),
+ ("sctpIpv4", 9),
+ ("sctpIpv4z", 11),
+ ("sctpIpv6", 10),
+ ("sctpIpv6z", 12),
+ ("tcpDns", 15),
+ ("tcpIpv4", 5),
+ ("tcpIpv4z", 7),
+ ("tcpIpv6", 6),
+ ("tcpIpv6z", 8),
+ ("udpDns", 14),
+ ("udpIpv4", 1),
+ ("udpIpv4z", 3),
+ ("udpIpv6", 2),
+ ("udpIpv6z", 4),
+ ("unknown", 0))
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+A value that represents a transport domain. This is the enumerated version of
+the transport domain registrations in this MIB module. The enumerated values
+have the following meaning: unknown(0) unknown transport address type
+udpIpv4(1) transportDomainUdpIpv4 udpIpv6(2) transportDomainUdpIpv6 udpIpv4z(3)
+transportDomainUdpIpv4z udpIpv6z(4) transportDomainUdpIpv6z tcpIpv4(5)
+transportDomainTcpIpv4 tcpIpv6(6) transportDomainTcpIpv6 tcpIpv4z(7)
+transportDomainTcpIpv4z tcpIpv6z(8) transportDomainTcpIpv6z sctpIpv4(9)
+transportDomainSctpIpv4 sctpIpv6(10) transportDomainSctpIpv6 sctpIpv4z(11)
+transportDomainSctpIpv4z sctpIpv6z(12) transportDomainSctpIpv6z local(13)
+transportDomainLocal udpDns(14) transportDomainUdpDns tcpDns(15)
+transportDomainTcpDns sctpDns(16) transportDomainSctpDns This textual
+convention can be used to represent transport domains in situations where a
+syntax of TransportDomain is unwieldy (for example, when used as an index). The
+usage of this textual convention implies that additional transport domains can
+only be supported by updating this MIB module. This extensibility restriction
+does not apply for the TransportDomain textual convention which allows MIB
+authors to define additional transport domains independently in other MIB
+modules.
+"""
+
class TransportAddress(TextualConvention, OctetString):
- description = "Denotes a generic transport address. A TransportAddress value is always interpreted within the context of a TransportAddressType or TransportDomain value. Every usage of the TransportAddress textual convention MUST specify the TransportAddressType or TransportDomain object which provides the context. Furthermore, MIB authors SHOULD define a separate TransportAddressType or TransportDomain object for each TransportAddress object. It is suggested that the TransportAddressType or TransportDomain is logically registered before the object(s) which use the TransportAddress textual convention if they appear in the same logical row. The value of a TransportAddress object must always be consistent with the value of the associated TransportAddressType or TransportDomain object. Attempts to set a TransportAddress object to a value which is inconsistent with the associated TransportAddressType or TransportDomain must fail with an inconsistentValue error. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers."
- status = 'current'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(0, 255)
+ status = "current"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(0, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Denotes a generic transport address. A TransportAddress value is always
+interpreted within the context of a TransportAddressType or TransportDomain
+value. Every usage of the TransportAddress textual convention MUST specify the
+TransportAddressType or TransportDomain object which provides the context.
+Furthermore, MIB authors SHOULD define a separate TransportAddressType or
+TransportDomain object for each TransportAddress object. It is suggested that
+the TransportAddressType or TransportDomain is logically registered before the
+object(s) which use the TransportAddress textual convention if they appear in
+the same logical row. The value of a TransportAddress object must always be
+consistent with the value of the associated TransportAddressType or
+TransportDomain object. Attempts to set a TransportAddress object to a value
+which is inconsistent with the associated TransportAddressType or
+TransportDomain must fail with an inconsistentValue error. When this textual
+convention is used as a syntax of an index object, there may be issues with the
+limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the
+OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of
+potential instance sub-identifiers.
+"""
+
class TransportAddressIPv4(TextualConvention, OctetString):
- description = 'Represents a transport address consisting of an IPv4 address and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-4 IPv4 address network-byte order 5-6 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair.'
- status = 'current'
- displayHint = '1d.1d.1d.1d:2d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(6, 6)
+ status = "current"
+ displayHint = "1d.1d.1d.1d:2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(6, 6),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a transport address consisting of an IPv4 address and a port number
+(as used for example by UDP, TCP and SCTP): octets contents encoding 1-4 IPv4
+address network-byte order 5-6 port number network-byte order This textual
+convention SHOULD NOT be used directly in object definitions since it restricts
+addresses to a specific format. However, if it is used, it MAY be used either
+on its own or in conjunction with TransportAddressType or TransportDomain as a
+pair.
+"""
fixedLength = 6
def prettyIn(self, value):
@@ -239,10 +384,24 @@ class TransportAddressIPv4(TextualConvention, OctetString):
class TransportAddressIPv6(TextualConvention, OctetString):
- description = 'Represents a transport address consisting of an IPv6 address and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-16 IPv6 address network-byte order 17-18 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair.'
- status = 'current'
- displayHint = '0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(18, 18)
+ status = "current"
+ displayHint = "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(18, 18),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a transport address consisting of an IPv6 address and a port number
+(as used for example by UDP, TCP and SCTP): octets contents encoding 1-16 IPv6
+address network-byte order 17-18 port number network-byte order This textual
+convention SHOULD NOT be used directly in object definitions since it restricts
+addresses to a specific format. However, if it is used, it MAY be used either
+on its own or in conjunction with TransportAddressType or TransportDomain as a
+pair.
+"""
+
fixedLength = 18
def prettyIn(self, value):
@@ -271,31 +430,315 @@ class TransportAddressIPv6(TextualConvention, OctetString):
def __getitem__(self, item):
return self.__asSocketAddress()[item]
+
class TransportAddressIPv4z(TextualConvention, OctetString):
- description = 'Represents a transport address consisting of an IPv4 address, a zone index and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-4 IPv4 address network-byte order 5-8 zone index network-byte order 9-10 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair.'
- status = 'current'
- displayHint = '1d.1d.1d.1d%4d:2d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(10, 10)
+ status = "current"
+ displayHint = "1d.1d.1d.1d%4d:2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(10, 10),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a transport address consisting of an IPv4 address, a zone index and
+a port number (as used for example by UDP, TCP and SCTP): octets contents
+encoding 1-4 IPv4 address network-byte order 5-8 zone index network-byte order
+9-10 port number network-byte order This textual convention SHOULD NOT be used
+directly in object definitions since it restricts addresses to a specific
+format. However, if it is used, it MAY be used either on its own or in
+conjunction with TransportAddressType or TransportDomain as a pair.
+"""
fixedLength = 10
+
class TransportAddressIPv6z(TextualConvention, OctetString):
- description = 'Represents a transport address consisting of an IPv6 address, a zone index and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-16 IPv6 address network-byte order 17-20 zone index network-byte order 21-22 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair.'
- status = 'current'
- displayHint = '0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(22, 22)
+ status = "current"
+ displayHint = "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(22, 22),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a transport address consisting of an IPv6 address, a zone index and
+a port number (as used for example by UDP, TCP and SCTP): octets contents
+encoding 1-16 IPv6 address network-byte order 17-20 zone index network-byte
+order 21-22 port number network-byte order This textual convention SHOULD NOT
+be used directly in object definitions since it restricts addresses to a
+specific format. However, if it is used, it MAY be used either on its own or in
+conjunction with TransportAddressType or TransportDomain as a pair.
+"""
fixedLength = 22
+
class TransportAddressLocal(TextualConvention, OctetString):
- reference = 'Protocol Independent Interfaces (IEEE POSIX 1003.1g)'
- description = "Represents a POSIX Local IPC transport address: octets contents encoding all POSIX Local IPC address string The Posix Local IPC transport domain subsumes UNIX domain sockets. This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers."
- status = 'current'
- displayHint = '1a'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(1, 255)
+ status = "current"
+ displayHint = "1a"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a POSIX Local IPC transport address: octets contents encoding all
+POSIX Local IPC address string The Posix Local IPC transport domain subsumes
+UNIX domain sockets. This textual convention SHOULD NOT be used directly in
+object definitions since it restricts addresses to a specific format. However,
+if it is used, it MAY be used either on its own or in conjunction with
+TransportAddressType or TransportDomain as a pair. When this textual convention
+is used as a syntax of an index object, there may be issues with the limit of
+128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE
+declaration MUST include a 'SIZE' clause to limit the number of potential
+instance sub-identifiers.
+"""
-class TransportAddressDns(TextualConvention, OctetString):
- description = "Represents a DNS domain name followed by a colon ':' (ASCII character 0x3A) and a port number in ASCII. The name SHOULD be fully qualified whenever possible. Values of this textual convention are not directly useable as transport-layer addressing information, and require runtime resolution. As such, applications that write them must be prepared for handling errors if such values are not supported, or cannot be resolved (if resolution occurs at the time of the management operation). The DESCRIPTION clause of TransportAddress objects that may have TransportAddressDns values must fully describe how (and when) such names are to be resolved to IP addresses and vice versa. This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers."
- status = 'current'
- displayHint = '1a'
- subtypeSpec = OctetString.subtypeSpec + ValueSizeConstraint(1, 255)
-mibBuilder.exportSymbols("TRANSPORT-ADDRESS-MIB", transportDomainUdpIpv6=transportDomainUdpIpv6, TransportDomain=TransportDomain, transportDomainSctpDns=transportDomainSctpDns, PYSNMP_MODULE_ID=transportAddressMIB, TransportAddressType=TransportAddressType, transportDomainTcpIpv4=transportDomainTcpIpv4, TransportAddressIPv6z=TransportAddressIPv6z, transportDomainLocal=transportDomainLocal, TransportAddressLocal=TransportAddressLocal, transportDomainUdpIpv4=transportDomainUdpIpv4, transportDomainUdpIpv4z=transportDomainUdpIpv4z, transportDomains=transportDomains, transportDomainSctpIpv4=transportDomainSctpIpv4, TransportAddressIPv6=TransportAddressIPv6, TransportAddressDns=TransportAddressDns, transportDomainSctpIpv6z=transportDomainSctpIpv6z, transportAddressMIB=transportAddressMIB, transportDomainTcpIpv6z=transportDomainTcpIpv6z, transportDomainSctpIpv6=transportDomainSctpIpv6, transportDomainUdpDns=transportDomainUdpDns, transportDomainTcpIpv6=transportDomainTcpIpv6, transportDomainUdpIpv6z=transportDomainUdpIpv6z, TransportAddressIPv4=TransportAddressIPv4, transportDomainSctpIpv4z=transportDomainSctpIpv4z, transportDomainTcpIpv4z=transportDomainTcpIpv4z, TransportAddress=TransportAddress, transportDomainTcpDns=transportDomainTcpDns, TransportAddressIPv4z=TransportAddressIPv4z)
+class TransportAddressDns(TextualConvention, OctetString):
+ status = "current"
+ displayHint = "1a"
+ subtypeSpec = OctetString.subtypeSpec
+ subtypeSpec += ConstraintsUnion(
+ ValueSizeConstraint(1, 255),
+ )
+
+ if mibBuilder.loadTexts:
+ description = """\
+Represents a DNS domain name followed by a colon ':' (ASCII character 0x3A) and
+a port number in ASCII. The name SHOULD be fully qualified whenever possible.
+Values of this textual convention are not directly useable as transport-layer
+addressing information, and require runtime resolution. As such, applications
+that write them must be prepared for handling errors if such values are not
+supported, or cannot be resolved (if resolution occurs at the time of the
+management operation). The DESCRIPTION clause of TransportAddress objects that
+may have TransportAddressDns values must fully describe how (and when) such
+names are to be resolved to IP addresses and vice versa. This textual
+convention SHOULD NOT be used directly in object definitions since it restricts
+addresses to a specific format. However, if it is used, it MAY be used either
+on its own or in conjunction with TransportAddressType or TransportDomain as a
+pair. When this textual convention is used as a syntax of an index object,
+there may be issues with the limit of 128 sub-identifiers specified in SMIv2,
+STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+to limit the number of potential instance sub-identifiers.
+"""
+
+_TransportDomains_ObjectIdentity = ObjectIdentity
+transportDomains = _TransportDomains_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1)
+)
+_TransportDomainUdpIpv4_ObjectIdentity = ObjectIdentity
+transportDomainUdpIpv4 = _TransportDomainUdpIpv4_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 1)
+)
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv4.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv4.setDescription("""\
+The UDP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4 for global IPv4 addresses.
+""")
+_TransportDomainUdpIpv6_ObjectIdentity = ObjectIdentity
+transportDomainUdpIpv6 = _TransportDomainUdpIpv6_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 2)
+)
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv6.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv6.setDescription("""\
+The UDP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6 for global IPv6 addresses.
+""")
+_TransportDomainUdpIpv4z_ObjectIdentity = ObjectIdentity
+transportDomainUdpIpv4z = _TransportDomainUdpIpv4z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 3)
+)
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv4z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv4z.setDescription("""\
+The UDP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4z for scoped IPv4 addresses with a zone index.
+""")
+_TransportDomainUdpIpv6z_ObjectIdentity = ObjectIdentity
+transportDomainUdpIpv6z = _TransportDomainUdpIpv6z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 4)
+)
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv6z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainUdpIpv6z.setDescription("""\
+The UDP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6z for scoped IPv6 addresses with a zone index.
+""")
+_TransportDomainTcpIpv4_ObjectIdentity = ObjectIdentity
+transportDomainTcpIpv4 = _TransportDomainTcpIpv4_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 5)
+)
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv4.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv4.setDescription("""\
+The TCP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4 for global IPv4 addresses.
+""")
+_TransportDomainTcpIpv6_ObjectIdentity = ObjectIdentity
+transportDomainTcpIpv6 = _TransportDomainTcpIpv6_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 6)
+)
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv6.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv6.setDescription("""\
+The TCP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6 for global IPv6 addresses.
+""")
+_TransportDomainTcpIpv4z_ObjectIdentity = ObjectIdentity
+transportDomainTcpIpv4z = _TransportDomainTcpIpv4z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 7)
+)
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv4z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv4z.setDescription("""\
+The TCP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4z for scoped IPv4 addresses with a zone index.
+""")
+_TransportDomainTcpIpv6z_ObjectIdentity = ObjectIdentity
+transportDomainTcpIpv6z = _TransportDomainTcpIpv6z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 8)
+)
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv6z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainTcpIpv6z.setDescription("""\
+The TCP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6z for scoped IPv6 addresses with a zone index.
+""")
+_TransportDomainSctpIpv4_ObjectIdentity = ObjectIdentity
+transportDomainSctpIpv4 = _TransportDomainSctpIpv4_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 9)
+)
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv4.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv4.setDescription("""\
+The SCTP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4 for global IPv4 addresses. This transport domain
+usually represents the primary address on multihomed SCTP endpoints.
+""")
+_TransportDomainSctpIpv6_ObjectIdentity = ObjectIdentity
+transportDomainSctpIpv6 = _TransportDomainSctpIpv6_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 10)
+)
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv6.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv6.setDescription("""\
+The SCTP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6 for global IPv6 addresses. This transport domain
+usually represents the primary address on multihomed SCTP endpoints.
+""")
+_TransportDomainSctpIpv4z_ObjectIdentity = ObjectIdentity
+transportDomainSctpIpv4z = _TransportDomainSctpIpv4z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 11)
+)
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv4z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv4z.setDescription("""\
+The SCTP over IPv4 transport domain. The corresponding transport address is of
+type TransportAddressIPv4z for scoped IPv4 addresses with a zone index. This
+transport domain usually represents the primary address on multihomed SCTP
+endpoints.
+""")
+_TransportDomainSctpIpv6z_ObjectIdentity = ObjectIdentity
+transportDomainSctpIpv6z = _TransportDomainSctpIpv6z_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 12)
+)
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv6z.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainSctpIpv6z.setDescription("""\
+The SCTP over IPv6 transport domain. The corresponding transport address is of
+type TransportAddressIPv6z for scoped IPv6 addresses with a zone index. This
+transport domain usually represents the primary address on multihomed SCTP
+endpoints.
+""")
+_TransportDomainLocal_ObjectIdentity = ObjectIdentity
+transportDomainLocal = _TransportDomainLocal_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 13)
+)
+if mibBuilder.loadTexts:
+ transportDomainLocal.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainLocal.setDescription("""\
+The Posix Local IPC transport domain. The corresponding transport address is of
+type TransportAddressLocal. The Posix Local IPC transport domain incorporates
+the well-known UNIX domain sockets.
+""")
+_TransportDomainUdpDns_ObjectIdentity = ObjectIdentity
+transportDomainUdpDns = _TransportDomainUdpDns_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 14)
+)
+if mibBuilder.loadTexts:
+ transportDomainUdpDns.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainUdpDns.setDescription("""\
+The UDP transport domain using fully qualified domain names. The corresponding
+transport address is of type TransportAddressDns.
+""")
+_TransportDomainTcpDns_ObjectIdentity = ObjectIdentity
+transportDomainTcpDns = _TransportDomainTcpDns_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 15)
+)
+if mibBuilder.loadTexts:
+ transportDomainTcpDns.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainTcpDns.setDescription("""\
+The TCP transport domain using fully qualified domain names. The corresponding
+transport address is of type TransportAddressDns.
+""")
+_TransportDomainSctpDns_ObjectIdentity = ObjectIdentity
+transportDomainSctpDns = _TransportDomainSctpDns_ObjectIdentity(
+ (1, 3, 6, 1, 2, 1, 100, 1, 16)
+)
+if mibBuilder.loadTexts:
+ transportDomainSctpDns.setStatus("current")
+if mibBuilder.loadTexts:
+ transportDomainSctpDns.setDescription("""\
+The SCTP transport domain using fully qualified domain names. The corresponding
+transport address is of type TransportAddressDns.
+""")
+
+mibBuilder.exportSymbols(
+ "TRANSPORT-ADDRESS-MIB",
+ **{"TransportDomain": TransportDomain,
+ "TransportAddressType": TransportAddressType,
+ "TransportAddress": TransportAddress,
+ "TransportAddressIPv4": TransportAddressIPv4,
+ "TransportAddressIPv6": TransportAddressIPv6,
+ "TransportAddressIPv4z": TransportAddressIPv4z,
+ "TransportAddressIPv6z": TransportAddressIPv6z,
+ "TransportAddressLocal": TransportAddressLocal,
+ "TransportAddressDns": TransportAddressDns,
+ "transportAddressMIB": transportAddressMIB,
+ "transportDomains": transportDomains,
+ "transportDomainUdpIpv4": transportDomainUdpIpv4,
+ "transportDomainUdpIpv6": transportDomainUdpIpv6,
+ "transportDomainUdpIpv4z": transportDomainUdpIpv4z,
+ "transportDomainUdpIpv6z": transportDomainUdpIpv6z,
+ "transportDomainTcpIpv4": transportDomainTcpIpv4,
+ "transportDomainTcpIpv6": transportDomainTcpIpv6,
+ "transportDomainTcpIpv4z": transportDomainTcpIpv4z,
+ "transportDomainTcpIpv6z": transportDomainTcpIpv6z,
+ "transportDomainSctpIpv4": transportDomainSctpIpv4,
+ "transportDomainSctpIpv6": transportDomainSctpIpv6,
+ "transportDomainSctpIpv4z": transportDomainSctpIpv4z,
+ "transportDomainSctpIpv6z": transportDomainSctpIpv6z,
+ "transportDomainLocal": transportDomainLocal,
+ "transportDomainUdpDns": transportDomainUdpDns,
+ "transportDomainTcpDns": transportDomainTcpDns,
+ "transportDomainSctpDns": transportDomainSctpDns}
+)
diff --git a/pysnmp/smi/mibs/instances/__PYSNMP-USM-MIB.py b/pysnmp/smi/mibs/instances/__PYSNMP-USM-MIB.py
index 2a83fc37..5ee026d0 100644
--- a/pysnmp/smi/mibs/instances/__PYSNMP-USM-MIB.py
+++ b/pysnmp/smi/mibs/instances/__PYSNMP-USM-MIB.py
@@ -4,7 +4,19 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+MibScalarInstance, = mibBuilder.importSymbols(
+ 'SNMPv2-SMI',
+ 'MibScalarInstance'
+)
(pysnmpUsmDiscoverable,
pysnmpUsmDiscovery) = mibBuilder.importSymbols(
@@ -13,11 +25,18 @@ MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
'pysnmpUsmDiscovery'
)
-__pysnmpUsmDiscoverable = MibScalarInstance(pysnmpUsmDiscoverable.name, (0,), pysnmpUsmDiscoverable.syntax)
-__pysnmpUsmDiscovery = MibScalarInstance(pysnmpUsmDiscovery.name, (0,), pysnmpUsmDiscovery.syntax)
+_pysnmpUsmDiscoverable = MibScalarInstance(
+ pysnmpUsmDiscoverable.name, (0,),
+ pysnmpUsmDiscoverable.syntax
+)
+
+_pysnmpUsmDiscovery = MibScalarInstance(
+ pysnmpUsmDiscovery.name, (0,),
+ pysnmpUsmDiscovery.syntax
+)
mibBuilder.exportSymbols(
"__PYSNMP-USM-MIB",
- pysnmpUsmDiscoverable=__pysnmpUsmDiscoverable,
- pysnmpUsmDiscovery=__pysnmpUsmDiscovery
+ pysnmpUsmDiscoverable=_pysnmpUsmDiscoverable,
+ pysnmpUsmDiscovery=_pysnmpUsmDiscovery
)
diff --git a/pysnmp/smi/mibs/instances/__SNMP-FRAMEWORK-MIB.py b/pysnmp/smi/mibs/instances/__SNMP-FRAMEWORK-MIB.py
index cfbcb9ff..07a06c70 100644
--- a/pysnmp/smi/mibs/instances/__SNMP-FRAMEWORK-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMP-FRAMEWORK-MIB.py
@@ -4,9 +4,21 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
import time
-MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+MibScalarInstance, = mibBuilder.importSymbols(
+ 'SNMPv2-SMI',
+ 'MibScalarInstance'
+)
(snmpEngineID,
snmpEngineBoots,
@@ -19,16 +31,27 @@ MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
'snmpEngineMaxMessageSize'
)
-__snmpEngineID = MibScalarInstance(snmpEngineID.name, (0,), snmpEngineID.syntax)
-__snmpEngineBoots = MibScalarInstance(snmpEngineBoots.name, (0,), snmpEngineBoots.syntax.clone(1))
-__snmpEngineTime = MibScalarInstance(snmpEngineTime.name, (0,), snmpEngineTime.syntax.clone(int(time.time())))
-__snmpEngineMaxMessageSize = MibScalarInstance(snmpEngineMaxMessageSize.name, (0,),
- snmpEngineMaxMessageSize.syntax.clone(4096))
+_snmpEngineID = MibScalarInstance(
+ snmpEngineID.name, (0,),
+ snmpEngineID.syntax
+)
+_snmpEngineBoots = MibScalarInstance(
+ snmpEngineBoots.name, (0,),
+ snmpEngineBoots.syntax.clone(1)
+)
+_snmpEngineTime = MibScalarInstance(
+ snmpEngineTime.name, (0,),
+ snmpEngineTime.syntax.clone(int(time.time()))
+)
+_snmpEngineMaxMessageSize = MibScalarInstance(
+ snmpEngineMaxMessageSize.name, (0,),
+ snmpEngineMaxMessageSize.syntax.clone(4096)
+)
mibBuilder.exportSymbols(
'__SNMP-FRAMEWORK-MIB',
- snmpEngineID=__snmpEngineID,
- snmpEngineBoots=__snmpEngineBoots,
- snmpEngineTime=__snmpEngineTime,
- snmpEngineMaxMessageSize=__snmpEngineMaxMessageSize
+ snmpEngineID=_snmpEngineID,
+ snmpEngineBoots=_snmpEngineBoots,
+ snmpEngineTime=_snmpEngineTime,
+ snmpEngineMaxMessageSize=_snmpEngineMaxMessageSize
)
diff --git a/pysnmp/smi/mibs/instances/__SNMP-MPD-MIB.py b/pysnmp/smi/mibs/instances/__SNMP-MPD-MIB.py
index 634398fe..a1e81c69 100644
--- a/pysnmp/smi/mibs/instances/__SNMP-MPD-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMP-MPD-MIB.py
@@ -4,7 +4,19 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+MibScalarInstance, = mibBuilder.importSymbols(
+ 'SNMPv2-SMI',
+ 'MibScalarInstance'
+)
(snmpUnknownSecurityModels,
snmpInvalidMsgs,
@@ -15,14 +27,22 @@ MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
'snmpUnknownPDUHandlers',
)
-__snmpUnknownSecurityModels = MibScalarInstance(snmpUnknownSecurityModels.name, (0,),
- snmpUnknownSecurityModels.syntax.clone(0))
-__snmpInvalidMsgs = MibScalarInstance(snmpInvalidMsgs.name, (0,), snmpInvalidMsgs.syntax.clone(0))
-__snmpUnknownPDUHandlers = MibScalarInstance(snmpUnknownPDUHandlers.name, (0,), snmpUnknownPDUHandlers.syntax.clone(0))
+_snmpUnknownSecurityModels = MibScalarInstance(
+ snmpUnknownSecurityModels.name, (0,),
+ snmpUnknownSecurityModels.syntax.clone(0)
+)
+_snmpInvalidMsgs = MibScalarInstance(
+ snmpInvalidMsgs.name, (0,),
+ snmpInvalidMsgs.syntax.clone(0)
+)
+_snmpUnknownPDUHandlers = MibScalarInstance(
+ snmpUnknownPDUHandlers.name, (0,),
+ snmpUnknownPDUHandlers.syntax.clone(0)
+)
mibBuilder.exportSymbols(
'__SNMP-MPD-MIB',
- snmpUnknownSecurityModels=__snmpUnknownSecurityModels,
- snmpInvalidMsgs=__snmpInvalidMsgs,
- snmpUnknownPDUHandlers=__snmpUnknownPDUHandlers
+ snmpUnknownSecurityModels=_snmpUnknownSecurityModels,
+ snmpInvalidMsgs=_snmpInvalidMsgs,
+ snmpUnknownPDUHandlers=_snmpUnknownPDUHandlers
)
diff --git a/pysnmp/smi/mibs/instances/__SNMP-TARGET-MIB.py b/pysnmp/smi/mibs/instances/__SNMP-TARGET-MIB.py
index fa9f4421..797c80ce 100644
--- a/pysnmp/smi/mibs/instances/__SNMP-TARGET-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMP-TARGET-MIB.py
@@ -4,6 +4,15 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
MibScalarInstance, = mibBuilder.importSymbols(
'SNMPv2-SMI',
'MibScalarInstance'
@@ -18,14 +27,22 @@ MibScalarInstance, = mibBuilder.importSymbols(
'snmpUnknownContexts'
)
-__snmpTargetSpinLock = MibScalarInstance(snmpTargetSpinLock.name, (0,), snmpTargetSpinLock.syntax.clone(0))
-__snmpUnavailableContexts = MibScalarInstance(snmpUnavailableContexts.name, (0,),
- snmpUnavailableContexts.syntax.clone(0))
-__snmpUnknownContexts = MibScalarInstance(snmpUnknownContexts.name, (0,), snmpUnknownContexts.syntax.clone(0))
+_snmpTargetSpinLock = MibScalarInstance(
+ snmpTargetSpinLock.name, (0,),
+ snmpTargetSpinLock.syntax.clone(0)
+)
+_snmpUnavailableContexts = MibScalarInstance(
+ snmpUnavailableContexts.name, (0,),
+ snmpUnavailableContexts.syntax.clone(0)
+)
+_snmpUnknownContexts = MibScalarInstance(
+ snmpUnknownContexts.name, (0,),
+ snmpUnknownContexts.syntax.clone(0)
+)
mibBuilder.exportSymbols(
'__SNMP-TARGET-MIB',
- snmpTargetSpinLock=__snmpTargetSpinLock,
- snmpUnavailableContexts=__snmpUnavailableContexts,
- snmpUnknownContexts=__snmpUnknownContexts
+ snmpTargetSpinLock=_snmpTargetSpinLock,
+ snmpUnavailableContexts=_snmpUnavailableContexts,
+ snmpUnknownContexts=_snmpUnknownContexts
)
diff --git a/pysnmp/smi/mibs/instances/__SNMP-USER-BASED-SM-MIB.py b/pysnmp/smi/mibs/instances/__SNMP-USER-BASED-SM-MIB.py
index 175cf0a0..654617ae 100644
--- a/pysnmp/smi/mibs/instances/__SNMP-USER-BASED-SM-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMP-USER-BASED-SM-MIB.py
@@ -4,6 +4,15 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
(usmStatsUnsupportedSecLevels,
@@ -23,26 +32,42 @@ MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
'usmUserSpinLock'
)
-__usmStatsUnsupportedSecLevels = MibScalarInstance(usmStatsUnsupportedSecLevels.name, (0,),
- usmStatsUnsupportedSecLevels.syntax.clone(0))
-__usmStatsNotInTimeWindows = MibScalarInstance(usmStatsNotInTimeWindows.name, (0,),
- usmStatsNotInTimeWindows.syntax.clone(0))
-__usmStatsUnknownUserNames = MibScalarInstance(usmStatsUnknownUserNames.name, (0,),
- usmStatsUnknownUserNames.syntax.clone(0))
-__usmStatsUnknownEngineIDs = MibScalarInstance(usmStatsUnknownEngineIDs.name, (0,),
- usmStatsUnknownEngineIDs.syntax.clone(0))
-__usmStatsWrongDigests = MibScalarInstance(usmStatsWrongDigests.name, (0,), usmStatsWrongDigests.syntax.clone(0))
-__usmStatsDecryptionErrors = MibScalarInstance(usmStatsDecryptionErrors.name, (0,),
- usmStatsDecryptionErrors.syntax.clone(0))
-__usmUserSpinLock = MibScalarInstance(usmUserSpinLock.name, (0,), usmUserSpinLock.syntax.clone(0))
+_usmStatsUnsupportedSecLevels = MibScalarInstance(
+ usmStatsUnsupportedSecLevels.name, (0,),
+ usmStatsUnsupportedSecLevels.syntax.clone(0)
+)
+_usmStatsNotInTimeWindows = MibScalarInstance(
+ usmStatsNotInTimeWindows.name, (0,),
+ usmStatsNotInTimeWindows.syntax.clone(0)
+)
+_usmStatsUnknownUserNames = MibScalarInstance(
+ usmStatsUnknownUserNames.name, (0,),
+ usmStatsUnknownUserNames.syntax.clone(0)
+)
+_usmStatsUnknownEngineIDs = MibScalarInstance(
+ usmStatsUnknownEngineIDs.name, (0,),
+ usmStatsUnknownEngineIDs.syntax.clone(0)
+)
+_usmStatsWrongDigests = MibScalarInstance(
+ usmStatsWrongDigests.name, (0,),
+ usmStatsWrongDigests.syntax.clone(0)
+)
+_usmStatsDecryptionErrors = MibScalarInstance(
+ usmStatsDecryptionErrors.name, (0,),
+ usmStatsDecryptionErrors.syntax.clone(0)
+)
+_usmUserSpinLock = MibScalarInstance(
+ usmUserSpinLock.name, (0,),
+ usmUserSpinLock.syntax.clone(0)
+)
mibBuilder.exportSymbols(
'__SNMP-USER-BASED-SM-MIB',
- usmStatsUnsupportedSecLevels=__usmStatsUnsupportedSecLevels,
- usmStatsNotInTimeWindows=__usmStatsNotInTimeWindows,
- usmStatsUnknownUserNames=__usmStatsUnknownUserNames,
- usmStatsUnknownEngineIDs=__usmStatsUnknownEngineIDs,
- usmStatsWrongDigests=__usmStatsWrongDigests,
- usmStatsDecryptionErrors=__usmStatsDecryptionErrors,
- usmUserSpinLock=__usmUserSpinLock
+ usmStatsUnsupportedSecLevels=_usmStatsUnsupportedSecLevels,
+ usmStatsNotInTimeWindows=_usmStatsNotInTimeWindows,
+ usmStatsUnknownUserNames=_usmStatsUnknownUserNames,
+ usmStatsUnknownEngineIDs=_usmStatsUnknownEngineIDs,
+ usmStatsWrongDigests=_usmStatsWrongDigests,
+ usmStatsDecryptionErrors=_usmStatsDecryptionErrors,
+ usmUserSpinLock=_usmUserSpinLock
)
diff --git a/pysnmp/smi/mibs/instances/__SNMP-VIEW-BASED-ACM-MIB.py b/pysnmp/smi/mibs/instances/__SNMP-VIEW-BASED-ACM-MIB.py
index 740dcf91..98d6cdb9 100644
--- a/pysnmp/smi/mibs/instances/__SNMP-VIEW-BASED-ACM-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMP-VIEW-BASED-ACM-MIB.py
@@ -4,13 +4,31 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-MibScalarInstance, = mibBuilder.importSymbols('SNMPv2-SMI', 'MibScalarInstance')
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
+if 'mibBuilder' not in globals():
+ import sys
-vacmViewSpinLock, = mibBuilder.importSymbols('SNMP-VIEW-BASED-ACM-MIB', 'vacmViewSpinLock')
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
+MibScalarInstance, = mibBuilder.importSymbols(
+ 'SNMPv2-SMI',
+ 'MibScalarInstance'
+)
-__vacmViewSpinLock = MibScalarInstance(vacmViewSpinLock.name, (0,), vacmViewSpinLock.syntax)
+vacmViewSpinLock, = mibBuilder.importSymbols(
+ 'SNMP-VIEW-BASED-ACM-MIB',
+ 'vacmViewSpinLock'
+)
+
+_vacmViewSpinLock = MibScalarInstance(
+ vacmViewSpinLock.name, (0,),
+ vacmViewSpinLock.syntax
+)
mibBuilder.exportSymbols(
"__SNMP-VIEW-BASED-ACM-MIB",
- vacmViewSpinLock=__vacmViewSpinLock
+ vacmViewSpinLock=_vacmViewSpinLock
)
diff --git a/pysnmp/smi/mibs/instances/__SNMPv2-MIB.py b/pysnmp/smi/mibs/instances/__SNMPv2-MIB.py
index 48d4bd99..b02e0288 100644
--- a/pysnmp/smi/mibs/instances/__SNMPv2-MIB.py
+++ b/pysnmp/smi/mibs/instances/__SNMPv2-MIB.py
@@ -4,10 +4,19 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+# This file instantiates some of the MIB managed objects for SNMP engine use
+#
+
from sys import version
from time import time
from pysnmp import __version__
+if 'mibBuilder' not in globals():
+ import sys
+
+ sys.stderr.write(__doc__)
+ sys.exit(1)
+
(MibScalarInstance,
TimeTicks) = mibBuilder.importSymbols(
'SNMPv2-SMI',
@@ -96,9 +105,15 @@ from pysnmp import __version__
'snmpSetSerialNo'
)
-__sysDescr = MibScalarInstance(sysDescr.name, (0,), sysDescr.syntax.clone(
- "PySNMP engine version %s, Python %s" % (__version__, version.replace('\n', ' ').replace('\r', ' '))))
-__sysObjectID = MibScalarInstance(sysObjectID.name, (0,), sysObjectID.syntax.clone((1, 3, 6, 1, 4, 1, 20408)))
+_sysDescr = MibScalarInstance(
+ sysDescr.name, (0,),
+ sysDescr.syntax.clone("PySNMP engine version %s, Python %s" % (
+ __version__, version.replace('\n', ' ').replace('\r', ' ')))
+)
+_sysObjectID = MibScalarInstance(
+ sysObjectID.name, (0,),
+ sysObjectID.syntax.clone((1, 3, 6, 1, 4, 1, 20408))
+)
class SysUpTime(TimeTicks):
@@ -107,85 +122,192 @@ class SysUpTime(TimeTicks):
def clone(self, **kwargs):
if 'value' not in kwargs:
kwargs['value'] = int((time() - self.createdAt) * 100)
+
return TimeTicks.clone(self, **kwargs)
-__sysUpTime = MibScalarInstance(sysUpTime.name, (0,), SysUpTime(0))
-__sysContact = MibScalarInstance(sysContact.name, (0,), sysContact.syntax.clone(''))
-__sysName = MibScalarInstance(sysName.name, (0,), sysName.syntax.clone(''))
-__sysLocation = MibScalarInstance(sysLocation.name, (0,), sysLocation.syntax.clone(''))
-__sysServices = MibScalarInstance(sysServices.name, (0,), sysServices.syntax.clone(0))
-__sysORLastChange = MibScalarInstance(sysORLastChange.name, (0,), sysORLastChange.syntax.clone(0))
-__snmpInPkts = MibScalarInstance(snmpInPkts.name, (0,), snmpInPkts.syntax.clone(0))
-__snmpOutPkts = MibScalarInstance(snmpOutPkts.name, (0,), snmpOutPkts.syntax.clone(0))
-__snmpInBadVersions = MibScalarInstance(snmpInBadVersions.name, (0,), snmpInBadVersions.syntax.clone(0))
-__snmpInBadCommunityNames = MibScalarInstance(snmpInBadCommunityNames.name, (0,),
- snmpInBadCommunityNames.syntax.clone(0))
-__snmpInBadCommunityUses = MibScalarInstance(snmpInBadCommunityUses.name, (0,), snmpInBadCommunityUses.syntax.clone(0))
-__snmpInASNParseErrs = MibScalarInstance(snmpInASNParseErrs.name, (0,), snmpInASNParseErrs.syntax.clone(0))
-__snmpInTooBigs = MibScalarInstance(snmpInTooBigs.name, (0,), snmpInTooBigs.syntax.clone(0))
-__snmpInNoSuchNames = MibScalarInstance(snmpInNoSuchNames.name, (0,), snmpInNoSuchNames.syntax.clone(0))
-__snmpInBadValues = MibScalarInstance(snmpInBadValues.name, (0,), snmpInBadValues.syntax.clone(0))
-__snmpInReadOnlys = MibScalarInstance(snmpInReadOnlys.name, (0,), snmpInReadOnlys.syntax.clone(0))
-__snmpInGenErrs = MibScalarInstance(snmpInGenErrs.name, (0,), snmpInGenErrs.syntax.clone(0))
-__snmpInTotalReqVars = MibScalarInstance(snmpInTotalReqVars.name, (0,), snmpInTotalReqVars.syntax.clone(0))
-__snmpInTotalSetVars = MibScalarInstance(snmpInTotalSetVars.name, (0,), snmpInTotalSetVars.syntax.clone(0))
-__snmpInGetRequests = MibScalarInstance(snmpInGetRequests.name, (0,), snmpInGetRequests.syntax.clone(0))
-__snmpInGetNexts = MibScalarInstance(snmpInGetNexts.name, (0,), snmpInGetNexts.syntax.clone(0))
-__snmpInSetRequests = MibScalarInstance(snmpInSetRequests.name, (0,), snmpInSetRequests.syntax.clone(0))
-__snmpInGetResponses = MibScalarInstance(snmpInGetResponses.name, (0,), snmpInGetResponses.syntax.clone(0))
-__snmpInTraps = MibScalarInstance(snmpInTraps.name, (0,), snmpInTraps.syntax.clone(0))
-__snmpOutTooBigs = MibScalarInstance(snmpOutTooBigs.name, (0,), snmpOutTooBigs.syntax.clone(0))
-__snmpOutNoSuchNames = MibScalarInstance(snmpOutNoSuchNames.name, (0,), snmpOutNoSuchNames.syntax.clone(0))
-__snmpOutBadValues = MibScalarInstance(snmpOutBadValues.name, (0,), snmpOutBadValues.syntax.clone(0))
-__snmpOutGenErrs = MibScalarInstance(snmpOutGenErrs.name, (0,), snmpOutGenErrs.syntax.clone(0))
-__snmpOutSetRequests = MibScalarInstance(snmpOutSetRequests.name, (0,), snmpOutSetRequests.syntax.clone(0))
-__snmpOutGetResponses = MibScalarInstance(snmpOutGetResponses.name, (0,), snmpOutGetResponses.syntax.clone(0))
-__snmpOutTraps = MibScalarInstance(snmpOutTraps.name, (0,), snmpOutTraps.syntax.clone(0))
-__snmpEnableAuthenTraps = MibScalarInstance(snmpEnableAuthenTraps.name, (0,), snmpEnableAuthenTraps.syntax.clone(1))
-__snmpSilentDrops = MibScalarInstance(snmpSilentDrops.name, (0,), snmpSilentDrops.syntax.clone(0))
-__snmpProxyDrops = MibScalarInstance(snmpProxyDrops.name, (0,), snmpProxyDrops.syntax.clone(0))
-__snmpTrapOID = MibScalarInstance(snmpTrapOID.name, (0,), snmpTrapOID.syntax.clone(coldStart.name))
-__snmpSetSerialNo = MibScalarInstance(snmpSetSerialNo.name, (0,), snmpSetSerialNo.syntax.clone(0))
+_sysUpTime = MibScalarInstance(
+ sysUpTime.name, (0,),
+ SysUpTime(0)
+)
+_sysContact = MibScalarInstance(
+ sysContact.name, (0,),
+ sysContact.syntax.clone('')
+)
+_sysName = MibScalarInstance(
+ sysName.name, (0,),
+ sysName.syntax.clone('')
+)
+_sysLocation = MibScalarInstance(
+ sysLocation.name, (0,),
+ sysLocation.syntax.clone('')
+)
+_sysServices = MibScalarInstance(
+ sysServices.name, (0,),
+ sysServices.syntax.clone(0)
+)
+_sysORLastChange = MibScalarInstance(
+ sysORLastChange.name, (0,),
+ sysORLastChange.syntax.clone(0)
+)
+_snmpInPkts = MibScalarInstance(
+ snmpInPkts.name, (0,),
+ snmpInPkts.syntax.clone(0)
+)
+_snmpOutPkts = MibScalarInstance(
+ snmpOutPkts.name, (0,),
+ snmpOutPkts.syntax.clone(0)
+)
+_snmpInBadVersions = MibScalarInstance(
+ snmpInBadVersions.name, (0,),
+ snmpInBadVersions.syntax.clone(0)
+)
+_snmpInBadCommunityNames = MibScalarInstance(
+ snmpInBadCommunityNames.name, (0,),
+ snmpInBadCommunityNames.syntax.clone(0)
+)
+_snmpInBadCommunityUses = MibScalarInstance(
+ snmpInBadCommunityUses.name, (0,),
+ snmpInBadCommunityUses.syntax.clone(0)
+)
+_snmpInASNParseErrs = MibScalarInstance(
+ snmpInASNParseErrs.name, (0,),
+ snmpInASNParseErrs.syntax.clone(0)
+)
+_snmpInTooBigs = MibScalarInstance(
+ snmpInTooBigs.name, (0,),
+ snmpInTooBigs.syntax.clone(0)
+)
+_snmpInNoSuchNames = MibScalarInstance(
+ snmpInNoSuchNames.name, (0,),
+ snmpInNoSuchNames.syntax.clone(0)
+)
+_snmpInBadValues = MibScalarInstance(
+ snmpInBadValues.name, (0,),
+ snmpInBadValues.syntax.clone(0)
+)
+_snmpInReadOnlys = MibScalarInstance(
+ snmpInReadOnlys.name, (0,),
+ snmpInReadOnlys.syntax.clone(0)
+)
+_snmpInGenErrs = MibScalarInstance(
+ snmpInGenErrs.name, (0,),
+ snmpInGenErrs.syntax.clone(0)
+)
+_snmpInTotalReqVars = MibScalarInstance(
+ snmpInTotalReqVars.name, (0,),
+ snmpInTotalReqVars.syntax.clone(0)
+)
+_snmpInTotalSetVars = MibScalarInstance(
+ snmpInTotalSetVars.name, (0,),
+ snmpInTotalSetVars.syntax.clone(0)
+)
+_snmpInGetRequests = MibScalarInstance(
+ snmpInGetRequests.name, (0,),
+ snmpInGetRequests.syntax.clone(0)
+)
+_snmpInGetNexts = MibScalarInstance(
+ snmpInGetNexts.name, (0,),
+ snmpInGetNexts.syntax.clone(0)
+)
+_snmpInSetRequests = MibScalarInstance(
+ snmpInSetRequests.name, (0,),
+ snmpInSetRequests.syntax.clone(0)
+)
+_snmpInGetResponses = MibScalarInstance(
+ snmpInGetResponses.name, (0,),
+ snmpInGetResponses.syntax.clone(0)
+)
+_snmpInTraps = MibScalarInstance(
+ snmpInTraps.name, (0,),
+ snmpInTraps.syntax.clone(0)
+)
+_snmpOutTooBigs = MibScalarInstance(
+ snmpOutTooBigs.name, (0,),
+ snmpOutTooBigs.syntax.clone(0)
+)
+_snmpOutNoSuchNames = MibScalarInstance(
+ snmpOutNoSuchNames.name, (0,),
+ snmpOutNoSuchNames.syntax.clone(0)
+)
+_snmpOutBadValues = MibScalarInstance(
+ snmpOutBadValues.name, (0,),
+ snmpOutBadValues.syntax.clone(0)
+)
+_snmpOutGenErrs = MibScalarInstance(
+ snmpOutGenErrs.name, (0,),
+ snmpOutGenErrs.syntax.clone(0)
+)
+_snmpOutSetRequests = MibScalarInstance(
+ snmpOutSetRequests.name, (0,),
+ snmpOutSetRequests.syntax.clone(0)
+)
+_snmpOutGetResponses = MibScalarInstance(
+ snmpOutGetResponses.name, (0,),
+ snmpOutGetResponses.syntax.clone(0)
+)
+_snmpOutTraps = MibScalarInstance(
+ snmpOutTraps.name, (0,),
+ snmpOutTraps.syntax.clone(0)
+)
+_snmpEnableAuthenTraps = MibScalarInstance(
+ snmpEnableAuthenTraps.name, (0,),
+ snmpEnableAuthenTraps.syntax.clone(1)
+)
+_snmpSilentDrops = MibScalarInstance(
+ snmpSilentDrops.name, (0,),
+ snmpSilentDrops.syntax.clone(0)
+)
+_snmpProxyDrops = MibScalarInstance(
+ snmpProxyDrops.name, (0,),
+ snmpProxyDrops.syntax.clone(0)
+)
+_snmpTrapOID = MibScalarInstance(
+ snmpTrapOID.name, (0,), snmpTrapOID.syntax.clone(coldStart.name)
+)
+_snmpSetSerialNo = MibScalarInstance(
+ snmpSetSerialNo.name, (0,),
+ snmpSetSerialNo.syntax.clone(0)
+)
mibBuilder.exportSymbols(
"__SNMPv2-MIB",
- sysDescr=__sysDescr,
- sysObjectID=__sysObjectID,
- sysUpTime=__sysUpTime,
- sysContact=__sysContact,
- sysName=__sysName,
- sysLocation=__sysLocation,
- sysServices=__sysServices,
- sysORLastChange=__sysORLastChange,
- snmpInPkts=__snmpInPkts,
- snmpOutPkts=__snmpOutPkts,
- snmpInBadVersions=__snmpInBadVersions,
- snmpInBadCommunityNames=__snmpInBadCommunityNames,
- snmpInBadCommunityUses=__snmpInBadCommunityUses,
- snmpInASNParseErrs=__snmpInASNParseErrs,
- snmpInTooBigs=__snmpInTooBigs,
- snmpInNoSuchNames=__snmpInNoSuchNames,
- snmpInBadValues=__snmpInBadValues,
- snmpInReadOnlys=__snmpInReadOnlys,
- snmpInGenErrs=__snmpInGenErrs,
- snmpInTotalReqVars=__snmpInTotalReqVars,
- snmpInTotalSetVars=__snmpInTotalSetVars,
- snmpInGetRequests=__snmpInGetRequests,
- snmpInGetNexts=__snmpInGetNexts,
- snmpInSetRequests=__snmpInSetRequests,
- snmpInGetResponses=__snmpInGetResponses,
- snmpInTraps=__snmpInTraps,
- snmpOutTooBigs=__snmpOutTooBigs,
- snmpOutNoSuchNames=__snmpOutNoSuchNames,
- snmpOutBadValues=__snmpOutBadValues,
- snmpOutGenErrs=__snmpOutGenErrs,
- snmpOutSetRequests=__snmpOutSetRequests,
- snmpOutGetResponses=__snmpOutGetResponses,
- snmpOutTraps=__snmpOutTraps,
- snmpEnableAuthenTraps=__snmpEnableAuthenTraps,
- snmpSilentDrops=__snmpSilentDrops,
- snmpProxyDrops=__snmpProxyDrops,
- snmpTrapOID=__snmpTrapOID,
- snmpSetSerialNo=__snmpSetSerialNo
+ sysDescr=_sysDescr,
+ sysObjectID=_sysObjectID,
+ sysUpTime=_sysUpTime,
+ sysContact=_sysContact,
+ sysName=_sysName,
+ sysLocation=_sysLocation,
+ sysServices=_sysServices,
+ sysORLastChange=_sysORLastChange,
+ snmpInPkts=_snmpInPkts,
+ snmpOutPkts=_snmpOutPkts,
+ snmpInBadVersions=_snmpInBadVersions,
+ snmpInBadCommunityNames=_snmpInBadCommunityNames,
+ snmpInBadCommunityUses=_snmpInBadCommunityUses,
+ snmpInASNParseErrs=_snmpInASNParseErrs,
+ snmpInTooBigs=_snmpInTooBigs,
+ snmpInNoSuchNames=_snmpInNoSuchNames,
+ snmpInBadValues=_snmpInBadValues,
+ snmpInReadOnlys=_snmpInReadOnlys,
+ snmpInGenErrs=_snmpInGenErrs,
+ snmpInTotalReqVars=_snmpInTotalReqVars,
+ snmpInTotalSetVars=_snmpInTotalSetVars,
+ snmpInGetRequests=_snmpInGetRequests,
+ snmpInGetNexts=_snmpInGetNexts,
+ snmpInSetRequests=_snmpInSetRequests,
+ snmpInGetResponses=_snmpInGetResponses,
+ snmpInTraps=_snmpInTraps,
+ snmpOutTooBigs=_snmpOutTooBigs,
+ snmpOutNoSuchNames=_snmpOutNoSuchNames,
+ snmpOutBadValues=_snmpOutBadValues,
+ snmpOutGenErrs=_snmpOutGenErrs,
+ snmpOutSetRequests=_snmpOutSetRequests,
+ snmpOutGetResponses=_snmpOutGetResponses,
+ snmpOutTraps=_snmpOutTraps,
+ snmpEnableAuthenTraps=_snmpEnableAuthenTraps,
+ snmpSilentDrops=_snmpSilentDrops,
+ snmpProxyDrops=_snmpProxyDrops,
+ snmpTrapOID=_snmpTrapOID,
+ snmpSetSerialNo=_snmpSetSerialNo
)