Annotation of 43BSDReno/contrib/isode-beta/snmp/snmp.py, revision 1.1.1.1

1.1       root        1: -- snmp.py - SNMP definitions
                      2:     
                      3: -- $Header: /f/osi/snmp/RCS/snmp.py,v 7.4 90/06/23 17:01:21 mrose Exp $
                      4: --
                      5: -- Contributed by NYSERNet Inc.  This work was partially supported by the
                      6: -- U.S. Defense Advanced Research Projects Agency and the Rome Air Development
                      7: -- Center of the U.S. Air Force Systems Command under contract number
                      8: -- F30602-88-C-0016.
                      9: --
                     10: --
                     11: -- $Log:       snmp.py,v $
                     12: -- Revision 7.4  90/06/23  17:01:21  mrose
                     13: -- update
                     14: -- 
                     15: -- Revision 7.3  90/06/21  21:27:34  mrose
                     16: -- snmpt
                     17: -- 
                     18: -- Revision 7.2  90/05/13  15:55:16  mrose
                     19: -- update
                     20: -- 
                     21: -- Revision 7.1  90/01/11  18:34:28  mrose
                     22: -- real-sync
                     23: -- 
                     24: -- Revision 7.0  89/11/23  22:23:24  mrose
                     25: -- Release 6.0
                     26: -- 
                     27: 
                     28: --
                     29: --                               NOTICE
                     30: --
                     31: --    Acquisition, use, and distribution of this module and related
                     32: --    materials are subject to the restrictions of a license agreement.
                     33: --    Consult the Preface in the User's Manual for the full terms of
                     34: --    this agreement.
                     35: --
                     36: --
                     37: 
                     38: 
                     39: --* RFC1098-SNMP *-- SNMP DEFINITIONS ::=
                     40: 
                     41: BEGIN
                     42: 
                     43: -- these are defined below for brevity
                     44: -- IMPORTS
                     45: --     ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
                     46: --         From RFC1065-SMI;
                     47: 
                     48: 
                     49: -- top-level message
                     50:     
                     51: Message ::=
                     52:         SEQUENCE {
                     53:             version                    -- version-1 for this RFC
                     54:                 INTEGER {
                     55:                     version-1(0)
                     56:                 },
                     57: 
                     58:             community                  -- community name
                     59:                 OCTET STRING,
                     60: 
                     61:             data                       -- e.g., PDUs if trivial
                     62:                 --* ANY *-- PDUs       -- authentication is being used
                     63:         }
                     64: 
                     65: 
                     66: -- protocol data units
                     67: 
                     68: PDUs ::=
                     69:         CHOICE {
                     70:             get-request
                     71:                 GetRequest-PDU,
                     72: 
                     73:             get-next-request
                     74:                 GetNextRequest-PDU,
                     75: 
                     76:             get-response
                     77:                 GetResponse-PDU,
                     78: 
                     79:             set-request
                     80:                 SetRequest-PDU,
                     81: 
                     82:             trap
                     83:                 Trap-PDU
                     84:         }
                     85: 
                     86: GetRequest-PDU ::=
                     87:     [0]
                     88:         IMPLICIT PDU
                     89: 
                     90: GetNextRequest-PDU ::=
                     91:     [1]
                     92:         IMPLICIT PDU
                     93: 
                     94: GetResponse-PDU ::=
                     95:     [2]
                     96:         IMPLICIT PDU
                     97: 
                     98: SetRequest-PDU ::=
                     99:     [3]
                    100:         IMPLICIT PDU
                    101: 
                    102: PDU ::=
                    103:         SEQUENCE {
                    104:             request-id
                    105:                 INTEGER,
                    106: 
                    107:             error-status               -- sometimes ignored
                    108:                 INTEGER {
                    109:                     noError(0),
                    110:                     tooBig(1),
                    111:                     noSuchName(2),
                    112:                     badValue(3),
                    113:                     readOnly(4),
                    114:                     genErr(5)
                    115:                 },
                    116: 
                    117:             error-index                        -- sometimes ignored
                    118:                 INTEGER,
                    119: 
                    120:             variable-bindings          -- values are sometimes ignored
                    121:                 VarBindList
                    122:         }
                    123: 
                    124: Trap-PDU ::=
                    125:     [4]
                    126:         IMPLICIT SEQUENCE {
                    127:             enterprise                 -- type of object generating
                    128:                 OBJECT IDENTIFIER,     -- trap, see sysObjectID
                    129: 
                    130:             agent-addr                 -- address of object generating trap
                    131:                 NetworkAddress,
                    132: 
                    133:             generic-trap               -- generic trap type
                    134:                 INTEGER {
                    135:                     coldStart(0),
                    136:                     warmStart(1),
                    137:                     linkDown(2),
                    138:                     linkUp(3),
                    139:                     authenticationFailure(4),
                    140:                     egpNeighborLoss(5),
                    141:                     enterpriseSpecific(6)
                    142:                 },
                    143: 
                    144:             specific-trap              -- specific code, present even
                    145:                 INTEGER,               -- if generic-trap is not
                    146:                                        -- enterpriseSpecific
                    147: 
                    148:             time-stamp                 -- time elapsed between the last
                    149:                 TimeTicks,             -- (re)initalization of the network
                    150:                                        -- entity and the generation of the
                    151:                                        -- trap
                    152: 
                    153:             variable-bindings          -- "interesting" information
                    154:                 VarBindList
                    155:         }
                    156: 
                    157: VarBind ::=
                    158:         SEQUENCE {
                    159:             name
                    160:                 ObjectName,
                    161: 
                    162:             value
                    163:                 ObjectSyntax
                    164:         }
                    165: 
                    166: VarBindList ::=
                    167:         SEQUENCE OF
                    168:             VarBind
                    169: 
                    170: 
                    171: 
                    172: -- types from RFC1065-SMI
                    173: 
                    174: ObjectName ::=
                    175:        OBJECT IDENTIFIER
                    176: 
                    177: ObjectSyntax ::=
                    178:        ANY
                    179: 
                    180: NetworkAddress ::=
                    181:     CHOICE {
                    182:        internet
                    183:            IpAddress
                    184:     }
                    185: 
                    186: IpAddress ::=
                    187:     [APPLICATION 0]            -- in network-byte order
                    188:         IMPLICIT OCTET STRING (SIZE (4))
                    189:     
                    190: TimeTicks ::=
                    191:     [APPLICATION 3]
                    192:        IMPLICIT INTEGER
                    193: 
                    194: ClnpAddress ::=
                    195:     [APPLICATION 5]
                    196:        IMPLICIT OCTET STRING (SIZE (1..21))
                    197: 
                    198: 
                    199: -- trap logging (snmpt)
                    200: 
                    201: Audit ::=
                    202:        SEQUENCE {
                    203:            source
                    204:                DisplayString,
                    205: 
                    206:            dateAndTime
                    207:                GeneralizedTime,
                    208: 
                    209:            sizeOfEncodingWhichFollows
                    210:                INTEGER
                    211:        }
                    212: 
                    213: -- SMUX (experimental)
                    214: 
                    215: -- IMPORTS
                    216: --    DisplayString, ObjectName
                    217: --     FROM RFC1155-SMI
                    218: 
                    219: --    PDUs
                    220: --     FROM RFC1157-SNMP;
                    221: 
                    222: DisplayString ::=
                    223:     OCTET STRING
                    224: 
                    225: 
                    226: -- tags for SMUX-specific PDUs are application-wide to avoid conflict with
                    227: -- tags for current (and future) SNMP-generic PDUs
                    228: 
                    229: SMUX-PDUs ::=
                    230:     CHOICE {
                    231:        open                    -- SMUX initiator uses
                    232:            OpenPDU,            -- immediately after TCP open
                    233: 
                    234:        close                   -- either uses immediately before TCP close
                    235:            ClosePDU,
                    236: 
                    237:        registerRequest         -- SMUX initiator uses
                    238:            RReqPDU,
                    239: 
                    240:        registerResponse        -- SNMP agent uses
                    241:            RRspPDU,
                    242: 
                    243:        PDUs                    -- note that roles are reversed:
                    244:                                --   SNMP agent does get/get-next/set
                    245:                                --   SMUX initiator does get-response/trap
                    246:     }
                    247: 
                    248: 
                    249: -- open PDU
                    250: -- currently only simple authentication
                    251: 
                    252: OpenPDU ::=
                    253:     CHOICE {
                    254:        simple
                    255:            SimpleOpen
                    256:     }
                    257: 
                    258: SimpleOpen ::=
                    259:     [APPLICATION 0] IMPLICIT
                    260:        SEQUENCE {
                    261:            version             -- of SMUX protocol
                    262:                INTEGER {
                    263:                    version-1(0)
                    264:                },
                    265: 
                    266:            identity            -- of SMUX initiator, authoritative
                    267:                OBJECT IDENTIFIER,
                    268: 
                    269:            description         -- of SMUX initiator, implementation-specific
                    270:                DisplayString,
                    271: 
                    272:            password            -- zero length indicates no authentication
                    273:                OCTET STRING
                    274:        }
                    275: 
                    276: 
                    277: -- close PDU
                    278: 
                    279: ClosePDU ::=
                    280:     [APPLICATION 1] IMPLICIT
                    281:        INTEGER {
                    282:            goingDown(0), 
                    283:            unsupportedVersion(1),
                    284:            packetFormat(2),
                    285:            protocolError(3),
                    286:            internalError(4),
                    287:            authenticationFailure(5)
                    288:        }
                    289: 
                    290: 
                    291: -- insert PDU
                    292: 
                    293: RReqPDU ::=
                    294:     [APPLICATION 2] IMPLICIT
                    295:        SEQUENCE {
                    296:            subtree
                    297:                ObjectName,
                    298: 
                    299:            priority            -- the lower the better, "-1" means default
                    300:                INTEGER (-1..2147483647),
                    301: 
                    302:            operation
                    303:                INTEGER {
                    304:                    delete(0),
                    305:                    readOnly(1),
                    306:                    readWrite(2)
                    307:                }
                    308:        }
                    309: 
                    310: RRspPDU ::=
                    311:     [APPLICATION 3] IMPLICIT
                    312:        INTEGER {
                    313:            failure(-1)
                    314: 
                    315:            -- on success the non-negative priority is returned
                    316:        }
                    317: 
                    318: END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.