Blame pibs/ietf/COPS-PR-SPPI

Packit 022b05
COPS-PR-SPPI DEFINITIONS ::= BEGIN
Packit 022b05
Packit 022b05
IMPORTS    ObjectName, SimpleSyntax, ExtUTCTime, mgmt
Packit 022b05
                                                FROM SNMPv2-SMI;
Packit 022b05
Packit 022b05
-- the root for PIB definitions
Packit 022b05
Packit 022b05
      pib           OBJECT IDENTIFIER ::= { mgmt 2 }
Packit 022b05
Packit 022b05
-- definitions for PIB modules
Packit 022b05
Packit 022b05
MODULE-IDENTITY MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  SubjectPart                        -- new
Packit 022b05
                  "LAST-UPDATED" value(Update ExtUTCTime)
Packit 022b05
                  "ORGANIZATION" Text
Packit 022b05
                  "CONTACT-INFO" Text
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  RevisionPart
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                  value(VALUE OBJECT IDENTIFIER)
Packit 022b05
Packit 022b05
    SubjectPart ::=                                  -- new
Packit 022b05
                  "SUBJECT-CATEGORIES" "{" Categories "}"
Packit 022b05
                   -- see IANA Considerations section
Packit 022b05
    Categories ::=                                   -- new
Packit 022b05
                  CategoryIDs
Packit 022b05
                | "all"
Packit 022b05
    CategoryIDs ::=                                  -- new
Packit 022b05
                  CategoryID
Packit 022b05
                | CategoryIDs "," CategoryID
Packit 022b05
    CategoryID ::=                                   -- new
Packit 022b05
                 identifier "(" number ")"  -- number is positive
Packit 022b05
Packit 022b05
    RevisionPart ::=
Packit 022b05
                  Revisions
Packit 022b05
                | empty
Packit 022b05
    Revisions ::=
Packit 022b05
                  Revision
Packit 022b05
                | Revisions Revision
Packit 022b05
    Revision ::=
Packit 022b05
                  "REVISION" value(Update ExtUTCTime)
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
END
Packit 022b05
Packit 022b05
--
Packit 022b05
Packit 022b05
OBJECT-IDENTITY MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  "STATUS" Status
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  ReferPart
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                  value(VALUE OBJECT IDENTIFIER)
Packit 022b05
Packit 022b05
    Status ::=
Packit 022b05
                  "current"
Packit 022b05
                | "deprecated"
Packit 022b05
                | "obsolete"
Packit 022b05
Packit 022b05
    ReferPart ::=
Packit 022b05
                  "REFERENCE" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
END
Packit 022b05
Packit 022b05
Packit 022b05
-- syntax of attributes
Packit 022b05
Packit 022b05
-- the "base types" defined here are:
Packit 022b05
--   3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
Packit 022b05
--   7 application-defined types: Integer32, IpAddress, Unsigned32,
Packit 022b05
--         TimeTicks, Opaque, Integer64 and Unsigned64
Packit 022b05
Packit 022b05
ObjectSyntax ::=
Packit 022b05
    CHOICE {
Packit 022b05
        simple
Packit 022b05
            SimpleSyntax,
Packit 022b05
Packit 022b05
          -- note that SEQUENCEs for table and row definitions
Packit 022b05
          -- are not mentioned here...
Packit 022b05
Packit 022b05
        application-wide
Packit 022b05
            ApplicationSyntax
Packit 022b05
    }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
-- application-wide types
Packit 022b05
Packit 022b05
ApplicationSyntax ::=
Packit 022b05
    CHOICE {
Packit 022b05
        ipAddress-value
Packit 022b05
            IpAddress,
Packit 022b05
Packit 022b05
        timeticks-value
Packit 022b05
            TimeTicks,
Packit 022b05
Packit 022b05
        arbitrary-value
Packit 022b05
            Opaque,
Packit 022b05
Packit 022b05
        unsigned-integer-value
Packit 022b05
            Unsigned32,
Packit 022b05
Packit 022b05
        large-integer-value                        -- new
Packit 022b05
            Integer64,
Packit 022b05
Packit 022b05
        large-unsigned-integer-value               -- new
Packit 022b05
            Unsigned64
Packit 022b05
    }
Packit 022b05
Packit 022b05
Packit 022b05
-- the following 5 types are copied from the SMI
Packit 022b05
Packit 022b05
-- indistinguishable from INTEGER, but never needs more than
Packit 022b05
-- 32-bits for a two's complement representation
Packit 022b05
Integer32 ::=
Packit 022b05
        INTEGER (-2147483648..2147483647)
