Network Working Group                                      F. Kastenholz
Request for Comments: 1474                            FTP Software, Inc.
                                                               June 1993


                 The Definitions of Managed Objects for
                 the Bridge Network Control Protocol of
                      the Point-to-Point Protocol

Status of this Memo

   This RFC specifies an IAB standards track protocol for the Internet
   community, and requests discussion and suggestions for improvements.
   Please refer to the current edition of the "IAB Official Protocol
   Standards" for the standardization state and status of this protocol.
   Distribution of this memo is unlimited.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in TCP/IP-based internets.
   In particular, it describes managed objects used for managing the
   bridge Network Control Protocol [10] on subnetwork interfaces using
   the family of Point-to-Point Protocols.

Table of Contents

   1. The Network Management Framework ......................    1
   2. Objects ...............................................    2
   2.1 Format of Definitions ................................    2
   3. Overview ..............................................    2
   3.1 Object Selection Criteria ............................    2
   3.2 Structure of the PPP .................................    3
   3.3 MIB Groups ...........................................    3
   4. Definitions ...........................................    4
   5. Acknowledgements ......................................   13
   6. Security Considerations ...............................   14
   7. References ............................................   14
   8. Author's Address ......................................   15

1.  The Network Management Framework

   The Internet-standard Network Management Framework consists of three
   components.  They are:

      STD 16/RFC 1155 which defines the SMI, the mechanisms used for
      describing and naming objects for the purpose of management.  STD
      16/RFC 1212 defines a more concise description mechanism, which is



Kastenholz                                                      [Page 1]

RFC 1474                     PPP/Bridge MIB                    June 1993


      wholly consistent with the SMI.

      STD 17/RFC 1213 which defines MIB-II, the core set of managed
      objects for the Internet suite of protocols.

      STD 15/RFC 1157 which defines the SNMP, the protocol used for
      network access to managed objects.

   The Framework permits new objects to be defined for the purpose of
   experimentation and evaluation.

2.  Objects

   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) [3]
   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.

2.1.  Format of Definitions

   Section 4 contains the specification of all object types contained in
   this MIB module.  The object types are defined using the conventions
   defined in the SMI, as amended by the extensions specified in [5,6].

3.  Overview

3.1.  Object Selection Criteria

   To be consistent with IAB directives and good engineering practice,
   an explicit attempt was made to keep this MIB as simple as possible.
   This was accomplished by applying the following criteria to objects
   proposed for inclusion:

      (1)  Require objects be essential for either fault or
           configuration management.  In particular, objects for
           which the sole purpose was to debug implementations were
           explicitly excluded from the MIB.

      (2)  Consider evidence of current use and/or utility.

      (3)  Limit the total number of objects.

      (4)  Exclude objects which are simply derivable from others in



Kastenholz                                                      [Page 2]

RFC 1474                     PPP/Bridge MIB                    June 1993


           this or other MIBs.

3.2.  Structure of the PPP

   This section describes the basic model of PPP used in developing the
   PPP MIB. This information should be useful to the implementor in
   understanding some of the basic design decisions of the MIB.

   The PPP is not one single protocol but a large family of protocols.
   Each of these is, in itself, a fairly complex protocol.  The PPP
   protocols may be divided into three rough categories:

   Control Protocols
      The Control Protocols are used to control the operation of the
      PPP. The Control Protocols include the Link Control Protocol
      (LCP), the Password Authentication Protocol (PAP), the Link
      Quality Report (LQR), and the Challenge Handshake Authentication
      Protocol (CHAP).

   Network Protocols
      The Network Protocols are used to move the network traffic over
      the PPP interface.  A Network Protocol encapsulates the datagrams
      of a specific higher-layer protocol that is using the PPP as a
      data link.  Note that within the context of PPP, the term "Network
      Protocol" does not imply an OSI Layer-3 protocol; for instance,
      there is a Bridging network protocol.

   Network Control Protocols (NCPs)
      The NCPs are used to control the operation of the Network
      Protocols. Generally, each Network Protocol has its own Network
      Control Protocol; thus, the IP Network Protocol has its IP Control
      Protocol, the Bridging Network Protocol has its Bridging Network
      Control Protocol and so on.

   This document specifies the objects used in managing one of these
   protocols, namely the Bridge Network Control Protocol.

3.3.  MIB Groups

   Objects in this MIB are arranged into several MIB groups.  Each group
   is organized as a set of related objects.

   These groups are the basic unit of conformance: if the semantics of a
   group are applicable to an implementation then all objects in the
   group must be implemented.

   The PPP MIB is organized into several MIB Groups, including, but not
   limited to, the following groups:



Kastenholz                                                      [Page 3]

