github.com/influxdata/telegraf@v1.30.3/internal/snmp/testdata/gosmi/tcpMibImports (about)

     1  SNMPv2-SMI DEFINITIONS ::= BEGIN
     2  
     3  -- the path to the root
     4  
     5  org            OBJECT IDENTIFIER ::= { iso 3 }  --  "iso" = 1
     6  dod            OBJECT IDENTIFIER ::= { org 6 }
     7  internet       OBJECT IDENTIFIER ::= { dod 1 }
     8  
     9  directory      OBJECT IDENTIFIER ::= { internet 1 }
    10  
    11  mgmt           OBJECT IDENTIFIER ::= { internet 2 }
    12  mib-2          OBJECT IDENTIFIER ::= { mgmt 1 }
    13  transmission   OBJECT IDENTIFIER ::= { mib-2 10 }
    14  
    15  experimental   OBJECT IDENTIFIER ::= { internet 3 }
    16  
    17  private        OBJECT IDENTIFIER ::= { internet 4 }
    18  enterprises    OBJECT IDENTIFIER ::= { private 1 }
    19  
    20  security       OBJECT IDENTIFIER ::= { internet 5 }
    21  
    22  snmpV2         OBJECT IDENTIFIER ::= { internet 6 }
    23  
    24  -- transport domains
    25  snmpDomains    OBJECT IDENTIFIER ::= { snmpV2 1 }
    26  
    27  -- transport proxies
    28  snmpProxys     OBJECT IDENTIFIER ::= { snmpV2 2 }
    29  
    30  -- module identities
    31  snmpModules    OBJECT IDENTIFIER ::= { snmpV2 3 }
    32  
    33  -- Extended UTCTime, to allow dates with four-digit years
    34  -- (Note that this definition of ExtUTCTime is not to be IMPORTed
    35  --  by MIB modules.)
    36  ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
    37      -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
    38  
    39      --   where: YY   - last two digits of year (only years
    40      --                 between 1900-1999)
    41      --          YYYY - last four digits of the year (any year)
    42      --          MM   - month (01 through 12)
    43      --          DD   - day of month (01 through 31)
    44      --          HH   - hours (00 through 23)
    45      --          MM   - minutes (00 through 59)
    46      --          Z    - denotes GMT (the ASCII character Z)
    47      --
    48      -- For example, "9502192015Z" and "199502192015Z" represent
    49      -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
    50      -- the four digit year format. Years 1900-1999 may use the
    51      -- two or four digit format.
    52  
    53  -- definitions for information modules
    54  
    55  MODULE-IDENTITY MACRO ::=
    56  BEGIN
    57      TYPE NOTATION ::=
    58                    "LAST-UPDATED" value(Update ExtUTCTime)
    59                    "ORGANIZATION" Text
    60                    "CONTACT-INFO" Text
    61                    "DESCRIPTION" Text
    62                    RevisionPart
    63  
    64      VALUE NOTATION ::=
    65                    value(VALUE OBJECT IDENTIFIER)
    66  
    67      RevisionPart ::=
    68                    Revisions
    69                  | empty
    70      Revisions ::=
    71                    Revision
    72                  | Revisions Revision
    73      Revision ::=
    74                    "REVISION" value(Update ExtUTCTime)
    75                    "DESCRIPTION" Text
    76  
    77      -- a character string as defined in section 3.1.1
    78      Text ::= value(IA5String)
    79  END
    80  
    81  OBJECT-IDENTITY MACRO ::=
    82  BEGIN
    83      TYPE NOTATION ::=
    84                    "STATUS" Status
    85                    "DESCRIPTION" Text
    86  
    87                    ReferPart
    88  
    89      VALUE NOTATION ::=
    90                    value(VALUE OBJECT IDENTIFIER)
    91  
    92      Status ::=
    93                    "current"
    94                  | "deprecated"
    95                  | "obsolete"
    96  
    97      ReferPart ::=
    98                    "REFERENCE" Text
    99                  | empty
   100  
   101      -- a character string as defined in section 3.1.1
   102      Text ::= value(IA5String)
   103  END
   104  
   105  -- names of objects
   106  -- (Note that these definitions of ObjectName and NotificationName
   107  --  are not to be IMPORTed by MIB modules.)
   108  
   109  ObjectName ::=
   110      OBJECT IDENTIFIER
   111  
   112  NotificationName ::=
   113      OBJECT IDENTIFIER
   114  
   115  -- syntax of objects
   116  
   117  -- the "base types" defined here are:
   118  --   3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
   119  --   8 application-defined types: Integer32, IpAddress, Counter32,
   120  --              Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
   121  
   122  ObjectSyntax ::=
   123      CHOICE {
   124          simple
   125              SimpleSyntax,
   126            -- note that SEQUENCEs for conceptual tables and
   127            -- rows are not mentioned here...
   128  
   129          application-wide
   130              ApplicationSyntax
   131      }
   132  
   133  -- built-in ASN.1 types
   134  
   135  SimpleSyntax ::=
   136      CHOICE {
   137          -- INTEGERs with a more restrictive range
   138          -- may also be used
   139          integer-value               -- includes Integer32
   140              INTEGER (-2147483648..2147483647),
   141          -- OCTET STRINGs with a more restrictive size
   142          -- may also be used
   143          string-value
   144              OCTET STRING (SIZE (0..65535)),
   145          objectID-value
   146              OBJECT IDENTIFIER
   147      }
   148  
   149  -- indistinguishable from INTEGER, but never needs more than
   150  -- 32-bits for a two's complement representation
   151  Integer32 ::=
   152          INTEGER (-2147483648..2147483647)
   153  
   154  -- application-wide types
   155  
   156  ApplicationSyntax ::=
   157      CHOICE {
   158          ipAddress-value
   159              IpAddress,
   160          counter-value
   161              Counter32,
   162          timeticks-value
   163              TimeTicks,
   164          arbitrary-value
   165              Opaque,
   166          big-counter-value
   167              Counter64,
   168          unsigned-integer-value  -- includes Gauge32
   169              Unsigned32
   170      }
   171  
   172  -- in network-byte order
   173  
   174  -- (this is a tagged type for historical reasons)
   175  IpAddress ::=
   176      [APPLICATION 0]
   177          IMPLICIT OCTET STRING (SIZE (4))
   178  
   179  -- this wraps
   180  Counter32 ::=
   181      [APPLICATION 1]
   182          IMPLICIT INTEGER (0..4294967295)
   183  
   184  -- this doesn't wrap
   185  Gauge32 ::=
   186      [APPLICATION 2]
   187          IMPLICIT INTEGER (0..4294967295)
   188  
   189  -- an unsigned 32-bit quantity
   190  -- indistinguishable from Gauge32
   191  Unsigned32 ::=
   192      [APPLICATION 2]
   193          IMPLICIT INTEGER (0..4294967295)
   194  
   195  -- hundredths of seconds since an epoch
   196  TimeTicks ::=
   197      [APPLICATION 3]
   198          IMPLICIT INTEGER (0..4294967295)
   199  
   200  -- for backward-compatibility only
   201  Opaque ::=
   202      [APPLICATION 4]
   203          IMPLICIT OCTET STRING
   204  
   205  -- for counters that wrap in less than one hour with only 32 bits
   206  Counter64 ::=
   207      [APPLICATION 6]
   208          IMPLICIT INTEGER (0..18446744073709551615)
   209  
   210  -- definition for objects
   211  
   212  OBJECT-TYPE MACRO ::=
   213  BEGIN
   214      TYPE NOTATION ::=
   215                    "SYNTAX" Syntax
   216                    UnitsPart
   217                    "MAX-ACCESS" Access
   218                    "STATUS" Status
   219                    "DESCRIPTION" Text
   220                    ReferPart
   221  
   222                    IndexPart
   223                    DefValPart
   224  
   225      VALUE NOTATION ::=
   226                    value(VALUE ObjectName)
   227  
   228      Syntax ::=   -- Must be one of the following:
   229                         -- a base type (or its refinement),
   230                         -- a textual convention (or its refinement), or
   231                         -- a BITS pseudo-type
   232                     type
   233                  | "BITS" "{" NamedBits "}"
   234  
   235      NamedBits ::= NamedBit
   236                  | NamedBits "," NamedBit
   237  
   238      NamedBit ::=  identifier "(" number ")" -- number is nonnegative
   239  
   240      UnitsPart ::=
   241                    "UNITS" Text
   242                  | empty
   243  
   244      Access ::=
   245                    "not-accessible"
   246                  | "accessible-for-notify"
   247                  | "read-only"
   248                  | "read-write"
   249                  | "read-create"
   250  
   251      Status ::=
   252                    "current"
   253                  | "deprecated"
   254                  | "obsolete"
   255  
   256      ReferPart ::=
   257                    "REFERENCE" Text
   258                  | empty
   259  
   260      IndexPart ::=
   261                    "INDEX"    "{" IndexTypes "}"
   262                  | "AUGMENTS" "{" Entry      "}"
   263                  | empty
   264      IndexTypes ::=
   265                    IndexType
   266                  | IndexTypes "," IndexType
   267      IndexType ::=
   268                    "IMPLIED" Index
   269                  | Index
   270  
   271      Index ::=
   272                      -- use the SYNTAX value of the
   273                      -- correspondent OBJECT-TYPE invocation
   274                    value(ObjectName)
   275      Entry ::=
   276                      -- use the INDEX value of the
   277                      -- correspondent OBJECT-TYPE invocation
   278                    value(ObjectName)
   279  
   280      DefValPart ::= "DEFVAL" "{" Defvalue "}"
   281                  | empty
   282  
   283      Defvalue ::=  -- must be valid for the type specified in
   284                    -- SYNTAX clause of same OBJECT-TYPE macro
   285                    value(ObjectSyntax)
   286                  | "{" BitsValue "}"
   287  
   288      BitsValue ::= BitNames
   289                  | empty
   290  
   291      BitNames ::=  BitName
   292                  | BitNames "," BitName
   293  
   294      BitName ::= identifier
   295  
   296      -- a character string as defined in section 3.1.1
   297      Text ::= value(IA5String)
   298  END
   299  
   300  -- definitions for notifications
   301  
   302  NOTIFICATION-TYPE MACRO ::=
   303  BEGIN
   304      TYPE NOTATION ::=
   305                    ObjectsPart
   306                    "STATUS" Status
   307                    "DESCRIPTION" Text
   308                    ReferPart
   309  
   310      VALUE NOTATION ::=
   311                    value(VALUE NotificationName)
   312  
   313      ObjectsPart ::=
   314                    "OBJECTS" "{" Objects "}"
   315                  | empty
   316      Objects ::=
   317                    Object
   318  
   319                  | Objects "," Object
   320      Object ::=
   321                    value(ObjectName)
   322  
   323      Status ::=
   324                    "current"
   325                  | "deprecated"
   326                  | "obsolete"
   327  
   328      ReferPart ::=
   329                    "REFERENCE" Text
   330                  | empty
   331  
   332      -- a character string as defined in section 3.1.1
   333      Text ::= value(IA5String)
   334  END
   335  
   336  -- definitions of administrative identifiers
   337  
   338  zeroDotZero    OBJECT-IDENTITY
   339      STATUS     current
   340      DESCRIPTION
   341              "A value used for null identifiers."
   342      ::= { 0 0 }
   343  
   344  
   345  
   346  TEXTUAL-CONVENTION MACRO ::=
   347  
   348  BEGIN
   349      TYPE NOTATION ::=
   350                    DisplayPart
   351                    "STATUS" Status
   352                    "DESCRIPTION" Text
   353                    ReferPart
   354                    "SYNTAX" Syntax
   355  
   356      VALUE NOTATION ::=
   357                     value(VALUE Syntax)      -- adapted ASN.1
   358  
   359      DisplayPart ::=
   360                    "DISPLAY-HINT" Text
   361                  | empty
   362  
   363      Status ::=
   364                    "current"
   365                  | "deprecated"
   366                  | "obsolete"
   367  
   368      ReferPart ::=
   369                    "REFERENCE" Text
   370                  | empty
   371  
   372      -- a character string as defined in [2]
   373      Text ::= value(IA5String)
   374  
   375      Syntax ::=   -- Must be one of the following:
   376                         -- a base type (or its refinement), or
   377                         -- a BITS pseudo-type
   378                    type
   379                  | "BITS" "{" NamedBits "}"
   380  
   381      NamedBits ::= NamedBit
   382                  | NamedBits "," NamedBit
   383  
   384      NamedBit ::=  identifier "(" number ")" -- number is nonnegative
   385  
   386  END
   387  
   388  MODULE-COMPLIANCE MACRO ::=
   389  BEGIN
   390      TYPE NOTATION ::=
   391                    "STATUS" Status
   392                    "DESCRIPTION" Text
   393                    ReferPart
   394                    ModulePart
   395  
   396      VALUE NOTATION ::=
   397                    value(VALUE OBJECT IDENTIFIER)
   398  
   399      Status ::=
   400                    "current"
   401                  | "deprecated"
   402                  | "obsolete"
   403  
   404      ReferPart ::=
   405                    "REFERENCE" Text
   406                  | empty
   407  
   408      ModulePart ::=
   409                    Modules
   410      Modules ::=
   411                    Module
   412                  | Modules Module
   413      Module ::=
   414                    -- name of module --
   415                    "MODULE" ModuleName
   416                    MandatoryPart
   417                    CompliancePart
   418  
   419      ModuleName ::=
   420                    -- identifier must start with uppercase letter
   421                    identifier ModuleIdentifier
   422                    -- must not be empty unless contained
   423                    -- in MIB Module
   424                  | empty
   425      ModuleIdentifier ::=
   426                    value(OBJECT IDENTIFIER)
   427                  | empty
   428  
   429      MandatoryPart ::=
   430                    "MANDATORY-GROUPS" "{" Groups "}"
   431                  | empty
   432  
   433      Groups ::=
   434  
   435                    Group
   436                  | Groups "," Group
   437      Group ::=
   438                    value(OBJECT IDENTIFIER)
   439  
   440      CompliancePart ::=
   441                    Compliances
   442                  | empty
   443  
   444      Compliances ::=
   445                    Compliance
   446                  | Compliances Compliance
   447      Compliance ::=
   448                    ComplianceGroup
   449                  | Object
   450  
   451      ComplianceGroup ::=
   452                    "GROUP" value(OBJECT IDENTIFIER)
   453                    "DESCRIPTION" Text
   454  
   455      Object ::=
   456                    "OBJECT" value(ObjectName)
   457                    SyntaxPart
   458                    WriteSyntaxPart
   459                    AccessPart
   460                    "DESCRIPTION" Text
   461  
   462      -- must be a refinement for object's SYNTAX clause
   463      SyntaxPart ::= "SYNTAX" Syntax
   464                  | empty
   465  
   466      -- must be a refinement for object's SYNTAX clause
   467      WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
   468                  | empty
   469  
   470      Syntax ::=    -- Must be one of the following:
   471                         -- a base type (or its refinement),
   472                         -- a textual convention (or its refinement), or
   473                         -- a BITS pseudo-type
   474                    type
   475                  | "BITS" "{" NamedBits "}"
   476  
   477      NamedBits ::= NamedBit
   478                  | NamedBits "," NamedBit
   479  
   480      NamedBit ::= identifier "(" number ")" -- number is nonnegative
   481  
   482      AccessPart ::=
   483                    "MIN-ACCESS" Access
   484                  | empty
   485      Access ::=
   486                    "not-accessible"
   487                  | "accessible-for-notify"
   488                  | "read-only"
   489                  | "read-write"
   490                  | "read-create"
   491  
   492      -- a character string as defined in [2]
   493      Text ::= value(IA5String)
   494  END
   495  
   496  OBJECT-GROUP MACRO ::=
   497  BEGIN
   498      TYPE NOTATION ::=
   499                    ObjectsPart
   500                    "STATUS" Status
   501                    "DESCRIPTION" Text
   502                    ReferPart
   503  
   504      VALUE NOTATION ::=
   505                    value(VALUE OBJECT IDENTIFIER)
   506  
   507      ObjectsPart ::=
   508                    "OBJECTS" "{" Objects "}"
   509      Objects ::=
   510                    Object
   511                  | Objects "," Object
   512      Object ::=
   513  
   514                    value(ObjectName)
   515  
   516      Status ::=
   517                    "current"
   518                  | "deprecated"
   519                  | "obsolete"
   520  
   521      ReferPart ::=
   522                    "REFERENCE" Text
   523                  | empty
   524  
   525      -- a character string as defined in [2]
   526      Text ::= value(IA5String)
   527  END
   528  
   529  InetPortNumber ::= TEXTUAL-CONVENTION
   530      DISPLAY-HINT "d"
   531      STATUS       current
   532      DESCRIPTION
   533          "Represents a 16 bit port number of an Internet transport
   534  
   535           layer protocol.  Port numbers are assigned by IANA.  A
   536           current list of all assignments is available from
   537           <http://www.iana.org/>.
   538  
   539           The value zero is object-specific and must be defined as
   540           part of the description of any object that uses this
   541           syntax.  Examples of the usage of zero might include
   542           situations where a port number is unknown, or when the
   543           value zero is used as a wildcard in a filter."
   544      REFERENCE   "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
   545      SYNTAX       Unsigned32 (0..65535)
   546  
   547  
   548  InetAddress ::= TEXTUAL-CONVENTION
   549      STATUS      current
   550      DESCRIPTION
   551          "Denotes a generic Internet address.
   552  
   553           An InetAddress value is always interpreted within the context
   554           of an InetAddressType value.  Every usage of the InetAddress
   555           textual convention is required to specify the InetAddressType
   556           object that provides the context.  It is suggested that the
   557           InetAddressType object be logically registered before the
   558           object(s) that use the InetAddress textual convention, if
   559           they appear in the same logical row.
   560  
   561           The value of an InetAddress object must always be
   562           consistent with the value of the associated InetAddressType
   563           object.  Attempts to set an InetAddress object to a value
   564           inconsistent with the associated InetAddressType
   565           must fail with an inconsistentValue error.
   566  
   567           When this textual convention is used as the syntax of an
   568           index object, there may be issues with the limit of 128
   569           sub-identifiers specified in SMIv2, STD 58.  In this case,
   570           the object definition MUST include a 'SIZE' clause to
   571           limit the number of potential instance sub-identifiers;
   572           otherwise the applicable constraints MUST be stated in
   573           the appropriate conceptual row DESCRIPTION clauses, or
   574           in the surrounding documentation if there is no single
   575           DESCRIPTION clause that is appropriate."
   576      SYNTAX       OCTET STRING (SIZE (0..255))
   577  
   578  InetAddressType ::= TEXTUAL-CONVENTION
   579      STATUS      current
   580      DESCRIPTION
   581          "A value that represents a type of Internet address.
   582  
   583           unknown(0)  An unknown address type.  This value MUST
   584                       be used if the value of the corresponding
   585                       InetAddress object is a zero-length string.
   586                       It may also be used to indicate an IP address
   587                       that is not in one of the formats defined
   588                       below.
   589  
   590           ipv4(1)     An IPv4 address as defined by the
   591                       InetAddressIPv4 textual convention.
   592  
   593           ipv6(2)     An IPv6 address as defined by the
   594                       InetAddressIPv6 textual convention.
   595  
   596           ipv4z(3)    A non-global IPv4 address including a zone
   597                       index as defined by the InetAddressIPv4z
   598                       textual convention.
   599  
   600           ipv6z(4)    A non-global IPv6 address including a zone
   601                       index as defined by the InetAddressIPv6z
   602                       textual convention.
   603  
   604           dns(16)     A DNS domain name as defined by the
   605                       InetAddressDNS textual convention.
   606  
   607           Each definition of a concrete InetAddressType value must be
   608           accompanied by a definition of a textual convention for use
   609           with that InetAddressType.
   610  
   611           To support future extensions, the InetAddressType textual
   612           convention SHOULD NOT be sub-typed in object type definitions.
   613           It MAY be sub-typed in compliance statements in order to
   614           require only a subset of these address types for a compliant
   615           implementation.
   616  
   617           Implementations must ensure that InetAddressType objects
   618           and any dependent objects (e.g., InetAddress objects) are
   619           consistent.  An inconsistentValue error must be generated
   620           if an attempt to change an InetAddressType object would,
   621           for example, lead to an undefined InetAddress value.  In
   622  
   623           particular, InetAddressType/InetAddress pairs must be
   624           changed together if the address type changes (e.g., from
   625           ipv6(2) to ipv4(1))."
   626      SYNTAX       INTEGER {
   627                       unknown(0),
   628                       ipv4(1),
   629                       ipv6(2),
   630                       ipv4z(3),
   631                       ipv6z(4),
   632                       dns(16)
   633                   }
   634  
   635  
   636  
   637  
   638  
   639  END