Packit 022b05
Packit 022b05
-- (this is a tagged type for historical reasons)
Packit 022b05
IpAddress ::=
Packit 022b05
    [APPLICATION 0]
Packit 022b05
        IMPLICIT OCTET STRING (SIZE (4))
Packit 022b05
-- ******* THIS TYPE DEFINITION IS DEPRECATED *******
Packit 022b05
-- The IpAddress type represents a 32-bit internet
Packit 022b05
-- IPv4 address.  It is represented as an OctetString
Packit 022b05
-- of length 4, in network byte-order.
Packit 022b05
-- Note that the IpAddress type is present for
Packit 022b05
-- historical reasons. IPv4 and IPv6 addresses should
Packit 022b05
-- be represented using the INET-ADDRESS-MIB
Packit 022b05
-- defined in [INETADDR].
Packit 022b05
Packit 022b05
-- an unsigned 32-bit quantity
Packit 022b05
Unsigned32 ::=
Packit 022b05
    [APPLICATION 2]
Packit 022b05
        IMPLICIT INTEGER (0..4294967295)
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
-- hundredths of seconds since an epoch
Packit 022b05
TimeTicks ::=
Packit 022b05
    [APPLICATION 3]
Packit 022b05
        IMPLICIT INTEGER (0..4294967295)
Packit 022b05
Packit 022b05
--for backward compatibility only
Packit 022b05
Opaque ::=
Packit 022b05
    [APPLICATION 4]
Packit 022b05
        IMPLICIT OCTET STRING
Packit 022b05
Packit 022b05
Packit 022b05
-- the following 2 types are not present in the SMI
Packit 022b05
Packit 022b05
Integer64 ::=
Packit 022b05
    [APPLICATION 10]
Packit 022b05
        IMPLICIT INTEGER (-9223372036854775808..9223372036854775807)
Packit 022b05
Packit 022b05
Unsigned64 ::=
Packit 022b05
    [APPLICATION 11]
Packit 022b05
        IMPLICIT INTEGER (0..18446744073709551615)
Packit 022b05
Packit 022b05
-- definition for Provisioning Classes and their attributes
Packit 022b05
-- (differences from the SMI are noted in the ASN.1 comments)
Packit 022b05
Packit 022b05
OBJECT-TYPE MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  "SYNTAX" Syntax
Packit 022b05
                  UnitsPart
Packit 022b05
                  "PIB-ACCESS" Access       -- modified
Packit 022b05
                  PibReferencesPart         -- new
Packit 022b05
                  PibTagPart                -- new
Packit 022b05
                  "STATUS" Status
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  ErrorsPart                -- new
Packit 022b05
                  ReferPart
Packit 022b05
                  IndexPart                 -- modified
Packit 022b05
                  MibIndexPart              -- modified
Packit 022b05
                  UniquePart                -- new
Packit 022b05
                  DefValPart
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                  value(VALUE ObjectName)
Packit 022b05
Packit 022b05
    Syntax ::=   -- Must be one of the following:
Packit 022b05
                       -- a base type (or its refinement),
Packit 022b05
                       -- a textual convention (or its refinement), or
Packit 022b05
                       -- a BITS pseudo-type
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                   type
Packit 022b05
                | "BITS" "{" NamedBits "}"
Packit 022b05
Packit 022b05
    NamedBits ::= NamedBit
Packit 022b05
                | NamedBits "," NamedBit
Packit 022b05
Packit 022b05
    NamedBit ::=  identifier "(" number ")" -- number is nonnegative
Packit 022b05
Packit 022b05
    UnitsPart ::=
Packit 022b05
                  "UNITS" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Access ::=                                    -- modified
Packit 022b05
                  "install"
Packit 022b05
                | "notify"
Packit 022b05
                | "install-notify"
Packit 022b05
                | "report-only"
Packit 022b05
Packit 022b05
    Status ::=
Packit 022b05
                  "current"
Packit 022b05
                | "deprecated"
Packit 022b05
                | "obsolete"
Packit 022b05
Packit 022b05
    ErrorsPart ::=                                -- new
Packit 022b05
                  "INSTALL-ERRORS" "{" Errors "}"
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Errors ::=                                    -- new
Packit 022b05
                  Error
Packit 022b05
                | Errors "," Error
Packit 022b05
    Error ::=                                     -- new
Packit 022b05
                  identifier "(" number ")"   -- number is positive
Packit 022b05
Packit 022b05
    ReferPart ::=
Packit 022b05
                  "REFERENCE" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    IndexPart ::=
Packit 022b05
                  "PIB-INDEX" "{" Index "}"      -- new
Packit 022b05
                | "AUGMENTS"  "{" Entry "}"