RFC 1474                     PPP/Bridge MIB                    June 1993


          o The PPP Link Group
          o The PPP LQR Group
          o The PPP LQR Extensions Group
          o The PPP IP Group
          o The PPP Bridge Group
          o The PPP Security Group

   This document specifies the following group:

   The PPP Bridge Group
      The PPP Bridge Group contains configuration, status, and control
      variables that apply to the operation of Bridging over PPP.

      Implementation of this group is mandatory for all implementations
      of PPP that support the Bridging over PPP.


4.  Definitions

          PPP-BRIDGE-NCP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               Counter
                    FROM RFC1155-SMI
               ifIndex
                    FROM RFC1213-MIB
               OBJECT-TYPE
                    FROM RFC-1212
               ppp
                    FROM PPP-LCP-MIB;

               pppBridge OBJECT IDENTIFIER ::= { ppp 4 }

          --
          -- The PPP Bridge NCP Group.
          -- Implementation of this group is mandatory for all
          -- PPP implementations that support MAC Bridging  over
          -- PPP (RFC1220).
          --

          -- The following object reflect the values of the option
          -- parameters used in the PPP Link Control Protocol
          --   pppBridgeLocalToRemoteTinygramCompression
          --   pppBridgeRemoteToLocalTinygramCompression
          --   pppBridgeLocalToRemoteLanId
          --   pppBridgeRemoteToLocalLanId
          --
          -- These values are not available until after the PPP Option



Kastenholz                                                      [Page 4]

RFC 1474                     PPP/Bridge MIB                    June 1993


          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e. pppBridgeOperStatus is set to
          -- opened).
          --
          -- Therefore, when pppBridgeOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          pppBridgeTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the parameters and statistics
                         for the local PPP entity that are related to
                         the operation of Bridging over the PPP."
               ::= { pppBridge 1 }


          pppBridgeEntry   OBJECT-TYPE
               SYNTAX    PppBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Bridging information for a particular PPP
                         link."
               INDEX     { ifIndex }
               ::= { pppBridgeTable 1 }


          PppBridgeEntry ::= SEQUENCE {
               pppBridgeOperStatus
                    INTEGER,
               pppBridgeLocalToRemoteTinygramCompression
                    INTEGER,
               pppBridgeRemoteToLocalTinygramCompression
                    INTEGER,
               pppBridgeLocalToRemoteLanId
                    INTEGER,
               pppBridgeRemoteToLocalLanId
                    INTEGER
          }

          pppBridgeOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only



Kastenholz                                                      [Page 5]

