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