mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	git-svn-id: http://www.observium.org/svn/observer/trunk@1645 61d68cd4-352d-0410-923a-c4978735b2b8
		
			
				
	
	
		
			323 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			323 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
SNMPv2-CONF DEFINITIONS ::= BEGIN
 | 
						|
 | 
						|
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
 |