RFC 1474                     PPP/Bridge MIB                    June 1993


               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Bridge network
                         protocol. If the value of this object is up
                         then the finite state machine for the Bridge
                         network protocol has reached the Opened state."
               ::= { pppBridgeEntry 1 }


          pppBridgeLocalToRemoteTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will perform
                         Tinygram Compression when sending packets to
                         the remote entity. If false then the local
                         entity will not perform Tinygram Compression.
                         If true then the local entity will perform
                         Tinygram Compression. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { pppBridgeEntry 2 }


          pppBridgeRemoteToLocalTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false(1) then the remote entity is not
                         expected to perform Tinygram Compression. If
                         true then the remote entity is expected to
                         perform Tinygram Compression. The value of this
                         object is meaningful only when the link has
                         reached the open state (pppBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { pppBridgeEntry 3 }






Kastenholz                                                      [Page 6]

RFC 1474                     PPP/Bridge MIB                    June 1993


          pppBridgeLocalToRemoteLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will include
                         the LAN Identification field in transmitted
                         packets or not. If false(1) then the local node
                         will not transmit this field, true(2) means
                         that the field will be transmitted. The value
                         of this object is meaningful only when the link
                         has reached the open state (pppBridgeOperStatus
                         is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { pppBridgeEntry 4 }


          pppBridgeRemoteToLocalLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote node has
                         indicated that it will include the LAN
                         Identification field in transmitted packets or
                         not. If false(1) then the field will not be
                         transmitted, if true(2) then the field will be
                         transmitted. The value of this object is
                         meaningful only when the link has reached the
                         open state (pppBridgeOperStatus is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { pppBridgeEntry 5 }


          --
          -- The PPP Bridge Configuration table
          --

          pppBridgeConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the parameters and statistics



Kastenholz                                                      [Page 7]

RFC 1474                     PPP/Bridge MIB                    June 1993


                         for the local PPP entity that are related to
                         the operation of Bridging over the PPP."
               ::= { pppBridge 2 }


          pppBridgeConfigEntry   OBJECT-TYPE
               SYNTAX    PppBridgeConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Bridging Configuration information for a
                         particular PPP link."
               INDEX     { ifIndex }
               ::= { pppBridgeConfigTable 1 }


          PppBridgeConfigEntry ::= SEQUENCE {
               pppBridgeConfigAdminStatus
                    INTEGER,
               pppBridgeConfigTinygram
                    INTEGER,
               pppBridgeConfigRingId
                    INTEGER,
               pppBridgeConfigLineId
                    INTEGER,
               pppBridgeConfigLanId
                    INTEGER
          }


          pppBridgeConfigAdminStatus   OBJECT-TYPE
               SYNTAX    INTEGER { open(1), close(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The immediate desired status of the Bridging
                         network protocol. Setting this object to open
                         will inject an administrative open event into
                         the Bridging network protocol's finite state
                         machine. Setting this object to close will
                         inject an administrative close event into the
                         Bridging network protocol's finite state
                         machine."
               ::= { pppBridgeConfigEntry 1 }


          pppBridgeConfigTinygram   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }



Kastenholz                                                      [Page 8]

RFC 1474                     PPP/Bridge MIB                    June 1993


               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local BNCP entity will not
                         initiate the Tinygram Compression Option
                         Negotiation. If true then the local BNCP entity
                         will initiate negotiation of this option."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               DEFVAL    { true }
               ::= { pppBridgeConfigEntry 2 }


          pppBridgeConfigRingId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local PPP Entity will not
                         initiate a Remote Ring Identification Option
                         negotiation. If true then the local PPP entity
                         will intiate this negotiation. This MIB object
                         is relevant only if the interface is for 802.5
                         Token Ring bridging."
               REFERENCE
                         "Section 6.4, IEEE 802.5 Remote Ring
                         Identification Option, of RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 3 }


          pppBridgeConfigLineId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local PPP Entity is not to
                         initiate a Line Identification Option
                         negotiation. If true then the local PPP entity
                         will intiate this negotiation. This MIB object
                         is relevant only if the interface is for 802.5
                         Token Ring bridging."
               REFERENCE
                         "Section 6.5, IEEE 802.5 Line Identification
                         Option, of RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 4 }



Kastenholz                                                      [Page 9]

RFC 1474                     PPP/Bridge MIB                    June 1993


          pppBridgeConfigLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local BNCP entity will not
                         initiate the LAN Identification Option
                         Negotiation. If true then the local BNCP entity
                         will initiate negotiation of this option."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 5 }


          --
          -- The PPP Bridge Media Status Table
          --

          pppBridgeMediaTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeMediaEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table identifying which MAC media types are
                         enabled for the Bridging NCPs."
               ::= { pppBridge 3 }


          pppBridgeMediaEntry   OBJECT-TYPE
               SYNTAX    PppBridgeMediaEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status of a specific MAC Type for a specific
                         PPP Link."
               INDEX     { ifIndex, pppBridgeMediaMacType }
               ::= { pppBridgeMediaTable 1 }


          PppBridgeMediaEntry ::= SEQUENCE {
               pppBridgeMediaMacType
                    INTEGER,
               pppBridgeMediaLocalStatus
                    INTEGER,
               pppBridgeMediaRemoteStatus
                    INTEGER



Kastenholz                                                     [Page 10]

RFC 1474                     PPP/Bridge MIB                    June 1993


          }

          pppBridgeMediaMacType   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The MAC type for which this entry in the
                         pppBridgeMediaTable is providing status
                         information. Valid values for this object are
                         defined in Section 6.6 MAC Type Support
                         Selection of RFC1220 (Bridging Point-to-Point
                         Protocol)."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 1 }


          pppBridgeMediaLocalStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity will accept packets of the protocol type
                         identified in pppBridgeMediaMacType on the PPP
                         link identified by ifIndex or not. If this
                         object is accept then any packets of the
                         indicated MAC type will be received and
                         properly processed. If this object is dont-
                         accept then received packets of the indicated
                         MAC type will not be properly processed."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 2 }


          pppBridgeMediaRemoteStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity believes that the remote PPP Bridging
                         Entity will accept packets of the protocol type
                         identified in pppBridgeMediaMacType on the PPP



Kastenholz                                                     [Page 11]

RFC 1474                     PPP/Bridge MIB                    June 1993


                         link identified by ifIndex or not."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 3 }


          --
          -- The PPP Bridge Media Configuration Table
          --

          pppBridgeMediaConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeMediaConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table identifying which MAC media types are
                         enabled for the Bridging NCPs."
               ::= { pppBridge 4 }


          pppBridgeMediaConfigEntry   OBJECT-TYPE
               SYNTAX    PppBridgeMediaConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status of a specific MAC Type for a specific
                         PPP Link."
               INDEX     { ifIndex, pppBridgeMediaConfigMacType }
               ::= { pppBridgeMediaConfigTable 1 }


          PppBridgeMediaConfigEntry ::= SEQUENCE {
               pppBridgeMediaConfigMacType
                    INTEGER,
               pppBridgeMediaConfigLocalStatus
                    INTEGER
          }


          pppBridgeMediaConfigMacType   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The MAC type for which this entry in the
                         pppBridgeMediaConfigTable is providing status
                         information. Valid values for this object are



Kastenholz                                                     [Page 12]

RFC 1474                     PPP/Bridge MIB                    June 1993


                         defined in Section 6.6 MAC Type Support
                         Selection of RFC1220 (Bridging Point-to-Point
                         Protocol)."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaConfigEntry 1 }


          pppBridgeMediaConfigLocalStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity should accept packets of the protocol
                         type identified in pppBridgeMediaConfigMacType
                         on the PPP link identified by ifIndex or not.
                         Setting this object to the value dont-accept
                         has the affect of invalidating the
                         corresponding entry in the
                         pppBridgeMediaConfigTable object. It is an
                         implementation-specific matter as to whether
                         the agent removes an invalidated entry from the
                         table. Accordingly, management stations must be
                         prepared to receive tabular information from
                         agents that corresponds to entries not
                         currently in use. Changing this object will
                         have effect when the link is next restarted."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaConfigEntry 2 }


          END

6.  Acknowledgements

   This document was produced by the PPP working group.  In addition to
   the working group, the author wishes to thank the following
   individuals for their comments and contributions:

          Bill Simpson -- Daydreamer
          Glenn McGregor -- Merit
          Jesse Walker -- DEC
          Chris Gunner -- DEC




Kastenholz                                                     [Page 13]

RFC 1474                     PPP/Bridge MIB                    June 1993


6.  Security Considerations

   The PPP MIB affords the network operator the ability to configure and
   control the PPP links of a particular system, including the PPP
   authentication protocols. This represents a security risk.

   These risks are addressed in the following manners:

      (1)  All variables which represent a significant security risk
           are placed in separate, optional, MIB Groups. As the MIB
           Group is the quantum of implementation within a MIB, the
           implementor of the MIB may elect not to implement these
           groups.

      (2)  The implementor may choose to implement the variables
           which present a security risk so that they may not be
           written, i.e., the variables are READ-ONLY. This method
           still presents a security risk, and is not recommended,
           in that the variables, specifically the PPP
           Authentication Protocols' variables, may be easily read.

      (3)  Using SNMPv2, the operator can place the variables into
           MIB views which are protected in that the parties which
           have access to those MIB views use authentication and
           privacy protocols, or the operator may elect to make
           these views not accessible to any party.  In order to
           facilitate this placement, all security-related variables
           are placed in separate MIB Tables. This eases the
           identification of the necessary MIB View Subtree.

7.  References

   [1] Rose M., and K. McCloghrie, "Structure and Identification of
       Management Information for TCP/IP-based internets", STD 16, RFC
       1155, Performance Systems International, Hughes LAN Systems, May
       1990.

   [2] McCloghrie K., and M. Rose, Editors, "Management Information Base
       for Network Management of TCP/IP-based internets", STD 17, RFC
       1213, Performance Systems International, March 1991.

   [3] Information processing systems - Open Systems Interconnection -
       Specification of Abstract Syntax Notation One (ASN.1),
       International Organization for Standardization, International
       Standard 8824, December 1987.

   [4] Information processing systems - Open Systems Interconnection -
       Specification of Basic Encoding Rules for Abstract Notation One



Kastenholz                                                     [Page 14]

RFC 1474                     PPP/Bridge MIB                    June 1993


       (ASN.1), International Organization for Standardization,
       International Standard 8825, December 1987.

   [5] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions",
       STD 16, RFC 1212, Performance Systems International, Hughes LAN
       Systems, March 1991.

   [6] Rose, M., Editor, "A Convention for Defining Traps for use with
       the SNMP", RFC 1215, Performance Systems International, March
       1991.

   [7] McCloghrie, K., "Extensions to the Generic-Interface MIB", RFC
       1229, Hughes LAN Systems, Inc., May 1991.

   [8] Simpson, W., "The Point-to-Point Protocol for the Transmission of
       Multi-protocol Datagrams over Point-to-Point Links, RFC 1331,
       Daydreamer, May 1992.

   [9] McGregor, G., "The PPP Internet Protocol Control Protocol", RFC
       1332, Merit, May 1992.

  [10] Baker, F., "Point-to-Point Protocol Extensions for Bridging", RFC
       1220, ACC, April 1991.

  [11] Lloyd, B., and W. Simpson, "PPP Authentication Protocols", RFC
       1334, L&A, Daydreamer, October 1992.

  [12] Simpson, W., "PPP Link Quality Monitoring", RFC 1333, Daydreamer,
       May 1992.

8.  Author's Address

   Frank Kastenholz
   FTP Software, Inc.
   2 High Street
   North Andover, Mass 01845 USA

   Phone: (508) 685-4000
   EMail: kasten@ftp.com












Kastenholz                                                     [Page 15]