Service Location Working Group Pete St. Pierre INTERNET DRAFT Sun Microsystems 21 November 1997 SNMP MIB for SLP Directory Agents draft-ietf-svrloc-slp-mib-00.txt Status of This Memo This document is a submission by the Service Location Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the srvloc@corp.home.net mailing list. Distribution of this memo is unlimited. This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (North Europe), ftp.nis.garr.it (South Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This memo defines a Management Information Base (MIB) for the Service Location Protocol (SLP). The MIB describes the statistics and alerts required to allow management of Service Location Protocol enabled entities. The SLP MIB conforms to the Structure of Management Information (SMI), as described in RFC 1902. It is intended for use with the Simple Network Management Protocol, version 2. St.Pierre Expires 21 May 1998 [Page i] Internet Draft Schemas and Templates 21 November 1997 Contents Status of This Memo i Abstract i 1. Overview 1 2. The SNMPv2 Network Management Framework 1 3. Object Definitions 2 3.1. Configuration Group . . . . . . . . . . . . . . . . . . . 2 3.2. Request Statistics Group . . . . . . . . . . . . . . . . 2 3.3. Scoped Request Table . . . . . . . . . . . . . . . . . . 2 3.4. Last Processed Request . . . . . . . . . . . . . . . . . 3 3.5. Alerts . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Definitions 3 5. Acknowledgments 14 6. References 14 1. Overview The Service Location Protocol provides a scalable framework for the discovery and selection of network services. Using this protocol, computers using the Internet no longer need so much static configuration of network services for network based applications. The SLP MIB describes a set of attributes for managing the deployment of SLP directory agents. SLP directory agents that implement this MIB can be monitored to determine the usefulness of configured scopes, frequency of error conditions, and various mis-configuration and performance issues. 2. The SNMPv2 Network Management Framework The SNMPv2 Network Management Framework presently consists of three major components. They are: - the SMI, described in RFC 1902 [1] - the mechanisms used for describing and naming objects for the purpose of management. St.Pierre Expires 21 May 1998 [Page 1] Internet Draft Schemas and Templates 21 November 1997 - the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for the Internet suite of protocols. - the protocol, STD 15, RFC 1157 [3] and/or RFC 1905 [4], - the protocol for accessing managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 3. Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to refer to the object type. 3.1. Configuration Group The first group defined in the SLP MIB is a configuration group. This group describes the current operating parameters of an SLP enabled entity. The elements included in this group describe how the entity loaded its configuration parameters, as well as the operating values. This includes the list of known scopes, multicast TTL and how long the entity has been operating. 3.2. Request Statistics Group The request statistics group collects statistics about the overall operation of a Service Location Protocol directory agent. Statistics are collected across all scopes this entity is configured to operate within. The attributes in this group track both incomming request statistics as well as outgoing replies and any errors the two operations may generate. 3.3. Scoped Request Table The request statistics group, described in the previous section, provides a high level view of a directory agent's operation. In order to manage deployment of multiple directory agents the SLP MIB provides a ``scope indexed'' table of request activity. This table St.Pierre Expires 21 May 1998 [Page 2] Internet Draft Schemas and Templates 21 November 1997 is needed to determine which scopes may be overloading an agent, making them good candidates for deploying on alternate directory agents, elsewhere in the network. 3.4. Last Processed Request The last processed request group contains information about the last request that has been processed by a directory agent. This group is needed to provide accurate information when an error occurs. It may be used directly by network managers, though it is designed for inclusion within error reports, as discussed in the following section. 3.5. Alerts Only one alert is currently defined. This alert is generated when a directory agent is unable to correctly parse an incomming request. After a parse error has occurred, an event notification is generated, containing information about the originator and type of the offending request, assuming they can be determined. 4. Definitions SLP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI DisplayString, TimeStamp, DateAndTime TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; slpMib MODULE-IDENTITY LAST-UPDATED "9711140000Z" -- Nov 14, 1997" ORGANIZATION "IETF SLP Working Group" CONTACT-INFO "Pete St. Pierre St.Pierre Expires 21 May 1998 [Page 3] Internet Draft Schemas and Templates 21 November 1997 Postal: Sun Microsystems, Inc 901 San Antonio Ave Palo Alto, CA 94303 U.S.A. Phone: +1 650 786-5790 E-mail: Pete.StPierre@Eng.Sun.COM" DESCRIPTION "The MIB module describing the management of SLP Directory Agents" ::= { mib-2 TBD } -- Textual conventions -- In the next version, broadcast type (broadcast, multicast, -- unicast), should be defined here. -- SLP Directory Agent Mib objects definitions slpDAMibObjects OBJECT IDENTIFIER ::= { slpMib 1 } -- The slpDAConfigGroup describes the basic characteristics -- of the directory agent. The group contains contact -- information, in addition to the operational characteristics. slpDAConfigGroup OBJECT-GROUP OBJECTS { slpOperator, slpBootSrc, slpBootHost, slpUpTime, slpKnownScopes, slpBcastType, slpMulticastTTL } STATUS current DESCRIPTION "This groups contains the basic SLP DA operational parameters." ::= { slpDAMibObjects 1 } -- Who is responsible for this DA? slpOperator OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "THe name of the person responsible for the configuration and operation of this Directory Agent" ::= { slpDAConfigGroup 1 } St.Pierre Expires 21 May 1998 [Page 4] Internet Draft Schemas and Templates 21 November 1997 -- Was the configuration info from DHCP or a local file? slpBootSrc OBJECT-TYPE SYNTAX INTEGER { dhcp(1), static(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The mechanism used to load the current runtime configuration information." ::= { slpDAConfigGroup 2 } -- What is the address of the machine where the config file is -- located. If the information came from a configuration file -- the address should be 127.0.0.1 slpBootHost OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The location from where the current runtime configuration information was loaded." ::= { slpDAConfigGroup 3 } slpUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time, in hundreths of a second, since the SLP DA was last initialized" ::= { slpDAConfigGroup 4 } slpKnownScopes OBJECT-TYPE SYNTAX SET OF DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "This is a list of the scopes a DA knows about. Only registrations and requests within these scopes will be handled by this DA" ::= { slpDAConfigGroup 5 } slpBcastType OBJECT-TYPE SYNTAX INTEGER { broadcast(1), multicast(2), both(3) St.Pierre Expires 21 May 1998 [Page 5] Internet Draft Schemas and Templates 21 November 1997 } MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute indicates whether a DA has been configured to respond to broadcast, multicast or both types of requests." ::= { slpDAConfigGroup 6 } slpMulticastTTL OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The multicast TTL defines the domain within which this SLP DA will send DAAdverts and other multicast messages." ::= { slpDAConfigGroup 7 } -- The slpReqStatsGroup contains statistics about the requests -- that have been processed. These statistics are totals, not -- broken down by scope or other criteria. slpReqStatsGroup OBJECT-GROUP OBJECTS { slpUnicastReqCount, slpBroadcastReqCount, slpMultiacstReqCount, slpDiscoveryReqCount, slpZeroMatchCount, slpTCPRequestCount, slpTCPReplyCount, slpUDPReqCount, slpUDPReplyCount } STATUS current DESCRIPTION "This group contains statistics related to a DA handling various types of requests." ::= { slpDAMibObjects 2 } slpUnicastReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests that have been received by this DA via unicast" ::= { slpReqStatsGroup 1 } St.Pierre Expires 21 May 1998 [Page 6] Internet Draft Schemas and Templates 21 November 1997 slpBroadcastReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of request that have been received by this DA via broadcast" ::= { slpReqStatsGroup 2 } slpMulticastReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of request that have been received by this DA via multicast" ::= { slpReqStatsGroup 3 } slpDiscoveryReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DA discovery requests seen by this DA" ::= { slpReqStatsGroup 4 } slpZeroMatchCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a process request resulted in zero matching entries." ::= { slpReqStatsGroup 5 } slpTCPReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of requests received via TCP" ::= { slpReqStatsGroup 6 } slpTCPReplyCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only St.Pierre Expires 21 May 1998 [Page 7] Internet Draft Schemas and Templates 21 November 1997 STATUS current DESCRIPTION "The total number of replied generated via TCP" ::= { slpReqStatsGroup 7 } slpUDPReqCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of requests received via UDP" ::= { slpReqStatsGroup 8 } slpUDPReplyCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of replied generated via UDP" ::= { slpReqStatsGroup 9 } -- The slpReqTable provides information similar to the -- slpReqStatsGroup, but the table is indexed by scope. -- this allows for monitoring DAs according to their -- configured scopes. slpReqTable OBJECT-TYPE SYNTAX SEQUENCE of slpReqEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table representing request statistics, broken down by the scope for which they were received" ::= { slpDAMibObjects 3 } slpReqEntry OBJECT-TYPE SYNTAX SlpReqEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in the scoped request table" INDEX { slpReqScope } ::= { slpReqTable 1} SlpReqEntry SEQUENCE { St.Pierre Expires 21 May 1998 [Page 8] Internet Draft Schemas and Templates 21 November 1997 slpReqScope DisplayString, slpReqBcast Unsigned32, slpReqMcast Unsigned32, slpReqUcast Unsigned32, slpReqSrv Unsigned32, slpReqAttr Unsigned32, slpReqType Unsigned32, slpReqDA Unsigned32, slpReqTCP Unsigned32, slpReqUDP Unsigned32, slpReqNoMatch Unsigned32 } slpReqScope OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The scope that applies to these statistics" ::= { slpReqEntry 1 } slpReqBcast OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests in this scope that were received via broadcast" ::= { slpReqEntry 2 } -- Some implementations may have difficulty distinguishing -- between multicast and broadcast packets that have been -- received. slpReqMcast OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests in this scope that were received via multicast" ::= { slpReqEntry 3 } slpReqUcast OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests in this scope that St.Pierre Expires 21 May 1998 [Page 9] Internet Draft Schemas and Templates 21 November 1997 were received via unicast" ::= { slpReqEntry 4 } slpReqSrv OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of service requests received for this scope" ::= { slpReqEntry 5 } slpReqAttr OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of attribute requests received" ::= { slpReqEntry 6 } slpReqType OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of service type requests received" ::= { slpReqEntry 7 } slpReqDA OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DA discovery requests received" ::= { slpReqEntry 8 } slpReqTCP OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests in this scope received via TCP" ::= { slpReqEntry 9 } slpReqUDP OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current St.Pierre Expires 21 May 1998 [Page 10] Internet Draft Schemas and Templates 21 November 1997 DESCRIPTION "The number of requests in this scope received via UDP" ::= { slpReqEntry 10 } slpReqNoMatch OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests received in this scope which produced no matching service URLs" ::= { slpReqEntry 11 } -- This group contains information about the last request -- procesed. An administrator may use this group to sample -- times between a request and the prior request. It is also -- used as the source for attributes in a Parse Error -- notification. slpDALastReqGroup OBJECT-GROUP OBJECTS { slpLastReqType, slpLastReqFrom, slpLastReqScope, slpLastReqError, slpLastReqTime, slpLastReqETime STATUS current DESCRIPTION "This groups contains information about the last request that was processed" ::= { slpDAMibObjects 4 } slpLastReqType OBJECT-TYPE SYNTAX INTEGER { service (1), service type(2), DA discovery(3), attribute(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of request processed" ::= { slpDALastReq 1 } slpLastReqFrom OBJECT-TYPE SYNTAX IpAddress St.Pierre Expires 21 May 1998 [Page 11] Internet Draft Schemas and Templates 21 November 1997 MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the UA that made the last request" ::= { slpDALastReq 2 } slpLastReqScope OBJECT-TYPE SYNTAX SET OF DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "The list of scopes provided with this request" ::= { slpDALastReq 3 } slpLastReqError OBJECT-TYPE SYNTAX INTEGER { parse(1), authentication(2), no match(2), none(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Any error generated while processing this request" ::= { slpDALastReq 4 } slpLastReqTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The Date and Time this request was processed" ::= { slpDALastReq 5 } slpLastReqTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time, in hundreths of a second, since the last request was processed" ::= { slpDALastReq 6 } -- How many errors of each category has the DA received. St.Pierre Expires 21 May 1998 [Page 12] Internet Draft Schemas and Templates 21 November 1997 -- Some errors should actually generate alerts -- since they indicate the UA making the request may be -- malfunctioning. slpDAEventGroup NOTIFICATION-GROUP NOTIFICATIONS { slpDAParseError } STATUS current DESCRIPTION "The list of notifications (traps) that an SLP DA may generate" ::= { slpDAMibObjects 5 } slpDAParseError NOTIFICATION-TYPE OBJECTS { slpLastReqType, slpLastReqFrom slpLastReqScope, slpLastReqError } STATUS current DESCRIPTION "The SLP DA could not correctly parse a request." ::= { slpDAEventGroup 0 1 } -- Compliance statements slpCompliances OBJECT IDENTIFIER ::= { slpMib 2 } slpBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the basic elements of the SLP MIB for monitoring SLP directory agents" MODULE -- this module MANDATORY-GROUPS{ slpDAConfigGroup, slpDALastReqGroup, slpDAEventGroup } ::= { slpCompliances 1 } slpFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the basic elements of the SLP MIB for monitoring SLP directory agents" MODULE -- this module MANDATORY-GROUPS{ slpDAConfigGroup, slpDALastReqGroup, slpReqStatsGroup, slpReqTable, slpDAEventGroup } ::= slpCompliances 2 St.Pierre Expires 21 May 1998 [Page 13] Internet Draft Schemas and Templates 21 November 1997 END 5. Acknowledgments This document is a product of the Service Location Working group. A special thanks to Erik Guttman for his prompting to begin this task, as well as frequent feedback and suggestions during the MIB development process. 6. References [1]SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [2]McCloghrie, K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [3]Case, J., Fedor, M., Schoffstall, M., and J. Davin, "A Simple Network Management Protocol (SNMP)", STD 15, RFC 1157, SNMP Research, Performance Systems International, MIT Lab for Computer Science, May 1990. [4]SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [5]J. Veizades, E. Guttman, C. Perkins, and S. Kaplan. "Service Location Protocol", RFC 2165. June 1997. Full Copyright Statement Copyright (C) The Internet Society (1997). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph St.Pierre Expires 21 May 1998 [Page 14] Internet Draft Schemas and Templates 21 November 1997 are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Authors' Addresses Questions about this memo can be directed to: Pete St. Pierre Sun Microsystems 901 San Antonio Avenue Palo Alto, CA 94303 USA Phone: +1 415 786-5790 email: Pete.StPierre@Eng.Sun.COM St.Pierre Expires 21 May 1998 [Page 15]