Skip to content

Commit

Permalink
Merge pull request #111 from cisco/rfc2580-update
Browse files Browse the repository at this point in the history
Populate SNMPv2-CONF.my
  • Loading branch information
kyzer-davis authored Jan 10, 2025
2 parents 69d3635 + cad9d09 commit f4c3e99
Showing 1 changed file with 334 additions and 15 deletions.
349 changes: 334 additions & 15 deletions v2/SNMPv2-CONF.my
Original file line number Diff line number Diff line change
@@ -1,19 +1,338 @@
-- *****************************************************************
-- SNMPv2-CONF.my: SNMPv2 Conformance MIB file
--
-- May 1994, Jeffrey T. Johnson
--
-- Copyright (c) 1994,1996 by cisco Systems, Inc.
-- All rights reserved.
--
-- *****************************************************************
--
-- This mib was extracted from RFC 1904
-- All macro definitions have been removed because they are
-- predefined in the mib compiler

SNMPv2-CONF DEFINITIONS ::= BEGIN

-- everything is predefined in the mib compiler
IMPORTS ObjectName, NotificationName, ObjectSyntax
FROM SNMPv2-SMI;

-- definitions for conformance groups

OBJECT-GROUP MACRO ::=
BEGIN
TYPE NOTATION ::=
ObjectsPart
"STATUS" Status
"DESCRIPTION" Text
ReferPart

VALUE NOTATION ::=
value(VALUE OBJECT IDENTIFIER)

ObjectsPart ::=
"OBJECTS" "{" Objects "}"
Objects ::=
Object
| Objects "," Object
Object ::=



value(ObjectName)

Status ::=
"current"
| "deprecated"
| "obsolete"

ReferPart ::=
"REFERENCE" Text
| empty

-- a character string as defined in [2]
Text ::= value(IA5String)
END

-- more definitions for conformance groups

NOTIFICATION-GROUP MACRO ::=
BEGIN
TYPE NOTATION ::=
NotificationsPart
"STATUS" Status
"DESCRIPTION" Text
ReferPart

VALUE NOTATION ::=
value(VALUE OBJECT IDENTIFIER)

NotificationsPart ::=
"NOTIFICATIONS" "{" Notifications "}"
Notifications ::=
Notification
| Notifications "," Notification
Notification ::=
value(NotificationName)

Status ::=
"current"
| "deprecated"
| "obsolete"

ReferPart ::=
"REFERENCE" Text
| empty

-- a character string as defined in [2]
Text ::= value(IA5String)
END



-- definitions for compliance statements

MODULE-COMPLIANCE MACRO ::=
BEGIN
TYPE NOTATION ::=
"STATUS" Status
"DESCRIPTION" Text
ReferPart
ModulePart

VALUE NOTATION ::=
value(VALUE OBJECT IDENTIFIER)

Status ::=
"current"
| "deprecated"
| "obsolete"

ReferPart ::=
"REFERENCE" Text
| empty

ModulePart ::=
Modules
Modules ::=
Module
| Modules Module
Module ::=
-- name of module --
"MODULE" ModuleName
MandatoryPart
CompliancePart

ModuleName ::=
-- identifier must start with uppercase letter
identifier ModuleIdentifier
-- must not be empty unless contained
-- in MIB Module
| empty
ModuleIdentifier ::=
value(OBJECT IDENTIFIER)
| empty

MandatoryPart ::=
"MANDATORY-GROUPS" "{" Groups "}"
| empty

Groups ::=



Group
| Groups "," Group
Group ::=
value(OBJECT IDENTIFIER)

CompliancePart ::=
Compliances
| empty

Compliances ::=
Compliance
| Compliances Compliance
Compliance ::=
ComplianceGroup
| Object

ComplianceGroup ::=
"GROUP" value(OBJECT IDENTIFIER)
"DESCRIPTION" Text

Object ::=
"OBJECT" value(ObjectName)
SyntaxPart
WriteSyntaxPart
AccessPart
"DESCRIPTION" Text

-- must be a refinement for object's SYNTAX clause
SyntaxPart ::= "SYNTAX" Syntax
| empty

-- must be a refinement for object's SYNTAX clause
WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
| empty

Syntax ::= -- Must be one of the following:
-- a base type (or its refinement),
-- a textual convention (or its refinement), or
-- a BITS pseudo-type
type
| "BITS" "{" NamedBits "}"

NamedBits ::= NamedBit
| NamedBits "," NamedBit

NamedBit ::= identifier "(" number ")" -- number is nonnegative

AccessPart ::=



"MIN-ACCESS" Access
| empty
Access ::=
"not-accessible"
| "accessible-for-notify"
| "read-only"
| "read-write"
| "read-create"

-- a character string as defined in [2]
Text ::= value(IA5String)
END

-- definitions for capabilities statements

AGENT-CAPABILITIES MACRO ::=
BEGIN
TYPE NOTATION ::=
"PRODUCT-RELEASE" Text
"STATUS" Status
"DESCRIPTION" Text
ReferPart
ModulePart

VALUE NOTATION ::=
value(VALUE OBJECT IDENTIFIER)

Status ::=
"current"
| "obsolete"

ReferPart ::=
"REFERENCE" Text
| empty

ModulePart ::=
Modules
| empty
Modules ::=
Module
| Modules Module
Module ::=
-- name of module --
"SUPPORTS" ModuleName
"INCLUDES" "{" Groups "}"
VariationPart

ModuleName ::=



-- identifier must start with uppercase letter
identifier ModuleIdentifier
ModuleIdentifier ::=
value(OBJECT IDENTIFIER)
| empty

Groups ::=
Group
| Groups "," Group
Group ::=
value(OBJECT IDENTIFIER)

VariationPart ::=
Variations
| empty
Variations ::=
Variation
| Variations Variation

Variation ::=
ObjectVariation
| NotificationVariation

NotificationVariation ::=
"VARIATION" value(NotificationName)
AccessPart
"DESCRIPTION" Text

ObjectVariation ::=
"VARIATION" value(ObjectName)
SyntaxPart
WriteSyntaxPart
AccessPart
CreationPart
DefValPart
"DESCRIPTION" Text

-- must be a refinement for object's SYNTAX clause
SyntaxPart ::= "SYNTAX" Syntax
| empty

WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
| empty

Syntax ::= -- Must be one of the following:
-- a base type (or its refinement),
-- a textual convention (or its refinement), or
-- a BITS pseudo-type



type
| "BITS" "{" NamedBits "}"

NamedBits ::= NamedBit
| NamedBits "," NamedBit

NamedBit ::= identifier "(" number ")" -- number is nonnegative

AccessPart ::=
"ACCESS" Access
| empty

Access ::=
"not-implemented"
-- only "not-implemented" for notifications
| "accessible-for-notify"
| "read-only"
| "read-write"
| "read-create"
-- following is for backward-compatibility only
| "write-only"

CreationPart ::=
"CREATION-REQUIRES" "{" Cells "}"
| empty
Cells ::=
Cell
| Cells "," Cell
Cell ::=
value(ObjectName)

DefValPart ::= "DEFVAL" "{" Defvalue "}"
| empty

Defvalue ::= -- must be valid for the object's syntax
-- in this macro's SYNTAX clause, if present,
-- or if not, in object's OBJECT-TYPE macro
value(ObjectSyntax)
| "{" BitsValue "}"

BitsValue ::= BitNames
| empty

BitNames ::= BitName
| BitNames "," BitName

BitName ::= identifier




-- a character string as defined in [2]
Text ::= value(IA5String)
END

END

0 comments on commit f4c3e99

Please sign in to comment.