Packit 022b05
                | "EXTENDS"   "{" Entry "}"      -- new
Packit 022b05
                | empty
Packit 022b05
    Index ::=
Packit 022b05
                    -- the correspondent OBJECT-TYPE invocation
Packit 022b05
                  value(ObjectName)
Packit 022b05
    Entry ::=
Packit 022b05
                    -- use the INDEX value of the
Packit 022b05
                    -- correspondent OBJECT-TYPE invocation
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                  value(ObjectName)
Packit 022b05
    MibIndexPart ::=
Packit 022b05
                  "INDEX"   "{" IndexTypePart "}"
Packit 022b05
                | empty
Packit 022b05
    IndexTypePart ::=
Packit 022b05
                  IndexTypes
Packit 022b05
                | IndexTypes "," ImpliedIndex
Packit 022b05
                | ImpliedIndex
Packit 022b05
    IndexTypes ::=
Packit 022b05
                  Index
Packit 022b05
                | IndexTypes "," Index
Packit 022b05
    ImpliedIndex ::=
Packit 022b05
                  "IMPLIED" Index
Packit 022b05
Packit 022b05
Packit 022b05
    PibReferencesPart ::=
Packit 022b05
                     -- for use with ReferenceId TC
Packit 022b05
                  "PIB-REFERENCES" "{" Entry "}"
Packit 022b05
                |  empty
Packit 022b05
Packit 022b05
    PibTagPart ::=
Packit 022b05
                     -- for use with TagReferenceId TC
Packit 022b05
                   "PIB-TAG" "{" Attr "}"
Packit 022b05
                |  empty
Packit 022b05
Packit 022b05
    Attr ::=       -- specifies an attribute
Packit 022b05
                   value(ObjectName)
Packit 022b05
Packit 022b05
    UniquePart ::=                               -- new
Packit 022b05
                  "UNIQUENESS"    "{" UniqueTypes "}"
Packit 022b05
                | "UNIQUENESS"    "{" "}"
Packit 022b05
                |  empty
Packit 022b05
    UniqueTypes ::=
Packit 022b05
                  UniqueType
Packit 022b05
                | UniqueTypes "," UniqueType
Packit 022b05
    UniqueType ::=
Packit 022b05
                    -- the correspondent OBJECT-TYPE invocation
Packit 022b05
                  value(ObjectName)
Packit 022b05
Packit 022b05
    DefValPart ::= "DEFVAL" "{" Defvalue "}"
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Defvalue ::=  -- must be valid for the type specified in
Packit 022b05
                  -- SYNTAX clause of same OBJECT-TYPE macro
Packit 022b05
                  value(ObjectSyntax)
Packit 022b05
                | "{" BitsValue "}"
Packit 022b05
Packit 022b05
    BitsValue ::= BitNames
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    BitNames ::=  BitName
Packit 022b05
                | BitNames "," BitName
Packit 022b05
Packit 022b05
    BitName ::= identifier
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
END
Packit 022b05
Packit 022b05
Packit 022b05
-- definitions for conformance groups
Packit 022b05
Packit 022b05
OBJECT-GROUP MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  ObjectsPart
Packit 022b05
                  "STATUS" Status
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  ReferPart
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                  value(VALUE OBJECT IDENTIFIER)
Packit 022b05
Packit 022b05
    ObjectsPart ::=
Packit 022b05
                  "OBJECTS" "{" Objects "}"
Packit 022b05
    Objects ::=
Packit 022b05
                  Object
Packit 022b05
                | Objects "," Object
Packit 022b05
    Object ::=
Packit 022b05
                  value(ObjectName)
Packit 022b05
Packit 022b05
    Status ::=
Packit 022b05
                  "current"
Packit 022b05
                | "deprecated"
Packit 022b05
                | "obsolete"
Packit 022b05
Packit 022b05
    ReferPart ::=
Packit 022b05
                  "REFERENCE" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
END
Packit 022b05
Packit 022b05
Packit 022b05
-- definitions for compliance statements
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
MODULE-COMPLIANCE MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  "STATUS" Status
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  ReferPart
Packit 022b05
                  ModulePart
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                  value(VALUE OBJECT IDENTIFIER)
Packit 022b05
Packit 022b05
    Status ::=
Packit 022b05
                  "current"
Packit 022b05
                | "deprecated"
Packit 022b05
                | "obsolete"
Packit 022b05
Packit 022b05
    ReferPart ::=
Packit 022b05
                  "REFERENCE" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    ModulePart ::=
Packit 022b05
                  Modules
Packit 022b05
    Modules ::=
Packit 022b05
                  Module
Packit 022b05
                | Modules Module
Packit 022b05
    Module ::=
