home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / rmonmib / rmonmib-interim-minutes-97jun.txt < prev    next >
Text File  |  1997-10-13  |  40KB  |  1,018 lines

  1. OPS Area
  2. RMONMIB WG Interim Meeting Minutes
  3. Santa Clara, CA
  4. June 25-28, 1997
  5. Minutes by Andy Bierman - WG Chair
  6.  
  7. 1) Summary
  8. ----------
  9.  
  10. The RMONMIB WG met to advance progress on all I-Ds under development:
  11.  
  12.   - RMON Protocol Identifiers
  13.   - High Capacity RMON (HC-RMON)
  14.   - RMON Extensions for Switched Networks (SMON)
  15.  
  16. All features were either accepted, modified, or rejected.  
  17. New I-Ds will be generated, which will be subject to 
  18. WG Last Call upon publication.
  19.  
  20. 2) Review Material
  21. ------------------
  22.  
  23.  (1) RMON Protocol Identifiers Specification
  24.      - pre-draft-ietf-rmonmib-rmonprot-v2-01.txt  (posted 13jun97)
  25.  
  26.  (2) HC-RMON MIB
  27.      - draft-ietf-rmonmib-hcrmon-00.txt
  28.      - email-robin_iddon-hcrmon.txt               (posted 28feb97)
  29.  
  30.  (3) SMON MIB
  31.      - pre-draft-ietf-rmonmib-smon-00.txt         (posted 14jun97)
  32.  
  33. 3) Minutes
  34. ----------
  35.  
  36. The following minutes do not contain a temporal account of
  37. discussions, but rather a summary of all issues and resolutions.
  38. Detailed rationale for decisions made is not always presented.
  39.  
  40. 3.1) RMON Protocol Identifiers
  41.  
  42. 3.1.1) Leaf protocols
  43.  
  44. Many leaf PI macros have been added to the document in the
  45. TCP/IP suite.  Additional text will be added to emphasize:
  46.  
  47.    - actual PD implementations can contain protocolDirTable
  48.      INDEX values not represented in this document
  49.  
  50.    - the PI document will never contain all leaf protocols.
  51.      Given that the textual identifier (protocolDirDescr)
  52.      is not authoritative whatsoever, and the protocolDirID
  53.      encoding for a leaf is actually defined in the PI macro(s) of
  54.      its parent(s), this is not considered a problem.
  55.  
  56.    - actual PD implementations may identify children of tcp or udp 
  57.      under either or both transports, even though the PI document
  58.      may identify a leaf as rooted under tcp or udp specifically.
  59.  
  60.  
  61. 3.1.2) PI Support for AAL-5 Based Encapsulations
  62.  
  63. The WG will partially support AAL-5 encapsulations, however
  64. no special identifiers will be added to the PI document.
  65. Instead, RFC 1483 encaps will be mapped to the appropriate 
  66. existing  base layer identifier that follows the RFC 1483 header.
  67. The dataSource for a collection monitoring AAL-5 traffic
  68. must reference an ifEntry with an associated ifType of one
  69. of these values:
  70.  
  71.  RFC 1483:
  72.    - aal5(49)    (preferred, but ifStack required)
  73.    - atm(37)     (should use only when no ifStack)
  74.  LANE:
  75.    - aflane8023(59)    (ifStack required)
  76.    - aflane8025(60)    (ifStack required)
  77.  
  78. It is understood that not all possible attributes of RFC 1483
  79. or LANE encapsulations can be identified with this approach,
  80. and that this approach may rely on proper ifStack representation
  81. of these logical interfaces.  An NMS will have to use more 
  82. ATM-specific MIBs to monitor such statistics.
  83.  
  84. 3.1.3) PI Support for IEEE 802.1Q Encapsulations
  85.  
  86. The WG will support the emerging VLAN encapsulation standard
  87. by adding a PI macro for dot1Q, which will be positioned as
  88. a 'shim' layer, between the ether2 base layer and the network layer. 
  89. This approach can support the ether2 and SNAP child protocol encoding 
  90. rules, but not LLC without SNAP. Also, LLC-N and LLC-TR encoding cannot 
  91. be distinguished. 
  92.  
  93. 3.1.4) Document Edits
  94.  
  95. In section 4., Fig. 1c, Fig. 1d:
  96.  
  97. Remove special case descriptions for vsnap base layer encoding.
  98.  
  99. In section 4.2:
  100.  
  101. Elements of syntax will be added from the email proposal by Dave Perkins.
  102.  
  103. The syntax for the vsnap base layer encoding will be changed.
  104. The basic syntax will be simplified and made more extensible.
  105. The numbering specification for vsnap will change to a series 
  106. of quad-words, separated by colons (e.g. 0x0011 : 0x2233 : 0x4455). 
  107. [ed. - how is a 3-byte OUI represented?]
  108.  
  109. The vnap encapsulation itself will be encoded exactly as the other 
  110. base layers, value = [0.0.0.4]. The OUI field will move to a new 
  111. protocol macro, for each vsnap OUI needed. E.g.,
  112.  
  113.  OLD WAY:
  114.  
  115.    atalk PROTOCOL-IDENTIFIER
  116.      ...
  117.    ::= { vsnap(0x080007) 0x809b }
  118.  
  119.  NEW WAY:
  120.  
  121.    apple-oui PROTOCOL-IDENTIFIER
  122.      ...
  123.    ::=  { vsnap 0x080007 }
  124.  
  125.  
  126.    atalk PROTOCOL-IDENTIFIER
  127.      ...
  128.    :== { apple-oui 0x809b }
  129.  
  130. In section 4.2.1:
  131.  
  132. New text will be added to document protocol names as they appear
  133. in RFC 1700, by allowing a more flexible syntax. Proposal
  134. by Dave Perkins, and modifications by Skip Koppenhaver will
  135. be used to replace the text in this section.
  136.  
  137. In section 5:
  138.  
  139. Typos identified in emails from Skip Koppenhaver and Dave Perkins
  140. will be corrected.
  141.  
  142. Reference section will be completed.
  143.  
  144. In section 5.1.1.2:
  145.  
  146. Text will be added to emphasize proper usage of the wildcard function.  
  147. Clarifications regarding default encoding choices will also be added:
  148.  
  149.   - always use the lowest possible valued base layer for the
  150.     wildcard encoding when a network layer can be encoded 
  151.     more than one way (e.g., choose ether2 over snap).
  152.  
  153.   - choose ether2 over snap even if the probe contains only
  154.     token ring interfaces
  155.  
  156.   - wildcard-<base-layer> (e.g., wildcard-ether2 == 4.1.0.0.1.1.0)
  157.     is not allowed. Wildcarding applies to the network layer,
  158.     not the base layer.  "Wildcard-ether2" is supposed to represent 
  159.     all MAC frames, which can be counted with RMON1.
  160.  
  161. 3.2) HC-RMON MIB
  162.  
  163. The HC-RMON MIB additions (email-robin_iddon-hcrmon.txt) were discussed 
  164. at length.
  165.  
  166. 3.2.1) 48 bit vs. 64 bit Counters
  167.  
  168. A proposal was debated to redefine the HC counters to Counter48, in order to 
  169. allow easy conversion to floating point format, for the purpose of data 
  170. archival. The HC counters will remain as Counter64, since there is not 
  171. sufficient interest in defining new ASN.1 data types at this time.
  172.  
  173. 3.2.2) Table Additions
  174.  
  175. The following tables will be added to support high capacity history and TopN 
  176. collections:
  177.  
  178.   - etherHistoryHighCapacityTable
  179.   - hostTopNHighCapacityTable
  180.   - nlMatrixTopNHighCapacityTable
  181.   - alMatrixTopNHighCapacityTable 
  182.   - usrHistoryHighCapacityTable
  183.  
  184. The HC-MIB additions specify an Integer64 object, which is neither legal or 
  185. necessary, since the pkt or octetRate objects can only have non-negative
  186. values.  Therefore, all such objects will have a syntax of Gauge64 
  187. (sec. 3.2.3).
  188.  
  189. 3.2.3) New Data Type Definition
  190.  
  191. A proposal will be written specifying a textual convention for a data type 
  192. called Gauge64, derived from Counter64. It will have the same semantics as 
  193. Gauge32, except extended to 64 bit precision.  The HC-RMON MIB needs this data
  194. type to snapshot Counter64 values and represent non-negative deltas  between 
  195. two Counter64 values.
  196.  
  197. 3.2.4)  TopN RateBase Additions
  198.  
  199. The TopNControl tables associated with the data tables listed in sec. 3.2.2 
  200. contain 'rateBase' objects which enumerate and identify the counter used to 
  201. sort the data table.
  202.  
  203. The WG agreed on a proposal to duplicate some or all of these control tables, 
  204. by adding enumerations to the end of the following objects:
  205.  
  206.   -  hostTopNRateBase
  207.   -  nlMatrixTopNControlRateBase
  208.   -  alMatrixTopNControlRateBase
  209.  
  210. These enumerations would replicate the existing versions, and allow 2 new
  211. modes of rate selection:
  212.  
  213.   - Counter64 versions of the rateBase
  214.   - Counter32 & Overflow Counter32 pair version of rateBase
  215.  
  216. For example, the hostTopNRateBaseObject would be extended:
  217.  
  218.  SYNTAX INTEGER {
  219.                       hostTopNInPkts(1),
  220.                       hostTopNOutPkts(2),
  221.                       hostTopNInOctets(3),
  222.                       hostTopNOutOctets(4),
  223.                       hostTopNOutErrors(5),
  224.                       hostTopNOutBroadcastPkts(6),
  225.                       hostTopNOutMulticastPkts(7),
  226.                       hostTopNHCInPkts(8),
  227.                       hostTopNHCOutPkts(9),
  228.                       hostTopNHCInOctets(10),
  229.                       hostTopNHCOutOctets(11),
  230.                       hostTopNHCOutErrors(12),
  231.                       hostTopNHCOutBroadcastPkts(13),
  232.                       hostTopNHCOutMulticastPkts(14),
  233.                       hostTopNOvflInPkts(15),
  234.                       hostTopNOvflOutPkts(16),
  235.                       hostTopNOvflInOctets(17),
  236.                       hostTopNOvflOutOctets(18),
  237.                       hostTopNOvflOutErrors(19),
  238.                       hostTopNOvflOutBroadcastPkts(20),
  239.                       hostTopNOvflOutMulticastPkts(21)
  240.               }
  241.  
  242. Upon further review, the Chair is asking the WG to consider a simpler
  243. approach. In the event an agent has implemented any or all of the tables
  244. listed in sec. 3.2.2:
  245.  
  246.   - there should be no difference in the sort order between the Counter64 
  247.     and Ovfl-Counter32/Counter32 pair rateBase objects
  248.  
  249.   - there should be no reason the agent can implement Counter64, but not 
  250.     the Ovfl-Counter32 object
  251.  
  252.   - there should be no reason an NMS programmed to use the new mechanism 
  253.     can't check for both Counter64 and Ovfl-Counter32, for collections 
  254.     with a hostTopNRateBase == [8..14].
  255.  
  256. Simplification example:
  257.  
  258.  SYNTAX INTEGER {
  259.                       hostTopNInPkts(1),
  260.                       hostTopNOutPkts(2),
  261.                       hostTopNInOctets(3),
  262.                       hostTopNOutOctets(4),
  263.                       hostTopNOutErrors(5),
  264.                       hostTopNOutBroadcastPkts(6),
  265.                       hostTopNOutMulticastPkts(7),
  266.                       hostTopNHCInPkts(8),
  267.                       hostTopNHCOutPkts(9),
  268.                       hostTopNHCInOctets(10),
  269.                       hostTopNHCOutOctets(11),
  270.                       hostTopNHCOutErrors(12),
  271.                       hostTopNHCOutBroadcastPkts(13),
  272.                       hostTopNHCOutMulticastPkts(14)
  273.               }
  274.  
  275.   - if agent allows 8-14, then it MUST populate both Counter64 and 
  276.     Ovfl-Counter32 HC objects for the selected rateBase.
  277.  
  278.   - if the NMS sets 8-14 on such an agent, it will retrieve the
  279.     HC version that it wants; this doesn't affect topN function
  280.  
  281.   - if the NMS sets a rateBase == [1..7], then the agent must not
  282.     sort by the HC version of the rateBase counter, should it exist.
  283.  
  284. 3.2.5) Counter64 Tax
  285.  
  286. The WG discussed the burden and cluttering effect caused by defining 
  287. every counter object 3 times: 
  288.     { fooBars, fooBarOvfls, fooBar64s }.
  289.  
  290. The WG's intent is to support a single version of a counter, e.g.,
  291.     { fooBars } OR { fooBar64s } 
  292. based on 1573 rules, at some time in the future when Counter64 
  293. support is in wide deployment. 
  294.  
  295. 3.2.6) UsrHistory Clarification
  296.  
  297. RFC 2021 does not contain text that explicitly states how 'absolute' 
  298. type usrHistory objects should be collected when 'delta' objects
  299. are present in the same usrHistory bucket. An 'absolute' object
  300. requires one poll at T0, and a 'delta' object requires 2 polls,
  301. at T0 and T1 (i.e., val(T1) - val(T0) is stored at T1).  When both 
  302. poll types are combined, 'absolute' objects are polled at T1.
  303.  
  304. 3.2.7) Full Duplex Ports
  305.  
  306. The monitoring and representation of full-duplex ports was 
  307. discussed at length.  The following conclusions were reached:
  308.  
  309.    - full duplex ports must be represented as a single dataSource,
  310.      the same as a half-duplex port. 
  311.  
  312.    - a probe located inside a switch will be able to properly
  313.      distinguish 'in' pkts from 'out' pkts, but stand-alone probes
  314.      would arbitrarily label one direction 'in', and the other direction 
  315.      'out', for RMON counting purposes.
  316.  
  317.    - the rpMauType object in the latest HUB-MAU MIB 
  318.      (draft-ietf-hubmib-mau-mib-04.txt) can be used to distinguish 
  319.      the actual state (10/100, half-duplex/full-duplex) 
  320.      of a full duplex Ethernet port.  However, this MIB is not 
  321.      widely implemented [ed. - or even RFC 1515?].
  322.  
  323.    - the HC-RMON MIB will support 100 MB and Gigabit Ethernet 
  324.      statistics with a new media-independent rmonHCStatsTable (sec. 3.2.9).
  325.  
  326.    - an agent may use the existing etherStats and etherHistory 
  327.      tables defined in RFC 1757 for such interfaces, but the WG will not 
  328.      modify the etherHistoryTable.
  329.  
  330.    - the ifSpeed for full-duplex ports should be twice the half-duplex speed, 
  331.      for RMON netUtilization calculation.
  332.  
  333.  
  334. 3.2.8) CaptureBufferPacketTime Granularity Extension
  335.  
  336. The packet-timestamp in the RMON-1 MIB has milli-second granularity,
  337. which is not sufficient for 100MB and Gigabit Ethernet packet capture.  
  338. The following object will be added (in a table augmenting the 
  339. captureBufferEntry):
  340.  
  341. captureBufferPacketHCTime  OBJECT-TYPE
  342.   SYNTAX      Integer32 (0..999999)
  343.   UNITS       "nano-seconds"
  344.   MAX-ACCESS  read-only
  345.   STATUS      current
  346.   DESCRIPTION
  347.       "...  use this object in conjunction with existing timestamp 
  348.       object; return number of nano-seconds to be added to to number 
  349.       of milli-seconds obtained from the captureBufferPacketTime 
  350.       object, to obtain true inter-pkt arrival time."
  351.   ::= { captureBufferHCEntry 1 }
  352.  
  353. 3.2.9) Media Independent HC StatsTable
  354.  
  355. A new group with a single table will be added to the HC-RMON MIB
  356. to provide generic statistics support for any RMON dataSource.
  357.  
  358. rmonHCStats Counter Matrix:
  359.       [in, out] *
  360.       [totalPkts, totalOctets, nuCastPkts, nuCastOctets, totalErrPkts+] *
  361.       [Counter32, Ovfl-Counter32, Counter64]
  362.   + == except no 64-bit support for totalErrPkts or 'out' version
  363.  
  364.  
  365. [ed. - I don't have detailed notes on this table; Steve will
  366. add to HC-MIB from his notes. This MIB entry is from memory;
  367. actual I-D may be different.]
  368.  
  369.   rmonHCStatsEntry
  370.     INDEX { rmonHCStatsIndex }
  371.  
  372.     RmonHCStatsEntry ::= SEQUENCE {
  373.         rmonHCStatsIndex                    Integer32, -- (1..65535)
  374.         rmonHCStatsDataSource               DataSource,
  375.         rmonHCStatsTotalInPkts              Counter32,
  376.         rmonHCStatsTotalInOvflPkts          Counter32,
  377.         rmonHCStatsTotalInHCPkts            Counter64,
  378.         rmonHCStatsTotalInOctets            Counter32,
  379.         rmonHCStatsTotalInOvflOctets        Counter32,
  380.         rmonHCStatsTotalInHCOctets          Counter64,
  381.         rmonHCStatsTotalInErrPkts           Counter32,
  382.         rmonHCStatsTotalInErrOvflPkts       Counter32,
  383.         rmonHCStatsTotalInErrHCPkts         Counter64,
  384.         rmonHCStatsNuInPkts                 Counter32,
  385.         rmonHCStatsNuInOvflPkts             Counter32,
  386.         rmonHCStatsNuInHCPkts               Counter64,
  387.         rmonHCStatsNuInOctets               Counter32,
  388.         rmonHCStatsNuInOvflOctets           Counter32,
  389.         rmonHCStatsNuInHCOctets             Counter64,
  390.         rmonHCStatsTotalOutPkts             Counter32,
  391.         rmonHCStatsTotalOutOvflPkts         Counter32,
  392.         rmonHCStatsTotalOutHCPkts           Counter64,
  393.         rmonHCStatsTotalOutOctets           Counter32,
  394.         rmonHCStatsTotalOutOvflOctets       Counter32,
  395.         rmonHCStatsTotalOutHCOctets         Counter64,
  396.         rmonHCStatsOutNuPkts                Counter32,
  397.         rmonHCStatsOutNuOvflPkts            Counter32,
  398.         rmonHCStatsOutNuHCPkts              Counter64,
  399.         rmonHCStatsOutNuOctets              Counter32,
  400.         rmonHCStatsOutNuOvflOctets          Counter32,
  401.         rmonHCStatsOutNuHCOctets            Counter64,
  402.         rmonHCInSpeed                       Gauge32,   -- in kBits/sec
  403.         rmonHCOutSpeed                      Gauge32,   -- in kBits/sec
  404.         rmonHCStatsDropEvents               Counter32,
  405.         rmonHCStatsDroppedFrames            Counter32,        
  406.         rmonHCStatsOwner                    OwnerString,
  407.         rmonHCStatsStatus                   RowStatus
  408.     }
  409.  
  410. Table Features:
  411.  
  412.   - combined control & data table, like etherStats 
  413.   - arbitrary integer RMON control index
  414.   - regular RMON DataSource (OID) driven
  415.   - for half-duplex ports. only the 'in' set of counters are used
  416.   - counts good and bad frames.
  417.  
  418. 3.2.10) HC-MIB Conformance Statements
  419.  
  420. The WG did not discuss conformance statements for the HC-RMON MIB
  421. at this meeting. Previously, the WG agreed to several points:
  422.  
  423.    a) RFC 1573 instantiation rules could be applied with dataSource
  424.       granularity.
  425.  
  426.    b) dynamically sparse instantiation of Counter64 objects
  427.       is not desirable, so the Counter64 version of an RMON counter 
  428.       should be instantiated if a given dataSource can possibly
  429.       cross the thresholds defined in RFC 1573.
  430.  
  431. There is still some confusion as to which Counter64 instances must 
  432. be created when not all dataSources available for RMON collection
  433. are the same speed. It is likely a monitored device will have far
  434. more low-speed then high-speed interfaces, so instantiating all
  435. HC counters would cause the agent to double the counter memory 
  436. required for interfaces, just to implement an HC collection on
  437. one interface.
  438.  
  439. The HC-MIB tables will therefore be conditionally mandatory, based
  440. on the maximum possible speed of a given dataSource. 
  441.  
  442. 3.3) SMON MIB
  443.  
  444. The SMON was discussed for two days, and significantly modified.
  445. The tables are presented in the order found in the MIB.
  446.  
  447. 3.3.1)  SmonDataSource TC
  448.  
  449. This TC will be changed to support the following dataSource types:
  450.  
  451.   - ifIndex.<I>  
  452.     DataSources of this traditional form are called 'port-based',
  453.     but only if ifType.<I> is not equal to 'propVirtual(53)'.
  454.  
  455.   - rmonVlanDataSource.<V>
  456.     A dataSource of this form refers to a 'Packet-based VLAN' and
  457.     is called a 'VLAN-based' dataSource.
  458.  
  459.   - entPhysicalEntry.<N>
  460.     A dataSource of this form refers to a physical entity within
  461.     the agent (e.g. entPhysicalClass = backplane) and os called
  462.     an 'entity-based' dataSource.
  463.  
  464. Repeater ports will not be explicitly modeled as RMON dataSources,
  465. due to side effects associated with the new dataSource implementation
  466. requirements (sec. 3.3.3).  Repeater backplanes can be represented
  467. as entity-based dataSources.
  468.  
  469. 3.3.2) rmonVlanDataSource OID Registration Point
  470.  
  471. An OBJECT IDENTIFIER for registration purposes only will be
  472. defines for uses as an SmonDataSource. A single integer parameter
  473. is appended to the end of this OID when actually encountered in
  474. the dataSourceCapsTable, which represents a positive, non-zero VLAN
  475. identifier value.
  476.  
  477. 3.3.3) DataSourceCapsTable
  478.  
  479. A new group called 'dataSourceCaps' will be added, containing one
  480. table, the dataSourceCapsTable.  An RMON agent populates this
  481. table will all supported dataSources.  An NMS may use this table to
  482. discover the identity and attributes of the dataSources on
  483. a given agent implementation.  Similar to the probeCapabilities object,
  484. actual row-creation operations will succeed or fail based on the
  485. resources available and parameter values used in each row-creation 
  486. operation.
  487.  
  488. The new read-only table can be summarized as follows:
  489.  
  490.   dataSourceCapsTable
  491.   - INDEX { IMPLIED dataSourceCapsObject }
  492.     
  493.     DataSourceCapsEntry ::= SEQUENCE {
  494.         dataSourceCapsObject          SmonDataSource,
  495.         dataSourceRmonCaps            BITS,
  496.         dataSourceCopyCaps            BITS,
  497.         dataSourceCapsIfIndex         InterfaceIndex
  498.     }
  499.  
  500.   - dataSourceCapsObject               SmonDataSource
  501.     Identifies the true dataSource to the NMS.
  502.  
  503.   - dataSourceRmonCaps                BITS
  504.     General attributes of the specified dataSource.
  505.     Note that these are static attributes, which should not
  506.     be adjusted because of current resources or configuration.
  507.  
  508.       - countErrFrames(0)
  509.         The agent sets this bit for the dataSource if errored frames 
  510.         received on this dataSource can actually be monitored by the agent.
  511.         The agent clears this bit is any errored frames are not visible to 
  512.         the RMON data collector.
  513.  
  514.       - countAllGoodFrames(1)
  515.         The agent sets this bit for the dataSource if all good frames received
  516.         on this dataSource can actually be monitored by the agent.
  517.         The agent clears this bit if any good frames are not visible for RMON 
  518.         collection, e.g., the dataSource is a non-promiscuous interface or an 
  519.         internal switch interface which may not receives frames which were
  520.         switched in hardware or dropped by the bridge forwarding function.
  521.  
  522.       - countAnyRmonTables(2)
  523.         The agent sets this bit if this dataSource can actually be used in 
  524.         any implemented RMON tables, resources notwithstanding.
  525.         The agent clears this bit if this dataSourceCapsEntry is present 
  526.         simply to identify a dataSource that may only be used as
  527.         portCopySource and/or a portCopyDest, but not the source of an 
  528.         actual RMON data collection.
  529.  
  530.   - dataSourceCopyCaps                     BITS
  531.     PortCopy function capabilities of the specified dataSource.
  532.     Note that these are static capabilities, which should not be adjusted 
  533.     because of current resources or configuration.
  534.  
  535.       - copySourcePort(0)
  536.         The agent sets this bit if this dataSource is capable of acting 
  537.         as a source of a portCopy operation. The agent clears this bit 
  538.         otherwise.
  539.  
  540.       - copyDestPort(1)
  541.         The agent sets this bit if this dataSource is capable of acting as 
  542.         a destination of a portCopy operation. The agent clears this bit 
  543.         otherwise.
  544.  
  545.       - copySrcTxTraffic(2)
  546.         If the copySourcePort BIT is set:
  547.           The agent sets this bit if this dataSource is capable of 
  548.           copying frames transmitted out this portCopy source.
  549.           The agent clears this bit otherwise.  This function is
  550.           needed to support full-duplex ports.
  551.         Else this BIT should be cleared.
  552.  
  553.       - copySrcRxTraffic(3)
  554.         If the copySourcePort BIT is set:
  555.           The agent sets this bit if this dataSource is capable of 
  556.           copying frames received on this portCopy source.
  557.           The agent clears this bit otherwise. This function is
  558.           needed to support full-duplex ports.
  559.         Else this BIT should be cleared.
  560.  
  561.       - countDstDropEvents(4)
  562.         If the copyDestPort BIT is set:
  563.           The agent sets this bit if it is capable of incrementing the 
  564.           portCopyDstDroppedFrames object (sec. 3.3.11), when this 
  565.           dataSource is the target of a portCopy operation and a 
  566.           frame destined to this dataSource is dropped (for RMON 
  567.           counting purposes). The agent clears this bit otherwise.  
  568.         Else this BIT should be cleared.
  569.  
  570.       - copyErrFrames(5)
  571.         If the copySourcePort BIT is set:
  572.           The agent sets this bit if it is capable of copying all errored 
  573.           frames from this portCopy source-port, for errored frames 
  574.           received on this dataSource. The agent clears this bit otherwise. 
  575.         Else this BIT should be cleared.
  576.  
  577.       - copyUnalteredFrames(6)
  578.         If the copySourcePort BIT is set:
  579.           The agent sets this bit if it is capable of copying all frames 
  580.           from this portCopy source-port without alteration in any way;
  581.           including, but not limited to:
  582.              - truncation (with or without CRC regeneration)
  583.              - proprietary header insertion
  584.              - MAC header rewrite
  585.              - VLAN retagging
  586.           The agent clears this bit otherwise. 
  587.         Else this BIT should be cleared.
  588.  
  589.       - copyAllGoodFrames(7)
  590.         If the copySourcePort BIT is set:
  591.           The agent sets this bit for the dataSource if all good frames 
  592.           received on this dataSource are normally capable of being copied 
  593.           by the agent. The agent clears this bit if any good frames are
  594.           not visible for the RMON portCopy operation, e.g., the dataSource 
  595.           is a non-promiscuous interface or an internal switch interface
  596.           which may not receive frames which were switched in hardware or
  597.           dropped by the bridge forwarding function.
  598.         Else this BIT should be cleared.
  599.  
  600.   - dataSourceCapsIfIndex       InterfaceIndex
  601.     This object contains the ifIndex value of the ifEntry associated with 
  602.     this dataSource.
  603.       
  604.         
  605. 3.3.4)  DataSource Agent Implementation Requirements
  606.  
  607. Upon restart of the RMON agent, the dataSourceTable, ifTable, and perhaps 
  608. entPhysicalTable are initialized for the available dataSources.  
  609.  
  610. For each dataSourceCapsEntry representing a VLAN or entPhysicalEntry,
  611. the agent must create an associated ifEntry with a ifType value 
  612. of 'propVirtual(53)'.  This ifEntry will be used as the actual value 
  613. in RMON control table dataSource objects.  The assigned ifIndex value 
  614. is copied into the associated dataSourceCapsIfIndex object.
  615.  
  616. It is understood that dataSources representing VLANs may not always
  617. be instantiated immediately upon restart, but rather as VLAN usage 
  618. is detected by the agent.  The agent should attempt to create
  619. dataSource and interface entries for all dataSources as soon as possible.
  620.  
  621. 3.3.5) Arbitrary DataSource Aggregation
  622.  
  623. The WG decided to support specific dataSource aggregation functions,
  624. instead of generic functions, such as the arbitrary combination
  625. of dataSources provided in the SMON MIB.  The motivation for
  626. grouping dataSources together is the reduction in agent resources
  627. and NMS polling required to provide the equivalent data-set.
  628. However, some vendors said they would not reduce agent resource
  629. usage with such a mechanism.
  630.  
  631. Arbitrary combination of dataSources can be useful for collections 
  632. of ports grouped for administrative reasons 
  633. (e.g. ports 1-8 == ISP_customer_1) or agent resource restrictions 
  634. (e.g. agent can only monitor ports in groups of 4).  
  635.  
  636. However, this approach was rejected for two reasons:
  637.  
  638.   1) the agent requirement to count a single packet once in a
  639.      port aggregation is perceived as too difficult to enforce in 
  640.      an interoperable manner because packet counting within a 
  641.      switch is too architecture-dependent.
  642.  
  643.   2) an arbitrary NMS has no way of knowing which permutations
  644.      of dataSources the agent will allow to be configured.
  645.      The WG could not think of a way to properly define MIB objects 
  646.      for such aggregation rules that didn't require brute force 
  647.      listing of all permutations.
  648.  
  649. Therefore the SMON Port Aggregation group will be removed, which 
  650. includes the following tables:
  651.  
  652.   - aggregCollTable
  653.   - aggregSelTable
  654.   - aggregControlTable
  655.   - aggregStatsTable
  656.  
  657. 3.3.6) VLAN Statistics Collection by DataSource
  658.  
  659. In this mode. an agent must monitor all frames on all ingress ports, 
  660. and attribute them to the correct VLAN.
  661.  
  662. Statistics will be gathered on packet-based VLANs, and it is
  663. an implementation-specific matter as to how the agent determines
  664. the proper default-VLAN for untagged, or priority-tagged frames 
  665. (PVID) for each frame.  RMON VLAN data collection is done after
  666. the VLAN Ingress Rules have been applied for each frame.
  667.  
  668. The RMON agent must identify the VLAN ID and user_priority 
  669. values associated with frames received at each ingress point on 
  670. the switch.  Frames are counted once at each ingress point only, 
  671. regardless of the number of egress ports to which the frame 
  672. will be forwarded.
  673.  
  674. It is an implementation-specific manner as to how many collections of 
  675. this type the agent may allow concurrently.
  676.  
  677. [Ed. - Do we need to add a requirement that the RMON agent converts
  678. LLC-TR encoded frames to LLC-N format for RMON counting purposes,
  679. to avoid confusion in the RMON tables that use MAC addesses in the
  680. indes?]
  681.  
  682. 3.3.7) PropVirtualTable Removed
  683.  
  684. The propVirtualTable was going to be used to allow an NMS to direct 
  685. the agent to perform the procedure described in sec. 3.3.4.  Since 
  686. arbitrary port aggregation (sec. 3.3.5) will not be supported, 
  687. there is no need for the NMS to create dataSources.
  688.  
  689. 3.3.8) IfStackTable Usage Removed
  690.  
  691. Since the rmonVlanDataSource registration OID will be used to identify 
  692. VLAN collections, and only packet-based VLANs can be collected for 
  693. more than a single dataSource (per collection), the ifStackTable is 
  694. no longer needed.
  695.  
  696. It is possible that implementations may choose to create ifStackEntries 
  697. when instantiating the rmonDataSourceEntry for a packet-based VLAN 
  698. dataSource, but this is not required or utilized by the standard.
  699.  
  700. 3.3.9) SmonStatsDataSource TC Removed
  701.  
  702. This TC allowed an smonDataSource to be filtered by VLAN ID and/or VLAN 
  703. user priority by appending parameters to an smonDataSource value.  
  704. This would allow collection of a single VLAN on a single port, but the 
  705. group felt the feature was not worth the extra complexity.
  706.  
  707. 3.3.10) SMON VLAN Statistics
  708.  
  709. The SMON MIB will support aggregated statistics for IEEE 802.1Q VLAN 
  710. environments.
  711.  
  712. VLAN statistics can be gathered in two different ways; either by using a 
  713. dataSource referencing a VLAN (sec. 3.3.6) or by configuring 
  714. smonVlanIdStats and/or smonVlanPrioStats collections. These functions allow 
  715. a VLAN-ID or user priority distributions per dataSource, auto-populated by 
  716. the agent in a manner similar to the RMON1 hostTable.
  717.  
  718. Only good frames are counted in the tables described in this section.
  719.  
  720. 3.3.10.1) VLAN ID Stats
  721.  
  722. The smonVlanStatsControlTable allows configuration of VLAN-ID collections.
  723.  
  724.   smonVlanStatsControlEntry
  725.     INDEX { smonStatsControlIndex }
  726.  
  727.     SmonVlanStatsControlEntry ::= SEQUENCE {
  728.         smonVlanStatsControlIndex         Integer32,
  729.         smonVlanStatsControlDataSource    SmonDataSource,
  730.         smonVlanStatsControlCreateTime    LastCreateTime,
  731.         smonVlanStatsControlOwner         OwnerString,
  732.         smonVlanStatsControlStatus        RowStatus
  733.     }
  734.  
  735. The smonVlanIdStatsTable provides a distribution based on the IEEE 802.1Q 
  736. VLAN-ID (VID), for each frame attributed to the data source for the 
  737. collection. 
  738.  
  739. This function applies the same rules for attributing frames to VLAN-based 
  740. collections. RMON VLAN statistics are collected after the Ingress Rules 
  741. defined in section 3.13 of the VLAN Specification (P802.1Q/D4) 
  742. are applied. [ed. maybe not, see below]
  743.  
  744. The main motivation for this table is to provide a high-level view of 
  745. total VLAN usage, and relative non-unicast traffic usage.  To differentiate 
  746. between multicast and broadcast traffic for a given VLAN, 
  747. a VLAN-based hostTable collection should be used.
  748.  
  749. Counter Matrix == [total, NUcast] * [pkts, octets] * 
  750.                   [Counter32, Ovfl-Counter32, Counter64]
  751.  
  752.   smonVlanStatsIdEntry
  753.     INDEX { smonStatsControlIndex, smonVlanIdStatsId }
  754.  
  755.     SmonVlanStatsIdEntry ::= SEQUENCE {
  756.         smonVlanIdStatsId                   Integer32,
  757.         smonVlanIdStatsTotalPkts            Counter32,
  758.         smonVlanIdStatsTotalOvflPkts        Counter32,
  759.         smonVlanIdStatsTotalHCPkts          Counter64,
  760.         smonVlanIdStatsTotalOctets          Counter32,
  761.         smonVlanIdStatsTotalOvflOctets      Counter32,
  762.         smonVlanIdStatsTotalHCOctets        Counter64,
  763.         smonVlanIdStatsNUcastPkts           Counter32,
  764.         smonVlanIdStatsNUcastOvflPkts       Counter32,
  765.         smonVlanIdStatsNUcastHCPkts         Counter64,
  766.         smonVlanIdStatsNUcastOctets         Counter32,
  767.         smonVlanIdStatsNUcastOvflOctets     Counter32,
  768.         smonVlanIdStatsNUcastHCOctets       Counter64
  769.     }
  770.  
  771.  -  smonVlanIdStatsId             Integer32 (0..4095)
  772.     VLAN Tag ID
  773.     Note that index 0 is supposed to be converted to a valid VID, based on 
  774.     the associated PVID.    [ed. - What does INDEX[0] count? ]
  775.  
  776. 3.3.10.2) SmonVlanIdStatsTable Garbage Collection
  777.  
  778. It is possible that entries in this table will be LRU garbage-collected 
  779. based on agent resources, and VLAN configuration.  Agents are encouraged 
  780. to support all 4096 index values and not garbage collect this table.
  781.  
  782. [ed. Given that these can be removed and recreated, just like an 
  783. nlHostEntry, shouldn't there be a LastCreateTime object in the table?]
  784.  
  785.  
  786. 3.3.10.3) VLAN Priority Stats
  787.  
  788. The smonPrioStatsControlTable allows configuration of VLAN collections, 
  789. based on the value of the 3-bit user_priority field encoded in the TCI.  
  790. Note that this table merely reports priority as encoded in VLAN headers, 
  791. not the priority (if any) given the frame for actual switching purposes.
  792.  
  793.   smonPrioStatsControlEntry
  794.     INDEX { smonPrioControlIndex }
  795.  
  796.     SmonPrioStatsControlEntry ::= SEQUENCE {
  797.         smonPrioStatsControlIndex         Integer32,
  798.         smonPrioStatsControlDataSource    SmonDataSource,
  799.         smonPrioStatsControlCreateTime    LastCreateTime,
  800.         smonPrioStatsControlOwner         OwnerString,
  801.         smonPrioStatsControlStatus        RowStatus
  802.     }
  803.  
  804. The smonPrioStatsTable provides a distribution based on the user_priority 
  805. field in the VLAN header.
  806.  
  807. Counter Matrix == [total] * [pkts, octets] * 
  808.                   [Counter32, Ovfl-Counter32, Counter64]
  809.  
  810.   smonPrioStatsEntry
  811.     INDEX { smonPrioControlIndex, smonPrioStatsId }
  812.  
  813.     SmonPrioStatsEntry ::= SEQUENCE {
  814.         smonPrioStatsId                 Integer32,
  815.         smonPrioStatsPkts               Counter32,
  816.         smonPrioStatsOvflPkts           Counter32,
  817.         smonPrioStatsHCPkts             Counter64,
  818.         smonPrioStatsOctets             Counter32,
  819.         smonPrioStatsOvflOctets         Counter32,
  820.         smonPrioStatsHCOctets           Counter64
  821.     }
  822.  
  823.  -  smonPrioStatsId             Integer32 (0..7)
  824.     VLAN Tag User Priority value
  825.  
  826.  - Entries in this table may not be garbage-collected.
  827.  
  828.  - NUcast counters were removed because only the packet and octet 
  829.    priority totals were deemed to be interesting.
  830.  
  831. 3.3.11) PortCopyTable
  832.  
  833. The portCopyTable is used along with the dataSourceCopyCaps object in 
  834. the dataSourceCapsTable to configure traffic steering functions within 
  835. a switch.  Note that this table manages no RMON data collection in itself, 
  836. and a probe may possibly implement no other RMON objects except the 
  837. probeCapabilities scalar, the dataSourceCapsTable, and this table.
  838.  
  839.    portCopyTable
  840.    INDEX [ portCopySource, portCopyDest]
  841.  
  842.    PortCopyEntry ::=  SEQUENCE {
  843.         portCopySource            InterfaceIndex,
  844.         portCopyDest              InterfaceIndex,
  845.         portCopyDstDroppedFrames  Counter32,
  846.         portCopyStatus            RowStatus
  847.    }
  848.  
  849. The portCopySource and portCopyDest values must represent ifEntries 
  850. which have corresponding entries in the dataSourceCapsTable.
  851.  
  852. It is an implementation specific matter as to whether an agent 
  853. will allow an interface to act as a portCopySource and a portCopyDest 
  854. at the same time, or allow an interface to be used for RMON collection 
  855. and portCopy operation(s) at the same time.  An agent may allow any or 
  856. all of the portCopy modes described below.
  857.  
  858. The standard does not place a limit on the mode by which this copy function 
  859. may be used:
  860.  
  861.  Mode 1 --  1:1 Copy
  862.    Single dataSource copied to a single destination dataSource.
  863.    Agent may limit configuration based on ifTypes, ifSpeeds,
  864.    half-duplex/full-duplex, or agent resources.
  865.    In this mode the single instance of the portCopyDstDroppedFrames 
  866.    object refers to dropped frames on the portCopyDest interface.
  867.  
  868.  Mode 2 --  N:1 Copy
  869.    Multiple dataSources copied to a single destination dataSource.
  870.    Agent may limit configuration based on ifTypes, ifSpeeds,
  871.    half-duplex/full-duplex, portCopyDest over-subscription,
  872.    or agent resources.
  873.    In this mode all N instances of the portCopyDstDroppedFrames 
  874.    object should contain the same value, and refer to dropped frames 
  875.    on the portCopyDest interface.
  876.  
  877.  Mode 3 --  N:M Copy
  878.    Multiple dataSources copied to multiple destination dataSources.
  879.    Agent may limit configuration based on ifTypes, ifSpeeds,
  880.    half-duplex/full-duplex, portCopyDest over-subscription, or agent 
  881.    resources.
  882.    In this mode all N instances of the portCopyDstDroppedFrames 
  883.    object should the droppedFrames counter associated with the
  884.    portCopyDest INDEX value for the specific entry, and refer to the 
  885.    total dropped frames on that portCopyDest interface (i.e., a single 
  886.    droppedFrames counter is maintained for each value of M).
  887.  
  888. The rows do not have an OwnerString, since multiple rows may be part 
  889. of the same portCopy operation. The agent is expected to activate or 
  890. deactivate entries one at a time, based on the rowStatus for the given row.
  891. This can lead to unpredictable results in Modes 2 and 3 in applications 
  892. utilizing the portCopy target traffic, if multiple PDUs are used to 
  893. fully configure the operation.  It is reccomended that an entire
  894. portCopy operation be configured in one SetRequest PDU if possible.
  895.  
  896. The portCopyDest object may not reference an interface associated with 
  897. a packet-based VLAN (rmonVlanDataSource.V), but this dataSource type may be 
  898. used as a portCopySource.
  899.  
  900. 3.3.12) SMON Conformance Statements and Groups
  901.  
  902. There are 4 groups in the SMON MIB:
  903.   1) smonVlanStats
  904.   2) smonPrioStats
  905.   3) dataSource
  906.   4) portCopy
  907.  
  908. There are 3 conformance groups:
  909.   1) smonMIBGroup
  910.      - all 4 groups mandatory
  911.  
  912.   2) smonMibStats
  913.      - dataSource mandatory
  914.      - smonVlanStats mandatory if IEEE 802.1Q bridging implemented
  915.      - smonPrioStats mandatory if IEEE 802.1p priority-switching implemented
  916.      - portCopy optional
  917.  
  918.   3) portCopy
  919.      - dataSource mandatory
  920.      - smonVlanStats optional
  921.      - smonPrioStats optional
  922.      - portCopy mandatory
  923.  
  924.  
  925. 3.4) ProbeCapabilities Additions
  926.    
  927. The probeCapabilities bitmask needs to be republished with some new 
  928. BIT definitions for the HC-RMON and SMON MIBs:
  929.  
  930.  HC-RMON MIB:
  931.  
  932.     - HCStats(27)
  933.       The probe supports at least one of the HC statistics collection 
  934.       types.
  935.  
  936.     - HCHistory(28)
  937.       The probe supports at least one of the HC history collection types.
  938.  
  939.     - HCHost(29)
  940.       The probe supports at least one of the HC host collection types.
  941.  
  942.     - HCMatrix(30)
  943.       The probe supports at least one of the HC matrix collection types.
  944.  
  945.     - HCTopN(31)
  946.       The probe supports at least one of the HC topN collection types.
  947.  
  948.     - HCCapture(32)
  949.       The probe supports the captureBufferHCPacket group.
  950.  
  951. SMON MIB:
  952.  
  953.     - smonVlanStats(33)
  954.       The probe supports the smonVlanStats object group.
  955.  
  956.     - smonPrioStats(34)
  957.       The probe supports the smonPrioStats object group.
  958.  
  959.     - dataSource(35)
  960.       The probe supports the dataSource object group.
  961.  
  962.     - portCopy(36)
  963.       The probe supports the portCopy object group.
  964.  
  965. It hasn't been determined which new document will contain the updated 
  966. probeCapabilities object.  [ed. - Steve?]
  967.  
  968. 4) Meeting Resolutions
  969. ----------------------
  970.  
  971. The functional attributes of each feature have been specified by the WG.
  972. The WG Editors will now rewrite the drafts, and the final WG review
  973. cycle can then begin.
  974.  
  975. 4.1) Meeting Action Items
  976.  
  977. Each of the I-Ds in progress need to be updated by the WG Editors.
  978.  
  979. An I-D proposal for the Gauge64 TC needs to be written by the WG Chair.
  980.  
  981. 4.2) Near-Term Timetable
  982.  
  983.       June 27   -- Interim meeting ends
  984.       July 21   -- I-D updates published; upon publication give
  985.                    3 week WG Last Call on all I-Ds
  986.       August 11 -- Re-publish I-Ds if needed, and submit them to IESG,
  987.                    to begin NM Directorate Review process
  988.  
  989. 4.3) Upcoming RMONMIB WG Meetings 
  990.  
  991. There will not be an RMONMIB WG meeting at the Munich IETF.
  992. The WG plans to be completed before the meeting begins, and the
  993. upcoming I-Ds are not expected to generate any controversy.
  994. The current set of drafts have undergone three rounds of WG review,
  995. and all unresolvable features have been removed from the documents.
  996.  
  997.  
  998. 5) Attendees
  999. ------------
  1000.  
  1001.   Andy Bierman                   abierman@cisco.com
  1002.   Russell Dietz                  rsdietz@techelite.com
  1003.   John Flick                     johnf@hprnd.rose.hp.com
  1004.   Manjiri Gadagbar               manjiri@baynetworks.com
  1005.   Robin Iddon                    robin_iddon@3mail.3com.com
  1006.   Barry Kesner                   bkesner@raleigh.ibm.com
  1007.   Bill Lahaye                    lahaye@ctron.com
  1008.   Tam Nguyen                     tgnguyen@baynetworks.com
  1009.   David Perkins                  dperkins@scruznet.com
  1010.   Dan Romascanu                  dromasca@madge.com
  1011.   Rajeev Seth                    rseth@enetman.com
  1012.   Steve Waldbusser               waldbusser@ins.com
  1013.   Rich Waterman                  rwaterma@msn.com
  1014.   Hong Xiao                      hong@shomiti.com
  1015.  
  1016. --------------1809D9A521D4F0B6E61169FA--
  1017.  
  1018.