home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-snmpv3-lpm-01.txt < prev    next >
Text File  |  1997-05-12  |  63KB  |  1,890 lines

  1.  
  2.  
  3.  
  4.                 Local Processing Model for version 3 of the
  5.                 Simple Network Management Protocol (SNMPv3)
  6.  
  7.                              09 May 1997
  8.  
  9.  
  10.                              Bert Wijnen
  11.                        IBM T. J. Watson Research
  12.                           wijnen@vnet.ibm.com
  13.  
  14.                             Randy Presuhn
  15.                           BMC Software, Inc.
  16.                            rpresuhn@bmc.com
  17.  
  18.                             Keith McCloghrie
  19.                           Cisco Systems, Inc.
  20.                              kzm@cisco.com
  21.  
  22.  
  23.                     <draft-ietf-snmpv3-lpm-01.txt>
  24.  
  25.  
  26.                           Status of this Memo
  27.  
  28. This document is an Internet-Draft.  Internet-Drafts are working
  29. documents of the Internet Engineering Task Force (IETF), its areas,
  30. and its working groups.  Note that other groups may also distribute
  31. working documents as Internet-Drafts.
  32.  
  33. Internet-Drafts are draft documents valid for a maximum of six months
  34. and may be updated, replaced, or obsoleted by other documents at any
  35. time.  It is inappropriate to use Internet- Drafts as reference
  36. material or to cite them other than as ``work in progress.''
  37.  
  38. To learn the current status of any Internet-Draft, please check the
  39. ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow
  40. Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe),
  41. ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  42.  
  43.  
  44.  
  45.                           Abstract
  46.  
  47. This document describes the Local Processing Model (LPM) for SNMP
  48. version 3 for use in the SNMPng architecture [SNMPng-ARCH].  This
  49. document defines the Elements of Procedure for accessing local
  50. management information.  This document also includes a MIB for remotely
  51. monitoring/managing the configuration parameters for this LPM.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  1]
  59.  
  60. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  61.  
  62.  
  63. 0.  Issues
  64.   - Does access control belong in LPM or in Security
  65.   - How to do access control for Notifications
  66.   - Interdependencies for contextTable, acTable, viewTable and
  67.     subtreeFamilyTable
  68.   - Should we expect specific PDU-types or can we assume MPC has
  69.     done that checking.
  70.   - Should we use UTF-8 for human readable names like
  71.     contextName, viewName, groupName etc.
  72.   - indexing of the viewTable by integer or viewName
  73.   - do we need a contextTable or should we rely on entityMIB
  74.   - acknowledgements needs expansion
  75.  
  76.  
  77. 0.1  Change Log
  78.  
  79. [version 2.0]
  80.   - Modifications as agreed at Memphis
  81.     - Introduction and Terminology shortened, add ptr to Architecture
  82.     - Follow new terminology (I may have missed some)
  83.     - Trap Destinations and Trap Generation is now outside LPM
  84.   - fixes/changes as a result of mailing list comments
  85.     - Do away with snmpV3LpAcPrivileges
  86.     - Keep contextTable with juts one column
  87.     - Fix spelling errors (well at least some... we'll run through a
  88.       spell-checker later).
  89.  
  90. [version 1.x]
  91.   - Initial versions before Memphis meeting
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  2]
  118.  
  119. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  120.  
  121.  
  122. 1.  Introduction
  123.  
  124. The architecture for the Next-Generation of the Simple Network
  125. Management Protocol (SNMPng) is composed of multiple subsystems,
  126.   1) a message processing and control subsystem,
  127.   2) a security subsystem,
  128.   3) a local processing subsystem, and
  129.   4) applications.
  130.  
  131. It is important to understand the SNMPng architecture and the
  132. terminology of the architecture to understand where the model
  133. described in this document fits into the architecture and interacts
  134. with other models within the architecture.  The reader is expected to
  135. have read and understood the description of the SNMPng architecture,
  136. as defined in [SNMPng-ARCH].
  137.  
  138. The Local Processing subsystem of an SNMP engine interacts with the
  139. Message Processing and Control subsystem using data elements defined
  140. by the Message Processing and Control model, within the constraints
  141. of the Architecture.
  142.  
  143. A Local Processing model has the responsibility for processing the
  144. SNMP PDUs that operate on local instrumentation.  As such, the Local
  145. Processing model applies access control and invokes method routines
  146. to access management information and then prepares a response to the
  147. received SNMP request.
  148.  
  149. It is the purpose of this document to define a specific model of the
  150. Local Processing subsystem, designated the SNMP version 3 Local
  151. Processing model.
  152.  
  153. 1.2  Local Processing
  154.  
  155. Local Processing may occur in an SNMPv3 engine acting in an agent
  156. role in response to SNMPv3 request messages from an SNMPv3
  157. engine acting in a manager role.  These request messages include
  158. these types of operations: GetRequest, GetNextRequest, GetBulkRequest,
  159. and SetRequest operations.
  160.  
  161. Local Processing only occurs if the request is targeted at local
  162. management information as determined by the contextEngineID in the
  163. Naming-Scope of a scopedPDU. It is the Message Processing and
  164. Control module that determines if the contextEngineID refers to the
  165. current (local) SNMPv3 engine and if so, to direct the scopedPDU to
  166. the Local Processing module.
  167.  
  168. Local Processing almost always results in the production
  169. of a response, (sometimes including error or other exceptional
  170. indicators), termed the Response-PDU.
  171.  
  172. Local Processing can also result in the production of an
  173.  
  174.  
  175.  
  176. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  3]
  177.  
  178. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  179.  
  180.  
  181. error report, termed the Report-PDU.
  182.  
  183. 1.3  Local Configuration Datastore
  184.  
  185. To implement the model described in this document, each SNMPv3
  186. engine needs to retain its own set of information about access
  187. rights and policies, and the like.  This set of information is
  188. called the SNMPv3 engine's Local Configuration Datastore (LCD)
  189. because it is locally-stored information.
  190.  
  191. In order to allow an SNMPv3 engine's LCD to be remotely configured,
  192. portions of the LCD need to be accessible as managed objects.
  193. A MIB module, the SNMPv3 Local Processing Model Configuration MIB,
  194. which defines these managed object types is included in this document.
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  4]
  236.  
  237. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  238.  
  239.  
  240. 2.  Elements of the Model
  241.  
  242. This section contains definitions to realize the access control
  243. applied by this Local Processing Model.
  244.  
  245. 2.1  Groups
  246.  
  247. A groupName identifies a group (set) of zero or more security
  248. entities on whose behalf SNMP management objects are being accessed.
  249. It is the responsibility of the Message Processing and Control module
  250. (MPC) to determine in an authoritative manner for which groupName an
  251. incoming SNMP request is being processed.
  252.  
  253. This SNMPv3 Local Processing model requires the groupName to be passed
  254. as input to the Local Processing module when a PDU is handed to it for
  255. processing.
  256.  
  257. 2.2  Level of Security (LoS)
  258.  
  259. The LoS identifies the Level of Security (in terms of message
  260. security) used for transmitting the SNMP message.
  261. It is the responsibility of the Message Processing and Control module
  262. to determine in an authoritative manner the LoS that was used for an
  263. incoming SNMP message. It is the responsibility of the Local Processing
  264. module to take the LoS into consideration when applying access control.
  265.  
  266. This Local Processing Model recognizes three different LoS levels:
  267.  
  268.    - without authentication and without privacy
  269.  
  270.    - with authentication but without privacy
  271.  
  272.    - with authentication and with privacy
  273.  
  274. This Local Processing Model requires the LoS to be passed as input
  275. to the Local Processing module when a message is handed to it for
  276. local processing.
  277.  
  278. 2.3  Contexts
  279.  
  280. An SNMP context is a collection of management information
  281. accessible by an SNMP agent.  An item of management information
  282. may exist in more than one context.  An SNMP agent potentially
  283. has access to many contexts.
  284.  
  285. 2.4  scopedPDU
  286.  
  287. A scopedPDU contains a Naming-Scope that unambiguously
  288. identifies an SNMP agent and the context, (locally) accessible
  289. by that agent, to which the SNMP management information
  290. in the SNMP-PDU refers.
  291.  
  292.  
  293.  
  294. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  5]
  295.  
  296. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  297.  
  298.  
  299.  
  300. A Naming-Scope contains a contextEngineID that unambiguously
  301. identifies the SNMP agent which has (local) access to the management
  302. information referred to by the contextName and the SNMP-PDU.
  303.  
  304. A Naming-Scope contains a contextName which unambiguously
  305. identifies an SNMP context accessible by the SNMP agent to
  306. which the SNMP-PDU is directed.
  307.  
  308. It is the responsibility of the Message Processing and Control module
  309. to determine in an authoritative manner if the contextEngineID refers
  310. to the current (local) SNMPv3 engine and if so to direct the SNMP
  311. message to the Local Processing module for local processing.
  312.  
  313. This Local Processing Model requires the scopedPDU to be passed as
  314. input to the Local Processing module if a message is handed to it.
  315.  
  316. Editor's notes:
  317.          We (Keith, Randy and Bert) believe it would be better
  318.          to not use a scopedPDU as input/output to the LPM but
  319.          instead use contextName plus PDU as input/output.
  320.          After all, the contextEngineID is irrelevant in the
  321.          LPM and is in fact only used/known in the MPC.
  322. End Editor's notes.
  323.  
  324. 2.5  Access Policy
  325.  
  326. The access policy of this Local Processing model determines the access
  327. rights of groups (representing zero, one or more security entities
  328. which have the same access rights).  For a particular context
  329. (contextName) to which a group (groupName) has access using
  330. a particular Level of Security (LoS), that group's access rights
  331. are given by a list of authorized operations, and a read-view and a
  332. write-view.  The read-view is the set of object instances authorized
  333. for the group when reading objects.  Reading objects occurs
  334. when processing a retrieval (Get, GetNext, GetBulk) operation
  335. and when sending a notification (Trap).
  336. The write-view is the set of object instances authorized for
  337. the group when writing objects.  Writing objects occurs when
  338. processing a Set operation.
  339.  
  340. 2.6.  Error Reporting
  341.  
  342. Editor's notes:
  343.          (additional) pieces of this should be specified
  344.          in the MPC and Security Model. MPC does not do
  345.          any details on error reporting yet, so here it is
  346. End Editor's notes.
  347.  
  348. While processing a received communication, an SNMPv3 engine may
  349. determine that the message is unacceptable.  In this case,
  350.  
  351.  
  352.  
  353. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  6]
  354.  
  355. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  356.  
  357.  
  358. the appropriate error counter is incremented and the received
  359. message is discarded without further processing.
  360.  
  361. If an SNMPv3 engine is processing a received Get, GetNext,
  362. GetBulk, Set or Inform PDU and determines that a message is
  363. unacceptable and the reportableFlag indicates that a report
  364. may be generated, then after incrementing the appropriate
  365. counter, it is required to generate a message containing a
  366. report PDU, with the same context as the received message,
  367. and to send it to the transport address which originated
  368. the received message.  For all report PDUs, generated by
  369. the Local Processing module, the Level of Security (LoS)
  370. for sending the report-PDU is unauthenticated.
  371. -- Editor's note:
  372.    There were some opinions in the SNMPv3 mailing list that the
  373.    reports should be send with same LoS if at all possible.
  374.    Originally the v2adv team had agreed that all report PDUs would
  375.    travel unauthenticated (except for notInTimeWindow).
  376.    The editors still think that this indeed is best.
  377. -- End Editor's note
  378.  
  379. -- Editor's note:
  380.    The following about the reportableFlag is already specified in
  381.    MPC document, so maybe we do not need to repeat it here?
  382. -- End editor's note
  383. The reportableFlag should never be set for a message that
  384. contains a Response, SNMPv2-Trap or Report operation.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  7]
  413.  
  414. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  415.  
  416.  
  417. 3.  Elements of Procedure
  418.  
  419. This section describes the procedures followed by the Local Processing
  420. module that implements this Local Processing Model when processing or
  421. generating a scopedPDU.  For clarity, some of the details of this
  422. procedure are left out and are described in Section 3.1.1 and its
  423. sub-sections.
  424.  
  425. 3.1  Processing a Received scopedPDU
  426.  
  427. This section describes the procedure followed by the Local Processing
  428. module whenever it receives a scopedPDU for local processing.
  429.  
  430. (1)  The PDU portion of the scopedPDU is processed.  If the
  431.      serialized PDU value is not the serialization (according to
  432.      the conventions of [RFC1906]) of a PDU value, then the
  433.      snmpInASNParseErrs counter [RFC1907] is incremented,
  434.      and the received scopedPDU is discarded without further
  435.      processing. An error indication is returned to the calling
  436.      module.
  437.  
  438. (2)  The SNMPv2 operation type is determined from the ASN.1 tag
  439.      value associated with the PDUs component.
  440.  
  441. (3)  If the SNMPv2 operation type is either a Response, SNMPv2-Trap,
  442.      Inform or Report operation, then the snmpV3UnauthorizedOperations
  443.      counter is incremented. Then:
  444.      - If the SNMPv2 operation type is an Inform operation, then an
  445.        error report is generated.
  446.      - The scopedPDU is discarded without further processing.
  447.      - An error indication is returned to the calling module.
  448.  
  449. Editor's notes:
  450.          the above PDU-types should not be passed to the LPM.
  451.          So it seems that the MPC also must define some SNMP
  452.          PDU processing for Report, Response, Trap, Inform.
  453.  
  454.          I first thought we could return a response with an
  455.          authorizationError (in SNMP PDU)...
  456.          On second thoughts, we cannot do that because we cannot
  457.          return a response to a Response, Trap or Report.
  458.          We can also not return a report to a Response, Trap or
  459.          Report. So I think the above is the best we can do.
  460. End Editor's notes.
  461.  
  462. (4)  The LCD is consulted for information about the SNMP context
  463.      identified by the contextName.  If information about this SNMP
  464.      context is absent from the LCD, then the
  465.      snmpV3LpStatsUnknownContexts counter is incremented, a report
  466.      PDU [RFC1905] is generated, and the received scopedPDU is
  467.      discarded without further processing.
  468.  
  469.  
  470.  
  471. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  8]
  472.  
  473. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  474.  
  475.  
  476.  
  477. Editor's notes:
  478.          The above means we have a contextTable within LPM.
  479.          We had some discussion on this on the mailing list and it
  480.          seems most people feel it is useful to have a contextTable.
  481. End Editor's notes.
  482.  
  483. (5)  The LCD is consulted for information about the SNMP group
  484.      identified by the groupName.  If information about this SNMP
  485.      group is absent from the LCD, then the snmpV3LpStatsUnknownGroups
  486.      counter is incremented, a report PDU [RFC1905] is generated,
  487.      and the received scopedPDU is discarded without further
  488.      processing. Note that a group is considered to be known if
  489.      the groupName is used as an index in the snmpV3LpAcTable and
  490.      has at least one row with a status of "active".
  491.  
  492. (6)  If the SNMPv2 operation type is either a Get, GetNext, GetBulk, or
  493.      Set operation, then:
  494.  
  495.      a) the LCD is consulted for access rights authorized for
  496.         communications using the indicated LoS, on behalf of the
  497.         indicated group, and concerning management information in
  498.         the indicated context for the particular SNMPv2 operation
  499.         type. A Get, GetNext and GetBulk represent a read operation
  500.         type (for which a read-view must exist) and a Set represents
  501.         a write operation type (for which a write-view must exist).
  502.  
  503.      b) if the SNMPv2 operation type is not among the authorized
  504.         access rights, then a response-PDU is prepared with the
  505.         error-index set to zero and the error-status set to
  506.         authorizationError [RFC1905]. The response-PDU is returned
  507.         to the calling module.
  508.  
  509.      c) the management operation represented by the SNMPv2 operation
  510.         type is performed by the receiving LPM with respect to the
  511.         relevant MIB view within the SNMP context according to
  512.         the procedures set forth in [RFC1905], where the relevant
  513.         MIB view is determined according to the contextName,
  514.         groupName and the LoS values and the SNMPv2 operation
  515.         type requested.
  516.  
  517.      d) An SNMPv2 Response-PDU is produced and presented to the
  518.         calling module for further processing.
  519.         The LPM uses the scopedPDU-MMS to ensure that the
  520.         produced Response-PDU does not exceed the maximum
  521.         message size.
  522.  
  523. (7)  If the SNMPv2 operation type is anything that has not yet been
  524.      processed, then it is an unknown PDU-type. The
  525.      snmpV3UnauthorizedOperations counter is incremented and the
  526.      received scopedPDU is discarded without further processing.
  527.  
  528.  
  529.  
  530. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page  9]
  531.  
  532. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  533.  
  534.  
  535.      An error indication is returned to the calling module.
  536.  
  537. 3.1.1.  Additional Details
  538.  
  539.    For the sake of clarity and to prevent the above procedure from being
  540.    even longer, the following details were omitted from the above
  541.    procedure.
  542.  
  543. 3.1.1.1.  ASN.1 Parsing Errors
  544.  
  545.    For ASN.1 parsing errors, the snmpInASNParseErrs counter [RFC1907] is
  546.    incremented and a report PDU is generated whenever such an ASN.1
  547.    parsing error is discovered.  However, if the parsing error causes
  548.    the information able to be extracted from the message to be
  549.    insufficient for generating a report PDU, then the report PDU is not
  550.    sent.
  551.  
  552. 3.1.1.2.  Generation of a Report PDU
  553.  
  554.    Some steps specify that the received scopedPDU is discarded without
  555.    further processing whenever a report PDU is generated.  However:
  556.  
  557.    -  If the operation type can reliably be determined and it is
  558.       determined to be a Report, SNMPv2-Trap, or a Response then a
  559.       report PDU is not generated.
  560.  
  561.    -  A report PDU is only generated when the reportableFlag is set
  562.       to the value 1.
  563.  
  564.    A generated report PDU must always use the current values of
  565.    snmpEngineID, engineBoots, and engineTime from the LCD.  In addition,
  566.    a generated report PDU must contain the same msgID value as in the
  567.    received message.
  568.  
  569. -- Editor's note:
  570.             Sounds on the mailing list that we need to allow
  571.             access control checking for Notifications that must be
  572.             generated by the F-Ts. Once the decision is made we
  573.             can add text here.
  574. -- End Editor's note
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 10]
  590.  
  591. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  592.  
  593.  
  594. 4.  Definitions
  595.  
  596. SNMPV3-LP-MIB DEFINITIONS ::= BEGIN
  597.  
  598. IMPORTS
  599.     Counter32, Unsigned32,
  600.     MODULE-IDENTITY, OBJECT-TYPE, snmpModules  FROM SNMPv2-SMI
  601.     TEXTUAL-CONVENTION, TestAndIncr,
  602.     RowStatus, AutonomousType, StorageType,
  603.     TDomain, TAddress                          FROM SNMPv2-TC
  604.     MODULE-COMPLIANCE, OBJECT-GROUP            FROM SNMPv2-CONF,
  605.     SnmpV3GroupName, SnmpV3ContextName,
  606.     SnmpV3LoS, SnmpV3EngineID,
  607.     SnmpV3SecurityModel                        FROM SNMPv3-MIB;
  608.  
  609.  
  610. snmpV3LpMIB MODULE-IDENTITY
  611.     LAST-UPDATED "9705090000Z"     -- 09 May 1997, midnight
  612.     ORGANIZATION "SNMPv3 Working Group"
  613.     CONTACT-INFO "WG-email:   snmpv3@tis.com
  614.                   Subscribe:  majordomo@tis.com
  615.                               In msg body:  subscribe snmpv3
  616.  
  617.                   Chair:      Russ Mundy
  618.                               Trutsed Information Systems
  619.                   postal:     3060 Washington Rd
  620.                               Glenwood MD 21738
  621.                   email:      mundy@tis.com
  622.                   phone:      301-854-6889
  623.  
  624.                   Co-editor:  Bert Wijnen
  625.                               IBM T.J. Watson Research
  626.                   postal:     Schagen 33
  627.                               3461 GL Linschoten
  628.                               Netherlands
  629.                   email:      wijnen@vnet.ibm.com
  630.                   phone:      +31-348-412-498
  631.  
  632.                   Co-editor   Dave Harrington
  633.                               Cabletron Systems, Inc
  634.                   postal:     Post Office Box 5005
  635.                               MailStop: Durham
  636.                               35 Industrial Way
  637.                               Rochester NH 03867-5005
  638.                   email:      dbh@cabletron.com
  639.                   phone:      603-337-7357
  640.                  "
  641.  
  642.     DESCRIPTION  "The management information definitions for the
  643.                   SNMPv3 Local Processing Model.
  644.                  "
  645.  
  646.  
  647.  
  648. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 11]
  649.  
  650. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  651.  
  652.  
  653.     ::= { snmpModules xx }
  654.  
  655. -- Administrative assignments ****************************************
  656.  
  657. snmpV3LpMIBObjects      OBJECT IDENTIFIER ::= { snmpV3LpMIB 1 }
  658. snmpV3LpMIBConformance  OBJECT IDENTIFIER ::= { snmpV3LpMIB 2 }
  659.  
  660. -- SNMPv3 Statistics for Local Processing ****************************
  661.  
  662. snmpV3LpStats OBJECT IDENTIFIER ::= { snmpV3LpMIBObjects 1 }
  663.  
  664. snmpV3LpStatsUnknownContexts OBJECT-TYPE
  665.     SYNTAX       Counter32
  666.     MAX-ACCESS   read-only
  667.     STATUS       current
  668.     DESCRIPTION "The total number of packets received by the SNMPv3
  669.                  engine which were dropped because they referenced a
  670.                  context that was not known to the engine.
  671.                 "
  672.     ::= { snmpV3LpStats 1 }
  673.  
  674. snmpV3LpStatsUnknownGroups OBJECT-TYPE
  675.     SYNTAX       Counter32
  676.     MAX-ACCESS   read-only
  677.     STATUS       current
  678.     DESCRIPTION "The total number of packets received by the SNMPv3
  679.                  engine which were dropped because the security identity
  680.                  mapped onto a group that was not known to the engine
  681.                  (the group has no access at all to the specified
  682.                  context).
  683.                 "
  684.     ::= { snmpV3LpStats 2 }
  685.  
  686. snmpV3LpStatsUnauthorizedOperations OBJECT-TYPE
  687.     SYNTAX       Counter32
  688.     MAX-ACCESS   read-only
  689.     STATUS       current
  690.     DESCRIPTION "The total number of packets received by the SNMPv3
  691.                  engine which were dropped because the PDU type
  692.                  referred to an operation that is invalid or not
  693.                  authorized.
  694.                 "
  695.     ::= { snmpV3LpStats 3 }
  696.  
  697.  
  698. -- Information about Local Contexts **********************************
  699.  
  700. -- Editor's notes:
  701. --        We're still discussing if the contextTable is needed at all
  702. --        (See Editor's notes in section 3.1 under item 4).
  703. --        For now (May 9) it seems most people want it as a read-only
  704.  
  705.  
  706.  
  707. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 12]
  708.  
  709. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  710.  
  711.  
  712. --        table with just one column.
  713. --        Others still feel that the context info should be obtained
  714. --        from the entityMIB and we should tell that WG to include
  715. --        this info.
  716. -- End Editor's notes.
  717.  
  718. snmpV3LpContextTable OBJECT-TYPE
  719.     SYNTAX       SEQUENCE OF SnmpV3LpContextEntry
  720.     MAX-ACCESS   not-accessible
  721.     STATUS       current
  722.     DESCRIPTION "The table of locally available contexts.
  723.  
  724.                  This table is read-only meaning that SNMP engines
  725.                  in a manager role cannot configure contexts.
  726.  
  727.                  Instead the table is meant to provide input to SNMP
  728.                  engines in a manager role such that they can
  729.                  properly configure the snmpV3LpAcTable to control
  730.                  access to all contexts in an SNMP engine operating
  731.                  in an agent role.
  732.                 "
  733.     ::= { snmpV3LpMIBObjects 2 }
  734.  
  735. snmpV3LpContextEntry OBJECT-TYPE
  736.     SYNTAX       SnmpV3LpContextEntry
  737.     MAX-ACCESS   not-accessible
  738.     STATUS       current
  739.     DESCRIPTION "Information about a particular context."
  740.     INDEX        { IMPLIED snmpV3LpContextName }
  741.     ::= { snmpV3LpContextTable 1 }
  742.  
  743. SnmpV3LpContextEntry ::= SEQUENCE
  744.     {
  745.         snmpV3LpContextName        SnmpV3ContextName
  746.     }
  747.  
  748. snmpV3LpContextName OBJECT-TYPE
  749.     SYNTAX       SnmpV3ContextName
  750.     MAX-ACCESS   read-only
  751.     STATUS       current
  752.     DESCRIPTION "A textual name uniquely identifying a particular
  753.                  context on a particular agent.
  754.                 "
  755.     ::= { snmpV3LpContextEntry 1 }
  756.  
  757. -- Information about Access Rights ***********************************
  758.  
  759. snmpV3LpAcTable  OBJECT-TYPE
  760.     SYNTAX       SEQUENCE OF SnmpV3LpAcEntry
  761.     MAX-ACCESS   not-accessible
  762.     STATUS       current
  763.  
  764.  
  765.  
  766. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 13]
  767.  
  768. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  769.  
  770.  
  771.     DESCRIPTION "The table of group access rights configured in the
  772.                  local configuration datastore (LCD).
  773.                 "
  774.     ::= { snmpV3LpMIBObjects 3 }
  775.  
  776. snmpV3LpAcEntry  OBJECT-TYPE
  777.     SYNTAX       SnmpV3LpAcEntry
  778.     MAX-ACCESS   not-accessible
  779.     STATUS       current
  780.     DESCRIPTION "An access right configured in the local configuration
  781.                  datastore (LCD) authorizing access to a SNMPv3
  782.                  context.
  783.                 "
  784.     INDEX       { snmpV3LpAcContextName,
  785.                   snmpV3LpAcGroupName,
  786.                   snmpV3LpAcLoS
  787.                 }
  788.     ::= { snmpV3LpAcTable 1 }
  789.  
  790. SnmpV3LpAcEntry ::= SEQUENCE
  791.     {
  792.         snmpV3LpAcContextName      SnmpV3ContextName,
  793.         snmpV3LpAcGroupName        SnmpV3GroupName,
  794.         snmpV3LpAcLoS              SnmpV3LoS,
  795.         snmpV3LpAcReadViewIndex    INTEGER,
  796.         snmpV3LpAcWriteViewIndex   INTEGER,
  797.         snmpV3LpAcStorageType      StorageType,
  798.         snmpV3LpAcStatus           RowStatus
  799.     }
  800.  
  801. snmpV3LpAcContextName OBJECT-TYPE
  802.     SYNTAX       ContextName
  803.     MAX-ACCESS   not-accessible
  804.     STATUS       current
  805.     DESCRIPTION "The context name which identifies an SNMP context
  806.                  to which this conceptual row grants access rights.
  807.                 "
  808.     ::= { snmpV3LpAcEntry 1 }
  809.  
  810. snmpV3LpAcGroupName OBJECT-TYPE
  811.     SYNTAX       GroupName
  812.     MAX-ACCESS   not-accessible
  813.     STATUS       current
  814.     DESCRIPTION "The group name which identifies an SNMP group
  815.                  to which this conceptual row grants access rights.
  816.                 "
  817.     ::= { snmpV3LpAcEntry 1 }
  818.  
  819. snmpV3LpAcLoS    OBJECT-TYPE
  820.     SYNTAX       SnmpV3LoS
  821.     MAX-ACCESS   not-accessible
  822.  
  823.  
  824.  
  825. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 14]
  826.  
  827. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  828.  
  829.  
  830.     STATUS       current
  831.     DESCRIPTION "The minimum level of security required of messages
  832.                  sent on behalf of an identity belonging to the group
  833.                  in order to gain the access rights allowed by this
  834.                  conceptual row.
  835.                 "
  836.     ::= { snmpV3LpAcEntry 2 }
  837.  
  838. snmpV3LpAcReadViewIndex OBJECT-TYPE
  839.     SYNTAX       INTEGER (0..2147483647)
  840.     MAX-ACCESS   read-create
  841.     STATUS       current
  842.     DESCRIPTION "The value of an instance of this object identifies
  843.                  the MIB view of the SNMP context to which this
  844.                  conceptual row authorizes read access.
  845.                  The identified MIB view is that for which
  846.                  snmpV3LpViewIndex has the same value as the
  847.                  instance of this object; if the value is zero or if
  848.                  there is no active MIB view having this value of
  849.                  snmpV3LpViewIndex, then no access is granted.
  850.  
  851.                  Otherwise, this object is ignored and can take any
  852.                  value at the Local Processing Module's discretion,
  853.                  e.g., zero.
  854.  
  855.                  Note that read access includes access via retrieval
  856.                  requests as well as transmission of information
  857.                  via notifications.
  858. -- Editor's note:
  859.             Notification stuff still under heavy discussion
  860. -- End Editors note
  861.                 "
  862.     DEFVAL      { 0 }
  863.     ::= { snmpV3LpAcEntry 3 }
  864.  
  865.  
  866. snmpV3LpAcWriteViewIndex OBJECT-TYPE
  867.     SYNTAX       INTEGER (0..2147483647)
  868.     MAX-ACCESS   read-create
  869.     STATUS       current
  870.     DESCRIPTION "The value of an instance of this object identifies
  871.                  the MIB view of the SNMPv3 context to which this
  872.                  conceptual row authorizes write access.
  873.                  The identified MIB view is that for which
  874.                  snmpV3LpViewIndex has the same value as the
  875.                  instance of this object; if the value is zero or if
  876.                  there is no active MIB view having this value of
  877.                  snmpV3LpViewIndex, then no access is granted.
  878.  
  879.                  Otherwise, this object is ignored and can take any
  880.                  value at the Local Processing Module's discretion,
  881.  
  882.  
  883.  
  884. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 15]
  885.  
  886. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  887.  
  888.  
  889.                  e.g., zero.
  890.                 "
  891.     DEFVAL      { 0 }
  892.     ::= { snmpV3LpAcEntry 4 }
  893.  
  894. snmpV3LpAcStorageType OBJECT-TYPE
  895.     SYNTAX       StorageType
  896.     MAX-ACCESS   read-create
  897.     STATUS       current
  898.     DESCRIPTION "The storage type for this conceptual row.
  899.                  Conceptual rows having the value 'permanent'
  900.                  need not allow write-access to any columnar
  901.                  objects in the row.
  902.                 "
  903.     DEFVAL      { nonVolatile }
  904.     ::= { snmpV3LpAcEntry 5 }
  905.  
  906. snmpV3LpAcStatus OBJECT-TYPE
  907.     SYNTAX       RowStatus
  908.     MAX-ACCESS   read-create
  909.     STATUS       current
  910.     DESCRIPTION "The status of this conceptual row.
  911.  
  912.                  For those columnar objects which permit write-access,
  913.                  their value in an existing conceptual row can be
  914.                  changed irrespective of the value of snmpV3LpAcStatus
  915.                  for that row.
  916.  
  917. -- Editor's notes:
  918. --          We have discussed the removal of the following. That means
  919. --          stale entries can occur, and so the agent code will have
  920. --          ro be able to deal with it. We're not in agreement yet.
  921. --          So we need to discuss at Interim.
  922. --
  923. --               A conceptual row in this table is not qualified for
  924. --               activation until the context and the group it
  925. --               references are active.  Further, a conceptual row in
  926. --               this table is immediately made notInService whenever
  927. --               the status of the context or the group it references
  928. --               is made notInService, and immediately destroyed
  929. --               whenever the context or the group it references is
  930. --               destroyed.
  931. --
  932. --          There is also a suggestion as follows (DaveL):
  933. --               Why not just have a set of snmpV3LpViewStatus to
  934. --               destroy(6) either:
  935. --               - fail with an inconsistent value error if any
  936. --                 corresponding entries exist in the
  937. --                 snmpV3LpSubtreeFamilyTable, or
  938. --               - result also in deletion of all corresponding entries
  939. --                 in the snmpV3LpSubtreeFamilyTable.
  940.  
  941.  
  942.  
  943. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 16]
  944.  
  945. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  946.  
  947.  
  948. -- End Editor's notes
  949.                 "
  950.     ::= { snmpV3LpAcEntry 6 }
  951.  
  952. -- Information about MIB views ***************************************
  953. -- Support for views having instance-level granularity is optional
  954.  
  955. snmpV3LpViewTable OBJECT-TYPE
  956.     SYNTAX       SEQUENCE OF SnmpV3LpViewEntry
  957.     MAX-ACCESS   not-accessible
  958.     STATUS       current
  959.     DESCRIPTION "The table of locally defined MIB views.
  960.  
  961.                  When an SNMP engine in the manager role wants to
  962.                  create a new MIB view, then it must first create
  963.                  an entry in the snmpV3LpViewTable, using a
  964.                  non-existing index-value for snmpV3LpViewIndex.
  965.                  If the creation of such an entry is successfull,
  966.                  the SNMP engine in the manager role can then start
  967.                  creating entries in the snmpV3LpSubtreeFamiliyTable.
  968.  
  969.                  When deleting MIB views, it is strongly advised that
  970.                  first the related snmpV3LpSubtreeFamilityEntries are
  971.                  deleted from the snmpV3LpSubtreeFamiliyTable and that
  972.                  only upon completion of that deletion process the
  973.                  snmpV3LpViewEntry is deleted from the
  974.                  snmpV3LpViewTable.
  975.  
  976.                  Furthermore, a manager should take great care to
  977.                  delete all the "included" family entries before
  978.                  deleting any of the "excluded" ones.
  979.  
  980.                  Following these procedures there should be no
  981.                  collisions when multiple managers try to update
  982.                  the MIB views at an SNMP engine in an agent role.
  983.  
  984.                  If managers do not follow these procedures then it is
  985.                  agent-implementation dependent as to what the result
  986.                  of possible collisions will be.
  987.                 "
  988.     ::= { snmpV3LpMIBObjects 4 }
  989.  
  990. snmpV3LpViewEntry OBJECT-TYPE
  991.     SYNTAX       SnmpV3LpViewEntry
  992.     MAX-ACCESS   not-accessible
  993.     STATUS       current
  994.     DESCRIPTION "Information on a particular local MIB view."
  995.     INDEX       { snmpV3LpViewIndex }
  996.     ::= { snmpV3LpViewTable 1 }
  997.  
  998. SnmpV3LpViewEntry ::= SEQUENCE
  999.  
  1000.  
  1001.  
  1002. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 17]
  1003.  
  1004. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1005.  
  1006.  
  1007.     {
  1008.         snmpV3LpViewIndex        INTEGER,
  1009.         snmpV3LpViewName         OCTET STRING,
  1010.         snmpV3LpViewStorageType  StorageType,
  1011.         snmpV3LpViewStatus       RowStatus
  1012.     }
  1013.  
  1014. -- Editor's note
  1015.             There were suggestions to use the viewName as the index
  1016.             instead of the viewIndex. But if we do that, then it seems
  1017.             to me that the search through the viewTable can be quite
  1018.             inefficient.
  1019.             Besides, the majority of the v2adv team agreed that we
  1020.             should use an integer for indexing the views.
  1021. -- End Editors note.
  1022.  
  1023. snmpV3LpViewIndex OBJECT-TYPE
  1024.     SYNTAX       INTEGER (1..2147483647)
  1025.     MAX-ACCESS   not-accessible
  1026.     STATUS       current
  1027.     DESCRIPTION "An arbitrary unique value for each MIB view.
  1028.  
  1029. -- Editor's notes:
  1030. --          I am not sure I understand why this should stay the
  1031. --          same. As long as the agent ensures that the mapping
  1032. --          between the acTable's use of viewIndex and the indices
  1033. --          in this viewTable are in sync, then it should be OK.
  1034. --          A manager who wants to add entries to the acTable better
  1035. --          checks the views before it actually changes the acTable.
  1036. --          So I plan to remove this text:
  1037.  
  1038.                  Once assigned, the value for each MIB view must
  1039.                  remain constant for as long as that view is defined,
  1040.                  even across re-initializations of the engine's
  1041.                  network management system.
  1042. -- End Editor's notes.
  1043.  
  1044.                  Thus, the value for a nonVolatile, permanent, or
  1045.                  readOnly (see snmpV3LpViewStorageType) MIB view must
  1046.                  either be stored as part of the system's non-volatile
  1047.                  configuration information, or be able to be
  1048.                  re-generated after each re-initialization.
  1049.  
  1050.                  The specific value is meaningful only within a given
  1051.                  SNMP engine, i.e., it is not meaningful to any
  1052.                  other SNMP engine except to uniquely identify the
  1053.                  view within the set of all views known to this
  1054.                  SNMP engine.
  1055.                 "
  1056.     ::= { snmpV3LpViewEntry 1 }
  1057.  
  1058.  
  1059.  
  1060.  
  1061. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 18]
  1062.  
  1063. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1064.  
  1065.  
  1066. snmpV3LpViewName OBJECT-TYPE
  1067.     SYNTAX       OCTET STRING (SIZE(0..32))
  1068.     MAX-ACCESS   read-create
  1069.     STATUS       current
  1070.     DESCRIPTION "An arbitrary viewName that may help humans recognize
  1071.                  the various MIB views.
  1072.                 "
  1073.     DEFVAL      { "" }
  1074.     ::= { snmpV3LpViewEntry 2 }
  1075.  
  1076.  
  1077. snmpV3LpViewStorageType OBJECT-TYPE
  1078.     SYNTAX       StorageType
  1079.     MAX-ACCESS   read-create
  1080.     STATUS       current
  1081.     DESCRIPTION "The storage type for this conceptual row.
  1082.                  Conceptual rows having the value 'permanent' need
  1083.                  not allow write-access to any columnar objects in
  1084.                  the row.
  1085.                 "
  1086.     DEFVAL      { nonVolatile }
  1087.     ::= { snmpV3LpViewEntry 3 }
  1088.  
  1089. snmpV3LpViewStatus OBJECT-TYPE
  1090.     SYNTAX       RowStatus
  1091.     MAX-ACCESS   read-create
  1092.     STATUS       current
  1093.     DESCRIPTION "The status of this conceptual row."
  1094.     ::= { snmpV3LpViewEntry 4 }
  1095.  
  1096. -- Subtree families of MIB views *************************************
  1097.  
  1098. snmpV3LpSubtreeFamilyTable OBJECT-TYPE
  1099.     SYNTAX       SEQUENCE OF SnmpV3LpSubtreeFamilyEntry
  1100.     MAX-ACCESS   not-accessible
  1101.     STATUS       current
  1102.     DESCRIPTION "Locally held information about families of subtrees
  1103.                  within MIB views.
  1104.  
  1105.                  Each MIB view is defined by two collections of view
  1106.                  subtrees: the included view subtrees, and the
  1107.                  excluded view subtrees.
  1108.                  Every such subtree, both included and excluded,
  1109.                  is defined in this table.
  1110.  
  1111.                  To determine if a particular object instance is in
  1112.                  a particular MIB view, compare the object instance's
  1113.                  OBJECT IDENTIFIER with each of the MIB view's active
  1114.                  entries in this table.  If none match, then the
  1115.                  object instance is not in the MIB view.  If one or
  1116.                  more match, then the object instance is included in,
  1117.  
  1118.  
  1119.  
  1120. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 19]
  1121.  
  1122. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1123.  
  1124.  
  1125.                  or excluded from, the MIB view according to the
  1126.                  value of snmpV3LpSubtreeFamilyType in the entry
  1127.                  whose value of snmpV3LpSubtreeFamilySubtree has the
  1128.                  most sub-identifiers.  If multiple entries match
  1129.                  and have the same number of sub-identifiers, then
  1130.                  the lexicographically greatest instance of
  1131.                  snmpV3LpSubtreeFamilyType determines the inclusion
  1132.                  or exclusion.
  1133.  
  1134.                  An object instance's OBJECT IDENTIFIER X matches an
  1135.                  active entry in this table when the number of
  1136.                  sub-identifiers in X is at least as many as in the
  1137.                  value of snmpV3LpSubtreeFamilySubtree for the entry,
  1138.                  and each sub-identifier in the value of
  1139.                  snmpV3LpSubtreeFamilySubtree matches its
  1140.                  corresponding sub-identifier in X.
  1141.                  Two sub-identifiers match either if the
  1142.                  corresponding bit of snmpV3LpSubtreeFamilyMask is
  1143.                  zero (the 'wild card' value), or if they are equal.
  1144.  
  1145.                  A 'family' of view subtrees is the set of subtrees
  1146.                  defined by a particular combination of values of
  1147.                  snmpV3LpSubtreeFamilySubtree and
  1148.                  snmpV3LpSubtreeFamilyMask.
  1149.                  In the case where no 'wild card' is defined in
  1150.                  snmpV3LpSubtreeFamilyMask, the family of view
  1151.                  subtrees reduces to a single view subtree.
  1152.  
  1153.                  When an SNMPv3 engine in the manager role wants to
  1154.                  create a new MIB view, then it should first create
  1155.                  an entry in the snmpV3LpViewTable, using a
  1156.                  non-existing index-value for snmpV3LpViewIndex.
  1157.                  If the creation of such an entry is successful,
  1158.                  the SNMPv3 engine in the manager role can then start
  1159.                  creating entries in the snmpV3LpSubtreeFamiliyTable.
  1160.  
  1161.                  When deleting MIB views, it is strongly advised that
  1162.                  first the related snmpV3LpSubtreeFamilityEntries are
  1163.                  deleted from the snmpV3LpSubtreeFamiliyTable and that
  1164.                  only upon completion of that deletion process the
  1165.                  snmpV3LpViewEntry is deleted from the
  1166.                  snmpV3LpViewTable.
  1167.  
  1168.                  Following these procedures there should be no
  1169.                  collisions when multiple managers try to update
  1170.                  the MIB views at an SNMPv3 engine in an agent role.
  1171.                 "
  1172.     ::= { snmpV3LpMIBObjects 5 }
  1173.  
  1174. snmpV3LpSubtreeFamilyEntry OBJECT-TYPE
  1175.     SYNTAX       SnmpV3LpSubtreeFamilyEntry
  1176.  
  1177.  
  1178.  
  1179. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 20]
  1180.  
  1181. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1182.  
  1183.  
  1184.     MAX-ACCESS   not-accessible
  1185.     STATUS       current
  1186.     DESCRIPTION "Information on a particular family of view subtrees
  1187.                  included in or excluded from a particular SNMPv3
  1188.                  context's MIB view.  The MIB view must exist
  1189.                  (i.e., be represented by a conceptual row in the
  1190.                  snmpV3LpViewTable) before any subtree families can
  1191.                  be defined for it.
  1192.  
  1193.                  Implementations must not restrict the number of
  1194.                  families of view subtrees for a given MIB view,
  1195.                  except as dictated by resource constraints on the
  1196.                  overall number of entries in the
  1197.                  snmpV3LpSubtreeFamilyTable.
  1198.  
  1199.                  The value of snmpV3LpViewIndex in this INDEX clause
  1200.                  of this table identifies the MIB view in which this
  1201.                  subtree family exists.
  1202.  
  1203.                  A MIB view for which there are no conceptual rows
  1204.                  in this table is the empty set of view subtrees.
  1205.                 "
  1206.     INDEX       { snmpV3LpViewIndex,
  1207.                   IMPLIED snmpV3LpSubtreeFamilySubtree
  1208.                 }
  1209.     ::= { snmpV3LpSubtreeFamilyTable 1 }
  1210.  
  1211. SnmpV3LpSubtreeFamilyEntry ::= SEQUENCE
  1212.     {
  1213.         snmpV3LpSubtreeFamilySubtree      OBJECT IDENTIFIER,
  1214.         snmpV3LpSubtreeFamilyMask         OCTET STRING,
  1215.         snmpV3LpSubtreeFamilyType         INTEGER,
  1216.         snmpV3LpSubtreeFamilyStorageType  StorageType,
  1217.         snmpV3LpSubtreeFamilyStatus       RowStatus
  1218.     }
  1219.  
  1220. snmpV3LpSubtreeFamilySubtree OBJECT-TYPE
  1221.     SYNTAX       OBJECT IDENTIFIER
  1222.     MAX-ACCESS   not-accessible
  1223.     STATUS       current
  1224.     DESCRIPTION "The MIB subtree which when combined with the
  1225.                  corresponding instance of snmpV3LpSubtreeFamilyMask
  1226.                  defines a family of view subtrees.
  1227.                 "
  1228.     ::= { snmpV3LpSubtreeFamilyEntry 1 }
  1229.  
  1230. snmpV3LpSubtreeFamilyMask OBJECT-TYPE
  1231.     SYNTAX       OCTET STRING (SIZE (0..16))
  1232.     MAX-ACCESS   read-create
  1233.     STATUS       current
  1234.     DESCRIPTION "The bit mask which,
  1235.  
  1236.  
  1237.  
  1238. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 21]
  1239.  
  1240. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1241.  
  1242.  
  1243.                  in combination with the corresponding instance of
  1244.                  snmpV3LpSubtreeFamilySubtree, defines a family of
  1245.                  view subtrees.
  1246.  
  1247.                  Each bit of this bit mask corresponds to a
  1248.                  sub-identifier of snmpV3LpSubtreeFamilySubtree,
  1249.                  with the most significant bit of the i-th octet
  1250.                  of this octet string value (extended if necessary,
  1251.                  see below) corresponding to the (8*i - 7)-th
  1252.                  sub-identifier, and the least significant bit of
  1253.                  the i-th octet of this octet string corresponding
  1254.                  to the (8*i)-th sub-identifier, where i is in the
  1255.                  range 1 through 16.
  1256.  
  1257.                  Each bit of this bit mask specifies whether or not
  1258.                  the corresponding sub-identifiers must match when
  1259.                  determining if an OBJECT IDENTIFIER is in this
  1260.                  family of view subtrees; a '1' indicates that an
  1261.                  exact match must occur; a '0' indicates 'wild card',
  1262.                  i.e., any sub-identifier value matches.
  1263.  
  1264.                  Thus, the OBJECT IDENTIFIER X of an object instance
  1265.                  is contained in a family of view subtrees if, for
  1266.                  each sub-identifier of the value of
  1267.                  snmpV3LpSubtreeFamilySubtree, either:
  1268.  
  1269.                    the i-th bit of snmpV3LpSubtreeFamilyMask is 0, or
  1270.  
  1271.                    the i-th sub-identifier of X is equal to the
  1272.                    i-th sub-identifier of the value of
  1273.                    snmpV3LpSubtreeFamilySubtree.
  1274.  
  1275.                  If the value of this bit mask is M bits long
  1276.                  and there are more than M sub-identifiers in
  1277.                  the corresponding instance of
  1278.                  snmpV3LpSubtreeFamilySubtree, then the bit mask
  1279.                  is extended with 1's to be the required length.
  1280.  
  1281.                  Note that when the value of this object is the
  1282.                  zero-length string, this extension rule results in
  1283.                  a mask of all-1's being used (i.e., no 'wild card'),
  1284.                  and the family of view subtrees is the one view
  1285.                  subtree uniquely identified by the corresponding
  1286.                  instance of snmpV3LpSubtreeFamilySubtree.
  1287.                 "
  1288.     DEFVAL      { ''H }
  1289.     ::= { snmpV3LpSubtreeFamilyEntry 2 }
  1290.  
  1291. snmpV3LpSubtreeFamilyType OBJECT-TYPE
  1292.     SYNTAX       INTEGER  { included(1), excluded(2) }
  1293.     MAX-ACCESS   read-create
  1294.  
  1295.  
  1296.  
  1297. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 22]
  1298.  
  1299. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1300.  
  1301.  
  1302.     STATUS       current
  1303.     DESCRIPTION "The indication of whether the corresponding instances
  1304.                  of snmpV3LpSubtreeFamilySubtree and
  1305.                  snmpV3LpSubtreeFamilyMask define a family of view
  1306.                  subtrees which is included in or excluded from the
  1307.                  MIB view.
  1308.                 "
  1309.     DEFVAL      { included }
  1310.     ::= { snmpV3LpSubtreeFamilyEntry 3 }
  1311.  
  1312. snmpV3LpSubtreeFamilyStorageType OBJECT-TYPE
  1313.     SYNTAX       StorageType
  1314.     MAX-ACCESS   read-create
  1315.     STATUS       current
  1316.     DESCRIPTION "The storage type for this conceptual row.
  1317.                  Conceptual rows having the value 'permanent' need
  1318.                  not allow write-access to any columnar objects in
  1319.                  the row.
  1320.  
  1321. -- Editor's notes:
  1322. --         There is the suggestion from DaveL to let these rows
  1323. --         inherit the StorageType from the corresponding entries
  1324. --         in the viewTable as the default StorageType.
  1325. -- End Editor's notes:
  1326.                 "
  1327.     DEFVAL      { nonVolatile }
  1328.     ::= { snmpV3LpSubtreeFamilyEntry 4 }
  1329.  
  1330. snmpV3LpSubtreeFamilyStatus OBJECT-TYPE
  1331.     SYNTAX       RowStatus
  1332.     MAX-ACCESS   read-create
  1333.     STATUS       current
  1334.     DESCRIPTION "The status of this conceptual row.
  1335.  
  1336.                  For those columnar objects which permit write-access,
  1337.                  their value in an existing conceptual row can be
  1338.                  changed irrespective of the value of
  1339.                  snmpV3LpSubtreeFamilyStatus for that row.
  1340.  
  1341.                  A conceptual row in this table is not qualified for
  1342.                  activation until the MIB view it references is active.
  1343.                  Further, a conceptual row in this table is
  1344.                  immediately made notInService whenever the status of
  1345.                  the view it references is made notInService,
  1346.                  and immediately destroyed whenever the
  1347.                  view it references is destroyed.
  1348.                 "
  1349.     ::= { snmpV3LpSubtreeFamilyEntry 4 }
  1350.  
  1351.  
  1352. -- Conformance information *******************************************
  1353.  
  1354.  
  1355.  
  1356. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 23]
  1357.  
  1358. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1359.  
  1360.  
  1361.  
  1362. snmpV3LpMIBCompliances
  1363.                OBJECT IDENTIFIER ::= { snmpV3LpMIBConformance 1 }
  1364. snmpV3LpMIBGroups
  1365.                OBJECT IDENTIFIER ::= { snmpV3LpMIBConformance 2 }
  1366.  
  1367. -- Compliance statements *********************************************
  1368.  
  1369. snmpV3LpMIBCompliance MODULE-COMPLIANCE
  1370.     STATUS       current
  1371.     DESCRIPTION "The compliance statement for SNMPv3 entities which
  1372.                  implement the SNMPv3 LPM remote configuration MIB.
  1373.                 "
  1374.     MODULE -- this module
  1375.         MANDATORY-GROUPS { snmpV3LpBasicGroup }
  1376.  
  1377.         OBJECT        snmpV3LpViewStorageType
  1378.         MIN-ACCESS    read-only
  1379.         DESCRIPTION  "Write access is not required."
  1380.  
  1381.         OBJECT        snmpV3LpViewStatus
  1382.         MIN-ACCESS    read-only
  1383.         DESCRIPTION  "Create access to the snmpV3LpViewTable
  1384.                       is not required.
  1385.                      "
  1386.  
  1387.         OBJECT        snmpV3LpSubtreeFamilyMask
  1388.         WRITE-SYNTAX  OCTET STRING (SIZE (0))
  1389.         MIN-ACCESS    read-only
  1390.         DESCRIPTION  "Support for configuration via SNMPv3 of
  1391.                       subtree families defined using wild-cards
  1392.                       is not required.
  1393.                      "
  1394.  
  1395.         OBJECT        snmpV3LpSubtreeFamilyStorageType
  1396.         MIN-ACCESS    read-only
  1397.         DESCRIPTION  "Write access is not required."
  1398.  
  1399.         OBJECT        snmpV3LpSubtreeFamilyStatus
  1400.         MIN-ACCESS    read-only
  1401.         DESCRIPTION  "Create access to the snmpV3LpSubtreeFamilyTable
  1402.                       is not required.
  1403.                      "
  1404.     ::= { snmpV3LpMIBCompliances 1 }
  1405.  
  1406. -- Units of conformance **********************************************
  1407.  
  1408. snmpV3LpBasicGroup OBJECT-GROUP
  1409.     OBJECTS { snmpV3LpContextStatus,
  1410.               snmpV3LpAcReadViewIndex,
  1411.               snmpV3LpAcWriteViewIndex,
  1412.  
  1413.  
  1414.  
  1415. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 24]
  1416.  
  1417. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1418.  
  1419.  
  1420.               snmpV3LpAcStorageType,
  1421.               snmpV3LpAcStatus,
  1422.               snmpV3LpViewStorageType,
  1423.               snmpV3LpViewStatus,
  1424.               snmpV3LpSubtreeFamilyMask,
  1425.               snmpV3LpSubtreeFamilyType,
  1426.               snmpV3LpSubtreeFamilyStorageType,  -- length 32 !!
  1427.               snmpV3LpSubtreeFamilyStatus
  1428.             }
  1429.     STATUS       current
  1430.     DESCRIPTION "A collection of objects providing for remote
  1431.                  configuration of an SNMPv3 engine which implements
  1432.                  the SNMPv3 Local Processing Model (LPM).
  1433.                 "
  1434.     ::= { snmpV3LpMIBGroups 1 }
  1435.  
  1436. END
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 25]
  1475.  
  1476. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1477.  
  1478.  
  1479. 5.  Security Considerations
  1480.  
  1481. 5.1  Recommended Practices
  1482.  
  1483. This document is meant for use in the SNMPng architecture. The
  1484. Local Processing Model (LPM) described in this document controls
  1485. access rights to management information based on:
  1486.  
  1487.    - contextName, representing a set of management information at the
  1488.      managed system where the Local Processing module is running.
  1489.    - groupName, representing a group or set of zero, one or more
  1490.      security entities. These security entities are mapped into
  1491.      one or more groups in the SNMPv3 Security subsystem.
  1492.    - Level of Security (LoS) used for the transmission of an SNMP
  1493.      message.
  1494.  
  1495. When the Local Processing module (LPM) is called for processing a
  1496. scopedPDU, it is assumed that the Message Processing and Control
  1497. module (MPC) has ensured the authentication and privacy aspects as
  1498. specified by the Level of security (LoS) that is being passed.
  1499.  
  1500. 5.2  Defining Groups
  1501.  
  1502. GroupNames are used to give access to a group of zero, one or more
  1503. security entities. Within the LPM, a groupName is considered to
  1504. exist if that groupName is used (as an index) in a row in the
  1505. snmpV3LpAcTable.
  1506. By mapping a security identity into a group, a Security subsystem can
  1507. add/delete entities to a group.
  1508.  
  1509. 5.3  Conformance
  1510.  
  1511. Conformance rules are described in the SNMPng architecture document
  1512. [SNMPng-ARCH].
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 26]
  1534.  
  1535. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1536.  
  1537.  
  1538. 6.  Editor's Addresses
  1539.  
  1540.    Co-editor:  Bert Wijnen
  1541.                IBM T. J. Watson Research
  1542.    postal:     Schagen 33
  1543.                3461 GL Linschoten
  1544.                Netherlands
  1545.    email:      wijnen@vnet.ibm.com
  1546.    phone:      +31-348-432-794
  1547.  
  1548.    Co-editor:  Randy Presuhn
  1549.                BMC Software, Inc
  1550.    postal:     1190 Saratoga Avenue, Suite 130
  1551.                San Jose, CA  95129-3433
  1552.                USA
  1553.    email:      rpresuhn@bmc.com
  1554.    phone:      +1-408-556-0720
  1555.  
  1556.    Co-editor:  Keith McCloghrie
  1557.                Cisco Systems, Inc.
  1558.    postal:     170 West Tasman Drive
  1559.                San Jose, CA  95134-1706
  1560.                USA
  1561.    email:      kzm@cisco.com
  1562.    phone:      +1-408-526-5260
  1563.  
  1564.  
  1565. 7.  Acknowledgements
  1566.  
  1567. This document describes the work of the SNMP Security and
  1568. Administrative Framework Evolution team, comprised of
  1569.  
  1570.     David Harrington (Cabletron Systems Inc.)
  1571.     Jeff Johnson (Cisco)
  1572.     David Levi (SNMP Research Inc.)
  1573.     John Linn (Openvision)
  1574.     Russ Mundy (Trusted Information Systems) chair
  1575.     Shawn Routhier (Epilogue)
  1576.     Glenn Waters (Nortel)
  1577.     Bert Wijnen (IBM T. J. Watson Research)
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 27]
  1593.  
  1594. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1595.  
  1596.  
  1597. 8.  References
  1598.  
  1599. [RFC1902] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1600.      Rose, M., and S., Waldbusser, "Structure of Management
  1601.      Information for Version  2 of the Simple Network Management
  1602.      Protocol (SNMPv2)", RFC 1905, January 1996.
  1603.  
  1604. [RFC1905] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1605.      Rose, M., and S., Waldbusser, "Protocol Operations for
  1606.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1607.      RFC 1905, January 1996.
  1608.  
  1609. [RFC1906] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1610.      Rose, M., and S. Waldbusser, "Transport Mappings for
  1611.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1612.      RFC 1906, January 1996.
  1613.  
  1614. [RFC1907] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1615.      Rose, M., and S. Waldbusser, "Management Information Base for
  1616.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1617.      RFC 1907 January 1996.
  1618.  
  1619. [RFC1908] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1620.      Rose, M., and S. Waldbusser, "Coexistence between Version 1
  1621.      and Version 2 of the Internet-standard Network Management
  1622.      Framework", RFC 1908, January 1996.
  1623.  
  1624. [SNMPng-ARCH] The SNMPng Working Group, Harrington, D., Wijnen, B.,
  1625.      "Architectural Model for the Next Generation Simple Network
  1626.      Managememt Protocol (SNMPng)", draft-ietf-snmpng-arch-00.txt,
  1627.      March 1997.
  1628.  
  1629. [SNMPv3-LPM] The SNMPng Working Group, Wijnen, B., Harrington, D.,
  1630.      "Local Processing Model for the Next Generation Simple Network
  1631.      Management Protocol (SNMPng)", draft-ietf-snmpng-lpm-00.txt,
  1632.      March 1997.
  1633.  
  1634. [SNMPv3-MPC] The SNMPv3 Working Group, Wijnen, B., Harrington, D.,
  1635.      "Message Processing and Control Model for version 3 of the Simple
  1636.      Network Management Protocol (SNMPv3)",
  1637.      draft-ietf-snmpv3-mpc-00.txt,
  1638.      March 1997.
  1639.  
  1640. [SNMPv3-USEC] To be written
  1641.               The SNMPng Working Group, Editors...Names,
  1642.      "The User-Based Security Model for the Next Generation Simple
  1643.      Network Management Protocol (SNMPng)",
  1644.      draft-ietf-snmpng-usec-00.txt, April 1997.
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 28]
  1652.  
  1653. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1654.  
  1655.  
  1656. APPENDIX A - Installation
  1657.  
  1658. A.1.   Agent Installation Parameters
  1659.  
  1660. During installation, an SNMPv3 engine acting in an authoritative role
  1661. is configured with several parameters.  These include for the Local
  1662. Processing module:
  1663.  
  1664. (1) A security posture
  1665.  
  1666.     The choice of security posture determines the extent of the view
  1667.     configured for unauthenticated access.  One of three possible
  1668.     choices is selected:
  1669.  
  1670.           minimum-secure,
  1671.           semi-secure, or
  1672.           very-secure.
  1673.  
  1674. (2) A default context
  1675.  
  1676.     One entry in the snmpV3LpContextTable as with a contextName of
  1677.     "" (the empty string, representing the default context.
  1678.  
  1679. (3) Three entries in the snmpV3LpAcTable as follows:
  1680.  
  1681.     - One entry to be used for unauthenticated access:
  1682.  
  1683.                                 no privacy support  privacy support
  1684.                                 ------------------  ---------------
  1685.       snmpV3LpAcContextName     ""                  ""
  1686.       snmpV3LpAcGroupName       "public"            "public"
  1687.       snmpV3LpAcLoS             noAuth/noPriv       noAuth/noPriv
  1688.       snmpV3LpAcReadViewIndex   1                   1
  1689.       snmpV3LpAcWriteViewIndex  0                   0
  1690.       snmpV3LpStorageType       permanent           permanent
  1691.       snmpV3LpStatus            active              active
  1692.  
  1693.     - One entry to be used for authenticated access but without
  1694.       privacy:
  1695.                                 no privacy support  privacy support
  1696.                                 ------------------  ---------------
  1697.       snmpV3LpAcContextName     ""                  ""
  1698.       snmpV3LpAcGroupName       "public"            "public"
  1699.       snmpV3LpAcLoS             Auth/noPriv         Auth/noPriv
  1700.       snmpV3LpAcReadViewIndex   2                   2
  1701.       snmpV3LpAcWriteViewIndex  2                   2
  1702.       snmpV3LpStorageType       permanent           permanent
  1703.       snmpV3LpStatus            active              active
  1704.  
  1705.     - One entry to be used for authenticated access with privacy:
  1706.  
  1707.  
  1708.  
  1709.  
  1710. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 29]
  1711.  
  1712. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1713.  
  1714.  
  1715.                                 no privacy support  privacy support
  1716.                                 ------------------  ---------------
  1717.       snmpV3LpAcContextName                         ""
  1718.       snmpV3LpAcGroupName                           "public"
  1719.       snmpV3LpAcLoS                                 Auth/Priv
  1720.       snmpV3LpAcReadViewIndex                       2
  1721.       snmpV3LpAcWriteViewIndex                      2
  1722.       snmpV3LpStorageType                           permanent
  1723.       snmpV3LpStatus                                active
  1724.  
  1725. (4) Two views depending on the security posture.
  1726.  
  1727.     -  One view (the <all> view) for authenticated access:
  1728.  
  1729.        -  the <all> MIB view is the following subtree:
  1730.               "internet"        [RFC1902]
  1731.  
  1732.     -  A second view (the <restricted> view) for unauthenticated
  1733.        access.  This view is configured according to the selected
  1734.        security posture:
  1735.  
  1736.        -  For the "very-secure" posture:
  1737.  
  1738.           the <restricted> MIB view is the union of these subtrees:
  1739.               "snmp"            [RFC1907]
  1740.               "snmpEngine"      [SNMPv3-USEC]
  1741.               "usecStats"       [SNMPv3-USEC]
  1742.               "authMD5Stats"    [SNMPv3-USEC]
  1743.               "privDESStats"    [SNMPv3-USEC]
  1744.               "snmpV3Stats"     [SNMPv3-MPC]
  1745.               "snmpV3LpStats"   [SNMPv3-LPM]
  1746.  
  1747.        -  For the "semi-secure" posture:
  1748.  
  1749.           the <restricted> MIB view is the union of these subtrees:
  1750.               "snmp"            [RFC1907]
  1751.               "snmpEngine"      [SNMPv3-USEC]
  1752.               "usecStats"       [SNMPv3-USEC]
  1753.               "authMD5Stats"    [SNMPv3-USEC]
  1754.               "privDESStats"    [SNMPv3-USEC]
  1755.               "snmpV3Stats"     [SNMPv3-MPC]
  1756.               "snmpV3LpStats"   [SNMPv3-LPM]
  1757.               "system"          [RFC1907]
  1758.  
  1759.        -  For the "minimum-secure" posture:
  1760.  
  1761.           the <restricted> MIB view is the following subtree.
  1762.               "internet"        [RFC1902]
  1763.  
  1764.     -  Access rights to allow:
  1765.  
  1766.  
  1767.  
  1768.  
  1769. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 30]
  1770.  
  1771. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1772.  
  1773.  
  1774.        - read-only access for LoS "noAuth" on behalf of security
  1775.          entities that belong to the group "public" to the
  1776.          <restricted> MIB view in the context with contextName "".
  1777.  
  1778.        - read-write access for LoS "auth" on behalf of security
  1779.          entities that belong to the group "public" to the
  1780.          <all> MIB view in the context with contextName "".
  1781.  
  1782.        - if privacy is supported,
  1783.          read-write access for LoS "auth" on behalf of security
  1784.          entities that belong to the group "public" to the
  1785.          <all> MIB view in the context with contextName "".
  1786.  
  1787. -- Editor's note:
  1788.             If we find it useful (I do) then I will also work out
  1789.             the entries in the viewTable and viewSubtreeFamilyTable
  1790.             so that we have the above views defined.
  1791. -- End Editor's note
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 31]
  1829.  
  1830. Draft          Local Processing Model (LPM) for SNMPv3          May 1997
  1831.  
  1832.  
  1833. Table of Contents
  1834.  
  1835. 0.  Issues                                                             2
  1836. 0.1  Change Log                                                        2
  1837. 1.  Introduction                                                       3
  1838. 1.2  Local Processing                                                  3
  1839. 1.3  Local Configuration Datastore                                     4
  1840. 2.  Elements of the Model                                              5
  1841. 2.1  Groups                                                            5
  1842. 2.2  Level of Security (LoS)                                           5
  1843. 2.3  Contexts                                                          5
  1844. 2.4  scopedPDU                                                         5
  1845. 2.5  Access Policy                                                     6
  1846. 2.6.  Error Reporting                                                  6
  1847. 3.  Elements of Procedure                                              8
  1848. 3.1  Processing a Received scopedPDU                                   8
  1849. 3.1.1.  Additional Details                                            10
  1850. 3.1.1.1.  ASN.1 Parsing Errors                                        10
  1851. 3.1.1.2.  Generation of a Report PDU                                  10
  1852. 4.  Definitions                                                       11
  1853. 5.  Security Considerations                                           26
  1854. 5.1  Recommended Practices                                            26
  1855. 5.2  Defining Groups                                                  26
  1856. 5.3  Conformance                                                      26
  1857. 6.  Editor's Addresses                                                27
  1858. 7.  Acknowledgements                                                  27
  1859. 8.  References                                                        28
  1860. A.1.   Agent Installation Parameters                                  29
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889. Wijnen/Presuhn/McCloghrie      Expires November 1997           [Page 32]
  1890.