Packit 022b05
                  -- name of module --
Packit 022b05
                  "MODULE" ModuleName
Packit 022b05
                  MandatoryPart
Packit 022b05
                  CompliancePart
Packit 022b05
Packit 022b05
    ModuleName ::=
Packit 022b05
                  -- identifier must start with uppercase letter
Packit 022b05
                  identifier ModuleIdentifier
Packit 022b05
                  -- must not be empty unless contained
Packit 022b05
                  -- in MIB Module
Packit 022b05
                | empty
Packit 022b05
    ModuleIdentifier ::=
Packit 022b05
                  value(OBJECT IDENTIFIER)
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    MandatoryPart ::=
Packit 022b05
                  "MANDATORY-GROUPS" "{" Groups "}"
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Groups ::=
Packit 022b05
                  Group
Packit 022b05
                | Groups "," Group
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    Group ::=
Packit 022b05
                  value(OBJECT IDENTIFIER)
Packit 022b05
Packit 022b05
    CompliancePart ::=
Packit 022b05
                  Compliances
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Compliances ::=
Packit 022b05
                  Compliance
Packit 022b05
                | Compliances Compliance
Packit 022b05
    Compliance ::=
Packit 022b05
                  ComplianceGroup
Packit 022b05
                | Object
Packit 022b05
Packit 022b05
    ComplianceGroup ::=
Packit 022b05
                  "GROUP" value(OBJECT IDENTIFIER)
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
Packit 022b05
    Object ::=
Packit 022b05
                  "OBJECT" value(ObjectName)
Packit 022b05
                  InstallSyntaxPart                   -- modified
Packit 022b05
                  AccessPart
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
Packit 022b05
    -- must be a refinement for object's SYNTAX clause
Packit 022b05
    InstallSyntaxPart ::= "SYNTAX" Syntax
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Syntax ::=    -- Must be one of the following:
Packit 022b05
                       -- a base type (or its refinement),
Packit 022b05
                       -- a textual convention (or its refinement), or
Packit 022b05
                       -- a BITS pseudo-type
Packit 022b05
                  type
Packit 022b05
                | "BITS" "{" NamedBits "}"
Packit 022b05
Packit 022b05
    NamedBits ::= NamedBit
Packit 022b05
                | NamedBits "," NamedBit
Packit 022b05
Packit 022b05
    NamedBit ::= identifier "(" number ")" -- number is nonnegative
Packit 022b05
Packit 022b05
    AccessPart ::=
Packit 022b05
                  "PIB-MIN-ACCESS" Access            -- modified
Packit 022b05
                | empty
Packit 022b05
    Access ::=                                       -- modified
Packit 022b05
                  "not-accessible"
Packit 022b05
                | "install"
Packit 022b05
                | "notify"
Packit 022b05
                | "install-notify"
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                | "report-only"
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
END
Packit 022b05
Packit 022b05
-- definition of textual conventions
Packit 022b05
Packit 022b05
TEXTUAL-CONVENTION MACRO ::=
Packit 022b05
BEGIN
Packit 022b05
    TYPE NOTATION ::=
Packit 022b05
                  DisplayPart
Packit 022b05
                  "STATUS" Status
Packit 022b05
                  "DESCRIPTION" Text
Packit 022b05
                  ReferPart
Packit 022b05
                  "SYNTAX" Syntax
Packit 022b05
Packit 022b05
    VALUE NOTATION ::=
Packit 022b05
                   value(VALUE Syntax)      -- adapted ASN.1
Packit 022b05
Packit 022b05
    DisplayPart ::=
Packit 022b05
                  "DISPLAY-HINT" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    Status ::=
Packit 022b05
                  "current"
Packit 022b05
                | "deprecated"
Packit 022b05
                | "obsolete"
Packit 022b05
Packit 022b05
    ReferPart ::=
Packit 022b05
                  "REFERENCE" Text
Packit 022b05
                | empty
Packit 022b05
Packit 022b05
    -- a character string as defined in [SMI]
Packit 022b05
    Text ::= value(IA5String)
Packit 022b05
Packit 022b05
    Syntax ::=   -- Must be one of the following:
Packit 022b05
                       -- a base type (or its refinement), or
Packit 022b05
                       -- a BITS pseudo-type
Packit 022b05
                  type
Packit 022b05
                | "BITS" "{" NamedBits "}"
Packit 022b05
Packit 022b05
    NamedBits ::= NamedBit
Packit 022b05
                | NamedBits "," NamedBit
Packit 022b05
Packit 022b05
    NamedBit ::=  identifier "(" number ")" -- number is nonnegative
Packit 022b05
Packit 022b05
END
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
END