-- MIB file for CMU SNMP package.

-- @(#)cmu-template	1.6 93/06/02 FSI

RFC1155-SMI DEFINITIONS ::= BEGIN;

-- the path to the root

internet      OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6) 1 }

directory     OBJECT IDENTIFIER ::= { internet 1 }

mgmt          OBJECT IDENTIFIER ::= { internet 2 }

experimental  OBJECT IDENTIFIER ::= { internet 3 }

private       OBJECT IDENTIFIER ::= { internet 4 }
enterprises   OBJECT IDENTIFIER ::= { private 1 }

END
------------------------------------------------------------------------
-- @(#)$Id: rfc1213.mib,v 1.2 1993/12/09 00:13:31 ghoti Exp $

RFC1213-MIB DEFINITIONS ::= BEGIN

IMPORTS
	mgmt, NetworkAddress, IpAddress, Counter, Gauge,
		TimeTicks
	    FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212;

--  This MIB module uses the extended OBJECT-TYPE macro as
--  defined in [14];


--  MIB-II (same prefix as MIB-I)

mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }

-- textual conventions

DisplayString ::= OCTET STRING
-- This data type is used to model textual information taken
-- from the NVT ASCII character set.  By convention, objects
-- with this syntax are declared as having
--
--      SIZE (0..255)

PhysAddress ::= OCTET STRING
-- This data type is used to model media addresses.  For many
-- types of media, this will be in a binary representation.
-- For example, an ethernet address would be represented as
-- a string of 6 octets.


-- groups in MIB-II

system       OBJECT IDENTIFIER ::= { mib-2 1 }

interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }

at           OBJECT IDENTIFIER ::= { mib-2 3 }

ip           OBJECT IDENTIFIER ::= { mib-2 4 }

icmp         OBJECT IDENTIFIER ::= { mib-2 5 }

tcp          OBJECT IDENTIFIER ::= { mib-2 6 }

udp          OBJECT IDENTIFIER ::= { mib-2 7 }

egp          OBJECT IDENTIFIER ::= { mib-2 8 }

-- historical (some say hysterical)
-- cmot      OBJECT IDENTIFIER ::= { mib-2 9 }

transmission OBJECT IDENTIFIER ::= { mib-2 10 }

snmp         OBJECT IDENTIFIER ::= { mib-2 11 }


-- the System group

-- Implementation of the System group is mandatory for all
-- systems.  If an agent is not configured to have a value
-- for any of these variables, a string of length 0 is
-- returned.

sysDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A textual description of the entity.  This value
	    should include the full name and version
	    identification of the system's hardware type,
	    software operating-system, and networking
	    software.  It is mandatory that this only contain
	    printable ASCII characters."
    ::= { system 1 }

sysObjectID OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The vendor's authoritative identification of the
	    network management subsystem contained in the
	    entity.  This value is allocated within the SMI
	    enterprises subtree (1.3.6.1.4.1) and provides an
	    easy and unambiguous means for determining `what
	    kind of box' is being managed.  For example, if
	    vendor `Flintstones, Inc.' was assigned the
	    subtree 1.3.6.1.4.1.4242, it could assign the
	    identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
	    Router'."
    ::= { system 2 }

sysUpTime OBJECT-TYPE
    SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The time (in hundredths of a second) since the
	    network management portion of the system was last
	    re-initialized."
    ::= { system 3 }

sysContact OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The textual identification of the contact person
	    for this managed node, together with information
	    on how to contact this person."
    ::= { system 4 }

sysName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "An administratively-assigned name for this
	    managed node.  By convention, this is the node's
	    fully-qualified domain name."
    ::= { system 5 }

sysLocation OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The physical location of this node (e.g.,
	    `telephone closet, 3rd floor')."
    ::= { system 6 }

sysServices OBJECT-TYPE
    SYNTAX  INTEGER (0..127)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A value which indicates the set of services that
	    this entity primarily offers.

	    The value is a sum.  This sum initially takes the
	    value zero, Then, for each layer, L, in the range
	    1 through 7, that this node performs transactions
	    for, 2 raised to (L - 1) is added to the sum.  For
	    example, a node which performs primarily routing
	    functions would have a value of 4 (2^(3-1)).  In
	    contrast, a node which is a host offering
	    application services would have a value of 72
	    (2^(4-1) + 2^(7-1)).  Note that in the context of
	    the Internet suite of protocols, values should be
	    calculated accordingly:

		 layer  functionality
		     1  physical (e.g., repeaters)
		     2  datalink/subnetwork (e.g., bridges)
		     3  internet (e.g., IP gateways)
		     4  end-to-end  (e.g., IP hosts)
		     7  applications (e.g., mail relays)

	    For systems including OSI protocols, layers 5 and
	    6 may also be counted."
    ::= { system 7 }

-- the Interfaces group

-- Implementation of the Interfaces group is mandatory for
-- all systems.

ifNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of network interfaces (regardless of
	    their current state) present on this system."
    ::= { interfaces 1 }


-- the Interfaces table

-- The Interfaces table contains information on the entity's
-- interfaces.  Each interface is thought of as being
-- attached to a `subnetwork'.  Note that this term should
-- not be confused with `subnet' which refers to an
-- addressing partitioning scheme used in the Internet suite
-- of protocols.

ifTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF IfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "A list of interface entries.  The number of
	    entries is given by the value of ifNumber."
    ::= { interfaces 2 }

ifEntry OBJECT-TYPE
    SYNTAX  IfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "An interface entry containing objects at the
	    subnetwork layer and below for a particular
	    interface."
    INDEX   { ifIndex }
    ::= { ifTable 1 }

IfEntry ::=
    SEQUENCE {
	ifIndex
	    INTEGER,
	ifDescr
	    DisplayString,
	ifType
	    INTEGER,
	ifMtu
	    INTEGER,
	ifSpeed
	    Gauge,
	ifPhysAddress
	    PhysAddress,
	ifAdminStatus
	    INTEGER,
	ifOperStatus
	    INTEGER,
	ifLastChange
	    TimeTicks,
	ifInOctets
	    Counter,
	ifInUcastPkts
	    Counter,
	ifInNUcastPkts
	    Counter,
	ifInDiscards
	    Counter,
	ifInErrors
	    Counter,
	ifInUnknownProtos
	    Counter,
	ifOutOctets
	    Counter,
	ifOutUcastPkts
	    Counter,
	ifOutNUcastPkts
	    Counter,
	ifOutDiscards
	    Counter,
	ifOutErrors
	    Counter,
	ifOutQLen
	    Gauge,
	ifSpecific
	    OBJECT IDENTIFIER
    }

ifIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A unique value for each interface.  Its value
	    ranges between 1 and the value of ifNumber.  The
	    value for each interface must remain constant at
	    least from one re-initialization of the entity's
	    network management system to the next re-
	    initialization."
    ::= { ifEntry 1 }

ifDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A textual string containing information about the
	    interface.  This string should include the name of
	    the manufacturer, the product name and the version
	    of the hardware interface."
    ::= { ifEntry 2 }

ifType OBJECT-TYPE
    SYNTAX  INTEGER {
		other(1),          -- none of the following
		regular1822(2),
		hdh1822(3),
		ddn-x25(4),
		rfc877-x25(5),
		ethernet-csmacd(6),
		iso88023-csmacd(7),
		iso88024-tokenBus(8),
		iso88025-tokenRing(9),
		iso88026-man(10),
		starLan(11),
		proteon-10Mbit(12),
		proteon-80Mbit(13),
		hyperchannel(14),
		fddi(15),
		lapb(16),
		sdlc(17),
		ds1(18),           -- T-1
		e1(19),            -- european equiv. of T-1
		basicISDN(20),
		primaryISDN(21),   -- proprietary serial
		propPointToPointSerial(22),
		ppp(23),
		softwareLoopback(24),
		eon(25),            -- CLNP over IP [11]
		ethernet-3Mbit(26),
		nsip(27),           -- XNS over IP
		slip(28),           -- generic SLIP
		ultra(29),          -- ULTRA technologies
		ds3(30),            -- T-3
		sip(31),            -- SMDS
		frame-relay(32)
	    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The type of interface, distinguished according to
	    the physical/link protocol(s) immediately `below'
	    the network layer in the protocol stack."
    ::= { ifEntry 3 }

ifMtu OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The size of the largest datagram which can be
	    sent/received on the interface, specified in
	    octets.  For interfaces that are used for
	    transmitting network datagrams, this is the size
	    of the largest network datagram that can be sent
	    on the interface."
    ::= { ifEntry 4 }

ifSpeed OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "An estimate of the interface's current bandwidth
	    in bits per second.  For interfaces which do not
	    vary in bandwidth or for those where no accurate
	    estimation can be made, this object should contain
	    the nominal bandwidth."
    ::= { ifEntry 5 }

ifPhysAddress OBJECT-TYPE
    SYNTAX  PhysAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The interface's address at the protocol layer
	    immediately `below' the network layer in the
	    protocol stack.  For interfaces which do not have
	    such an address (e.g., a serial line), this object
	    should contain an octet string of zero length."
    ::= { ifEntry 6 }

ifAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
		up(1),       -- ready to pass packets
		down(2),
		testing(3)   -- in some test mode
	    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The desired state of the interface.  The
	    testing(3) state indicates that no operational
	    packets can be passed."
    ::= { ifEntry 7 }

ifOperStatus OBJECT-TYPE
    SYNTAX  INTEGER {
		up(1),       -- ready to pass packets
		down(2),
		testing(3)   -- in some test mode
	    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The current operational state of the interface.
	    The testing(3) state indicates that no operational
	    packets can be passed."
    ::= { ifEntry 8 }

ifLastChange OBJECT-TYPE
    SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The value of sysUpTime at the time the interface
	    entered its current operational state.  If the
	    current state was entered prior to the last re-
	    initialization of the local network management
	    subsystem, then this object contains a zero
	    value."
    ::= { ifEntry 9 }

ifInOctets OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of octets received on the
	    interface, including framing characters."
    ::= { ifEntry 10 }

ifInUcastPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of subnetwork-unicast packets
	    delivered to a higher-layer protocol."
    ::= { ifEntry 11 }

ifInNUcastPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of non-unicast (i.e., subnetwork-
	    broadcast or subnetwork-multicast) packets
	    delivered to a higher-layer protocol."
    ::= { ifEntry 12 }

ifInDiscards OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of inbound packets which were chosen
	    to be discarded even though no errors had been
	    detected to prevent their being deliverable to a
	    higher-layer protocol.  One possible reason for
	    discarding such a packet could be to free up
	    buffer space."
    ::= { ifEntry 13 }

ifInErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of inbound packets that contained
	    errors preventing them from being deliverable to a
	    higher-layer protocol."
    ::= { ifEntry 14 }

ifInUnknownProtos OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of packets received via the interface
	    which were discarded because of an unknown or
	    unsupported protocol."
    ::= { ifEntry 15 }

ifOutOctets OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of octets transmitted out of the
	    interface, including framing characters."
    ::= { ifEntry 16 }

ifOutUcastPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of packets that higher-level
	    protocols requested be transmitted to a
	    subnetwork-unicast address, including those that
	    were discarded or not sent."
    ::= { ifEntry 17 }

ifOutNUcastPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of packets that higher-level
	    protocols requested be transmitted to a non-
	    unicast (i.e., a subnetwork-broadcast or
	    subnetwork-multicast) address, including those
	    that were discarded or not sent."
    ::= { ifEntry 18 }

ifOutDiscards OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of outbound packets which were chosen
	    to be discarded even though no errors had been
	    detected to prevent their being transmitted.  One
	    possible reason for discarding such a packet could
	    be to free up buffer space."
    ::= { ifEntry 19 }

ifOutErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of outbound packets that could not be
	    transmitted because of errors."
    ::= { ifEntry 20 }

ifOutQLen OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The length of the output packet queue (in
	    packets)."
    ::= { ifEntry 21 }

ifSpecific OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A reference to MIB definitions specific to the
	    particular media being used to realize the
	    interface.  For example, if the interface is
	    realized by an ethernet, then the value of this
	    object refers to a document defining objects
	    specific to ethernet.  If this information is not
	    present, its value should be set to the OBJECT
	    IDENTIFIER { 0 0 }, which is a syntatically valid
	    object identifier, and any conformant
	    implementation of ASN.1 and BER must be able to
	    generate and recognize this value."
    ::= { ifEntry 22 }


-- the Address Translation group

-- Implementation of the Address Translation group is
-- mandatory for all systems.  Note however that this group
-- is deprecated by MIB-II. That is, it is being included
-- solely for compatibility with MIB-I nodes, and will most
-- likely be excluded from MIB-III nodes.  From MIB-II and
-- onwards, each network protocol group contains its own
-- address translation tables.

-- The Address Translation group contains one table which is
-- the union across all interfaces of the translation tables
-- for converting a NetworkAddress (e.g., an IP address) into
-- a subnetwork-specific address.  For lack of a better term,
-- this document refers to such a subnetwork-specific address
-- as a `physical' address.

-- Examples of such translation tables are: for broadcast
-- media where ARP is in use, the translation table is
-- equivalent to the ARP cache; or, on an X.25 network where
-- non-algorithmic translation to X.121 addresses is
-- required, the translation table contains the
-- NetworkAddress to X.121 address equivalences.

atTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF AtEntry
    ACCESS  not-accessible
    STATUS  deprecated
    DESCRIPTION
	    "The Address Translation tables contain the
	    NetworkAddress to `physical' address equivalences.
	    Some interfaces do not use translation tables for
	    determining address equivalences (e.g., DDN-X.25
	    has an algorithmic method); if all interfaces are
	    of this type, then the Address Translation table
	    is empty, i.e., has zero entries."
    ::= { at 1 }

atEntry OBJECT-TYPE
    SYNTAX  AtEntry
    ACCESS  not-accessible
    STATUS  deprecated
    DESCRIPTION
	    "Each entry contains one NetworkAddress to
	    `physical' address equivalence."
    INDEX   { atIfIndex,
	      atNetAddress }
    ::= { atTable 1 }

AtEntry ::=
    SEQUENCE {
	atIfIndex
	    INTEGER,
	atPhysAddress
	    PhysAddress,
	atNetAddress
	    NetworkAddress
    }

atIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
	    "The interface on which this entry's equivalence
	    is effective.  The interface identified by a
	    particular value of this index is the same
	    interface as identified by the same value of
	    ifIndex."
    ::= { atEntry 1 }

atPhysAddress OBJECT-TYPE
    SYNTAX  PhysAddress
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
	    "The media-dependent `physical' address.

	    Setting this object to a null string (one of zero
	    length) has the effect of invaliding the
	    corresponding entry in the atTable object.  That
	    is, it effectively dissasociates the interface
	    identified with said entry from the mapping
	    identified with said entry.  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.
	    Proper interpretation of such entries requires
	    examination of the relevant atPhysAddress object."
    ::= { atEntry 2 }

atNetAddress OBJECT-TYPE
    SYNTAX  NetworkAddress
    ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
	    "The NetworkAddress (e.g., the IP address)
	    corresponding to the media-dependent `physical'
	    address."
    ::= { atEntry 3 }

-- the IP group

-- Implementation of the IP group is mandatory for all
-- systems.

ipForwarding OBJECT-TYPE
    SYNTAX  INTEGER {
		forwarding(1),    -- acting as a gateway
		not-forwarding(2) -- NOT acting as a gateway
	    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The indication of whether this entity is acting
	    as an IP gateway in respect to the forwarding of
	    datagrams received by, but not addressed to, this
	    entity.  IP gateways forward datagrams.  IP hosts
	    do not (except those source-routed via the host).

	    Note that for some managed nodes, this object may
	    take on only a subset of the values possible.
	    Accordingly, it is appropriate for an agent to
	    return a `badValue' response if a management
	    station attempts to change this object to an
	    inappropriate value."
    ::= { ip 1 }

ipDefaultTTL OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The default value inserted into the Time-To-Live
	    field of the IP header of datagrams originated at
	    this entity, whenever a TTL value is not supplied
	    by the transport layer protocol."
    ::= { ip 2 }

ipInReceives OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of input datagrams received from
	    interfaces, including those received in error."
    ::= { ip 3 }

ipInHdrErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of input datagrams discarded due to
	    errors in their IP headers, including bad
	    checksums, version number mismatch, other format
	    errors, time-to-live exceeded, errors discovered
	    in processing their IP options, etc."
    ::= { ip 4 }

ipInAddrErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of input datagrams discarded because
	    the IP address in their IP header's destination
	    field was not a valid address to be received at
	    this entity.  This count includes invalid
	    addresses (e.g., 0.0.0.0) and addresses of
	    unsupported Classes (e.g., Class E).  For entities
	    which are not IP Gateways and therefore do not
	    forward datagrams, this counter includes datagrams
	    discarded because the destination address was not
	    a local address."
    ::= { ip 5 }

ipForwDatagrams OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of input datagrams for which this
	    entity was not their final IP destination, as a
	    result of which an attempt was made to find a
	    route to forward them to that final destination.
	    In entities which do not act as IP Gateways, this
	    counter will include only those packets which were
	    Source-Routed via this entity, and the Source-
	    Route option processing was successful."
    ::= { ip 6 }

ipInUnknownProtos OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of locally-addressed datagrams
	    received successfully but discarded because of an
	    unknown or unsupported protocol."
    ::= { ip 7 }

ipInDiscards OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of input IP datagrams for which no
	    problems were encountered to prevent their
	    continued processing, but which were discarded
	    (e.g., for lack of buffer space).  Note that this
	    counter does not include any datagrams discarded
	    while awaiting re-assembly."
    ::= { ip 8 }

ipInDelivers OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of input datagrams successfully
	    delivered to IP user-protocols (including ICMP)."
    ::= { ip 9 }

ipOutRequests OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of IP datagrams which local IP
	    user-protocols (including ICMP) supplied to IP in
	    requests for transmission.  Note that this counter
	    does not include any datagrams counted in
	    ipForwDatagrams."
    ::= { ip 10 }

ipOutDiscards OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of output IP datagrams for which no
	    problem was encountered to prevent their
	    transmission to their destination, but which were
	    discarded (e.g., for lack of buffer space).  Note
	    that this counter would include datagrams counted
	    in ipForwDatagrams if any such packets met this
	    (discretionary) discard criterion."
    ::= { ip 11 }

ipOutNoRoutes OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP datagrams discarded because no
	    route could be found to transmit them to their
	    destination.  Note that this counter includes any
	    packets counted in ipForwDatagrams which meet this
	    `no-route' criterion.  Note that this includes any
	    datagarms which a host cannot route because all of
	    its default gateways are down."
    ::= { ip 12 }

ipReasmTimeout OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The maximum number of seconds which received
	    fragments are held while they are awaiting
	    reassembly at this entity."
    ::= { ip 13 }

ipReasmReqds OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP fragments received which needed
	    to be reassembled at this entity."
    ::= { ip 14 }

ipReasmOKs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP datagrams successfully re-
	    assembled."
    ::= { ip 15 }

ipReasmFails OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of failures detected by the IP re-
	    assembly algorithm (for whatever reason: timed
	    out, errors, etc).  Note that this is not
	    necessarily a count of discarded IP fragments
	    since some algorithms (notably the algorithm in
	    RFC 815) can lose track of the number of fragments
	    by combining them as they are received."
    ::= { ip 16 }

ipFragOKs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP datagrams that have been
	    successfully fragmented at this entity."
    ::= { ip 17 }

ipFragFails OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP datagrams that have been
	    discarded because they needed to be fragmented at
	    this entity but could not be, e.g., because their
	    Don't Fragment flag was set."
    ::= { ip 18 }

ipFragCreates OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of IP datagram fragments that have
	    been generated as a result of fragmentation at
	    this entity."
    ::= { ip 19 }

-- the IP address table

-- The IP address table contains this entity's IP addressing
-- information.

ipAddrTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF IpAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "The table of addressing information relevant to
	    this entity's IP addresses."
    ::= { ip 20 }

ipAddrEntry OBJECT-TYPE
    SYNTAX  IpAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "The addressing information for one of this
	    entity's IP addresses."
    INDEX   { ipAdEntAddr }
    ::= { ipAddrTable 1 }

IpAddrEntry ::=
    SEQUENCE {
	ipAdEntAddr
	    IpAddress,
	ipAdEntIfIndex
	    INTEGER,
	ipAdEntNetMask
	    IpAddress,
	ipAdEntBcastAddr
	    INTEGER,
	ipAdEntReasmMaxSize
	    INTEGER (0..65535)
    }

ipAdEntAddr OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The IP address to which this entry's addressing
	    information pertains."
    ::= { ipAddrEntry 1 }

ipAdEntIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The index value which uniquely identifies the
	    interface to which this entry is applicable.  The
	    interface identified by a particular value of this
	    index is the same interface as identified by the
	    same value of ifIndex."
    ::= { ipAddrEntry 2 }

ipAdEntNetMask OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The subnet mask associated with the IP address of
	    this entry.  The value of the mask is an IP
	    address with all the network bits set to 1 and all
	    the hosts bits set to 0."
    ::= { ipAddrEntry 3 }

ipAdEntBcastAddr OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The value of the least-significant bit in the IP
	    broadcast address used for sending datagrams on
	    the (logical) interface associated with the IP
	    address of this entry.  For example, when the
	    Internet standard all-ones broadcast address is
	    used, the value will be 1.  This value applies to
	    both the subnet and network broadcasts addresses
	    used by the entity on this (logical) interface."
    ::= { ipAddrEntry 4 }

ipAdEntReasmMaxSize OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The size of the largest IP datagram which this
	    entity can re-assemble from incoming IP fragmented
	    datagrams received on this interface."
    ::= { ipAddrEntry 5 }

-- the IP routing table

-- The IP routing table contains an entry for each route
-- presently known to this entity.

ipRouteTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF IpRouteEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "This entity's IP Routing table."
    ::= { ip 21 }

ipRouteEntry OBJECT-TYPE
    SYNTAX  IpRouteEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "A route to a particular destination."
    INDEX   { ipRouteDest }
    ::= { ipRouteTable 1 }

IpRouteEntry ::=
    SEQUENCE {
	ipRouteDest
	    IpAddress,
	ipRouteIfIndex
	    INTEGER,
	ipRouteMetric1
	    INTEGER,
	ipRouteMetric2
	    INTEGER,
	ipRouteMetric3
	    INTEGER,
	ipRouteMetric4
	    INTEGER,
	ipRouteNextHop
	    IpAddress,
	ipRouteType
	    INTEGER,
	ipRouteProto
	    INTEGER,
	ipRouteAge
	    INTEGER,
	ipRouteMask
	    IpAddress,
	ipRouteMetric5
	    INTEGER,
	ipRouteInfo
	    OBJECT IDENTIFIER
    }

ipRouteDest OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The destination IP address of this route.  An
	    entry with a value of 0.0.0.0 is considered a
	    default route.  Multiple routes to a single
	    destination can appear in the table, but access to
	    such multiple entries is dependent on the table-
	    access mechanisms defined by the network
	    management protocol in use."
    ::= { ipRouteEntry 1 }

ipRouteIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The index value which uniquely identifies the
	    local interface through which the next hop of this
	    route should be reached.  The interface identified
	    by a particular value of this index is the same
	    interface as identified by the same value of
	    ifIndex."
    ::= { ipRouteEntry 2 }

ipRouteMetric1 OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The primary routing metric for this route.  The
	    semantics of this metric are determined by the
	    routing-protocol specified in the route's
	    ipRouteProto value.  If this metric is not used,
	    its value should be set to -1."
    ::= { ipRouteEntry 3 }

ipRouteMetric2 OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "An alternate routing metric for this route.  The
	    semantics of this metric are determined by the
	    routing-protocol specified in the route's
	    ipRouteProto value.  If this metric is not used,
	    its value should be set to -1."
    ::= { ipRouteEntry 4 }

ipRouteMetric3 OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "An alternate routing metric for this route.  The
	    semantics of this metric are determined by the
	    routing-protocol specified in the route's
	    ipRouteProto value.  If this metric is not used,
	    its value should be set to -1."
    ::= { ipRouteEntry 5 }

ipRouteMetric4 OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "An alternate routing metric for this route.  The
	    semantics of this metric are determined by the
	    routing-protocol specified in the route's
	    ipRouteProto value.  If this metric is not used,
	    its value should be set to -1."
    ::= { ipRouteEntry 6 }

ipRouteNextHop OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The IP address of the next hop of this route.
	    (In the case of a route bound to an interface
	    which is realized via a broadcast media, the value
	    of this field is the agent's IP address on that
	    interface.)"
    ::= { ipRouteEntry 7 }

ipRouteType OBJECT-TYPE
    SYNTAX  INTEGER {
		other(1),        -- none of the following

		invalid(2),      -- an invalidated route
				 -- route to directly
		direct(3),       -- connected (sub-)network

				 -- route to a non-local
		indirect(4)      -- host/network/sub-network
	    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The type of route.  Note that the values
	    direct(3) and indirect(4) refer to the notion of
	    direct and indirect routing in the IP
	    architecture.

	    Setting this object to the value invalid(2) has
	    the effect of invalidating the corresponding entry
	    in the ipRouteTable object.  That is, it
	    effectively dissasociates the destination
	    identified with said entry from the route
	    identified with said entry.  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.
	    Proper interpretation of such entries requires
	    examination of the relevant ipRouteType object."
    ::= { ipRouteEntry 8 }

ipRouteProto OBJECT-TYPE
    SYNTAX  INTEGER {
		other(1),       -- none of the following

				-- non-protocol information,
				-- e.g., manually configured
		local(2),       -- entries

				-- set via a network
		netmgmt(3),     -- management protocol

				-- obtained via ICMP,
		icmp(4),        -- e.g., Redirect

				-- the remaining values are
				-- all gateway routing
				-- protocols
		egp(5),
		ggp(6),
		hello(7),
		rip(8),
		is-is(9),
		es-is(10),
		ciscoIgrp(11),
		bbnSpfIgp(12),
		ospf(13),
		bgp(14)
	    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The routing mechanism via which this route was
	    learned.  Inclusion of values for gateway routing
	    protocols is not intended to imply that hosts
	    should support those protocols."
    ::= { ipRouteEntry 9 }

ipRouteAge OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The number of seconds since this route was last
	    updated or otherwise determined to be correct.
	    Note that no semantics of `too old' can be implied
	    except through knowledge of the routing protocol
	    by which the route was learned."
    ::= { ipRouteEntry 10 }

ipRouteMask OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "Indicate the mask to be logical-ANDed with the
	    destination address before being compared to the
	    value in the ipRouteDest field.  For those systems
	    that do not support arbitrary subnet masks, an
	    agent constructs the value of the ipRouteMask by
	    determining whether the value of the correspondent
	    ipRouteDest field belong to a class-A, B, or C
	    network, and then using one of:

		 mask           network
		 255.0.0.0      class-A
		 255.255.0.0    class-B
		 255.255.255.0  class-C
	    If the value of the ipRouteDest is 0.0.0.0 (a
	    default route), then the mask value is also
	    0.0.0.0.  It should be noted that all IP routing
	    subsystems implicitly use this mechanism."
    ::= { ipRouteEntry 11 }

ipRouteMetric5 OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "An alternate routing metric for this route.  The
	    semantics of this metric are determined by the
	    routing-protocol specified in the route's
	    ipRouteProto value.  If this metric is not used,
	    its value should be set to -1."
    ::= { ipRouteEntry 12 }

ipRouteInfo OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "A reference to MIB definitions specific to the
	    particular routing protocol which is responsible
	    for this route, as determined by the value
	    specified in the route's ipRouteProto value.  If
	    this information is not present, its value should
	    be set to the OBJECT IDENTIFIER { 0 0 }, which is
	    a syntatically valid object identifier, and any
	    conformant implementation of ASN.1 and BER must be
	    able to generate and recognize this value."
    ::= { ipRouteEntry 13 }


-- the IP Address Translation table

-- The IP address translation table contain the IpAddress to
-- `physical' address equivalences.  Some interfaces do not
-- use translation tables for determining address
-- equivalences (e.g., DDN-X.25 has an algorithmic method);
-- if all interfaces are of this type, then the Address
-- Translation table is empty, i.e., has zero entries.

ipNetToMediaTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF IpNetToMediaEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "The IP Address Translation table used for mapping
	    from IP addresses to physical addresses."
    ::= { ip 22 }

ipNetToMediaEntry OBJECT-TYPE
    SYNTAX  IpNetToMediaEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "Each entry contains one IpAddress to `physical'
	    address equivalence."
    INDEX   { ipNetToMediaIfIndex,
	      ipNetToMediaNetAddress }
    ::= { ipNetToMediaTable 1 }

IpNetToMediaEntry ::=
    SEQUENCE {
	ipNetToMediaIfIndex
	    INTEGER,
	ipNetToMediaPhysAddress
	    PhysAddress,
	ipNetToMediaNetAddress
	    IpAddress,
	ipNetToMediaType
	    INTEGER
    }

ipNetToMediaIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The interface on which this entry's equivalence
	    is effective.  The interface identified by a
	    particular value of this index is the same
	    interface as identified by the same value of
	    ifIndex."
    ::= { ipNetToMediaEntry 1 }

ipNetToMediaPhysAddress OBJECT-TYPE
    SYNTAX  PhysAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The media-dependent `physical' address."
    ::= { ipNetToMediaEntry 2 }

ipNetToMediaNetAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The IpAddress corresponding to the media-
	    dependent `physical' address."
    ::= { ipNetToMediaEntry 3 }

ipNetToMediaType OBJECT-TYPE
    SYNTAX  INTEGER {
		other(1),        -- none of the following
		invalid(2),      -- an invalidated mapping
		dynamic(3),
		static(4)
	    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The type of mapping.

	    Setting this object to the value invalid(2) has
	    the effect of invalidating the corresponding entry
	    in the ipNetToMediaTable.  That is, it effectively
	    dissasociates the interface identified with said
	    entry from the mapping identified with said entry.
	    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.  Proper interpretation of such
	    entries requires examination of the relevant
	    ipNetToMediaType object."
    ::= { ipNetToMediaEntry 4 }


-- additional IP objects

ipRoutingDiscards OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of routing entries which were chosen
	    to be discarded even though they are valid.  One
	    possible reason for discarding such an entry could
	    be to free-up buffer space for other routing
	    entries."
    ::= { ip 23 }


-- the ICMP group

-- Implementation of the ICMP group is mandatory for all
-- systems.

icmpInMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of ICMP messages which the
	    entity received.  Note that this counter includes
	    all those counted by icmpInErrors."
    ::= { icmp 1 }

icmpInErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP messages which the entity
	    received but determined as having ICMP-specific
	    errors (bad ICMP checksums, bad length, etc.)."
    ::= { icmp 2 }

icmpInDestUnreachs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Destination Unreachable
	    messages received."
    ::= { icmp 3 }

icmpInTimeExcds OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Time Exceeded messages
	    received."
    ::= { icmp 4 }

icmpInParmProbs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Parameter Problem messages
	    received."
    ::= { icmp 5 }

icmpInSrcQuenchs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Source Quench messages
	    received."
    ::= { icmp 6 }

icmpInRedirects OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Redirect messages received."
    ::= { icmp 7 }

icmpInEchos OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Echo (request) messages
	    received."
    ::= { icmp 8 }

icmpInEchoReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Echo Reply messages received."
    ::= { icmp 9 }

icmpInTimestamps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Timestamp (request) messages
	    received."
    ::= { icmp 10 }

icmpInTimestampReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Timestamp Reply messages
	    received."
    ::= { icmp 11 }

icmpInAddrMasks OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Address Mask Request messages
	    received."
    ::= { icmp 12 }

icmpInAddrMaskReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Address Mask Reply messages
	    received."
    ::= { icmp 13 }

icmpOutMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of ICMP messages which this
	    entity attempted to send.  Note that this counter
	    includes all those counted by icmpOutErrors."
    ::= { icmp 14 }

icmpOutErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP messages which this entity did
	    not send due to problems discovered within ICMP
	    such as a lack of buffers.  This value should not
	    include errors discovered outside the ICMP layer
	    such as the inability of IP to route the resultant
	    datagram.  In some implementations there may be no
	    types of error which contribute to this counter's
	    value."
    ::= { icmp 15 }

icmpOutDestUnreachs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Destination Unreachable
	    messages sent."
    ::= { icmp 16 }

icmpOutTimeExcds OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Time Exceeded messages sent."
    ::= { icmp 17 }

icmpOutParmProbs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Parameter Problem messages
	    sent."
    ::= { icmp 18 }

icmpOutSrcQuenchs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Source Quench messages sent."
    ::= { icmp 19 }

icmpOutRedirects OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Redirect messages sent.  For a
	    host, this object will always be zero, since hosts
	    do not send redirects."
    ::= { icmp 20 }

icmpOutEchos OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Echo (request) messages sent."
    ::= { icmp 21 }

icmpOutEchoReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Echo Reply messages sent."
    ::= { icmp 22 }

icmpOutTimestamps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Timestamp (request) messages
	    sent."
    ::= { icmp 23 }

icmpOutTimestampReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Timestamp Reply messages
	    sent."
    ::= { icmp 24 }

icmpOutAddrMasks OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Address Mask Request messages
	    sent."
    ::= { icmp 25 }

icmpOutAddrMaskReps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of ICMP Address Mask Reply messages
	    sent."
    ::= { icmp 26 }


-- the TCP group

-- Implementation of the TCP group is mandatory for all
-- systems that implement the TCP.

-- Note that instances of object types that represent
-- information about a particular TCP connection are
-- transient; they persist only as long as the connection
-- in question.

tcpRtoAlgorithm OBJECT-TYPE
    SYNTAX  INTEGER {
		other(1),    -- none of the following

		constant(2), -- a constant rto
		rsre(3),     -- MIL-STD-1778, Appendix B
		vanj(4)      -- Van Jacobson's algorithm [10]
	    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The algorithm used to determine the timeout value
	    used for retransmitting unacknowledged octets."
    ::= { tcp 1 }

tcpRtoMin OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The minimum value permitted by a TCP
	    implementation for the retransmission timeout,
	    measured in milliseconds.  More refined semantics
	    for objects of this type depend upon the algorithm
	    used to determine the retransmission timeout.  In
	    particular, when the timeout algorithm is rsre(3),
	    an object of this type has the semantics of the
	    LBOUND quantity described in RFC 793."
    ::= { tcp 2 }

tcpRtoMax OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The maximum value permitted by a TCP
	    implementation for the retransmission timeout,
	    measured in milliseconds.  More refined semantics
	    for objects of this type depend upon the algorithm
	    used to determine the retransmission timeout.  In
	    particular, when the timeout algorithm is rsre(3),
	    an object of this type has the semantics of the
	    UBOUND quantity described in RFC 793."
    ::= { tcp 3 }

tcpMaxConn OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The limit on the total number of TCP connections
	    the entity can support.  In entities where the
	    maximum number of connections is dynamic, this
	    object should contain the value -1."
    ::= { tcp 4 }

tcpActiveOpens OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of times TCP connections have made a
	    direct transition to the SYN-SENT state from the
	    CLOSED state."
    ::= { tcp 5 }

tcpPassiveOpens OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of times TCP connections have made a
	    direct transition to the SYN-RCVD state from the
	    LISTEN state."
    ::= { tcp 6 }

tcpAttemptFails OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of times TCP connections have made a
	    direct transition to the CLOSED state from either
	    the SYN-SENT state or the SYN-RCVD state, plus the
	    number of times TCP connections have made a direct
	    transition to the LISTEN state from the SYN-RCVD
	    state."
    ::= { tcp 7 }

tcpEstabResets OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of times TCP connections have made a
	    direct transition to the CLOSED state from either
	    the ESTABLISHED state or the CLOSE-WAIT state."
    ::= { tcp 8 }

tcpCurrEstab OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of TCP connections for which the
	    current state is either ESTABLISHED or CLOSE-
	    WAIT."
    ::= { tcp 9 }

tcpInSegs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of segments received, including
	    those received in error.  This count includes
	    segments received on currently established
	    connections."
    ::= { tcp 10 }

tcpOutSegs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of segments sent, including
	    those on current connections but excluding those
	    containing only retransmitted octets."
    ::= { tcp 11 }

tcpRetransSegs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of segments retransmitted - that
	    is, the number of TCP segments transmitted
	    containing one or more previously transmitted
	    octets."
    ::= { tcp 12 }


-- the TCP Connection table

-- The TCP connection table contains information about this
-- entity's existing TCP connections.

tcpConnTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF TcpConnEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "A table containing TCP connection-specific
	    information."
    ::= { tcp 13 }

tcpConnEntry OBJECT-TYPE
    SYNTAX  TcpConnEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "Information about a particular current TCP
	    connection.  An object of this type is transient,
	    in that it ceases to exist when (or soon after)
	    the connection makes the transition to the CLOSED
	    state."
    INDEX   { tcpConnLocalAddress,
	      tcpConnLocalPort,
	      tcpConnRemAddress,
	      tcpConnRemPort }
    ::= { tcpConnTable 1 }

TcpConnEntry ::=
    SEQUENCE {
	tcpConnState
	    INTEGER,
	tcpConnLocalAddress
	    IpAddress,
	tcpConnLocalPort
	    INTEGER (0..65535),
	tcpConnRemAddress
	    IpAddress,
	tcpConnRemPort
	    INTEGER (0..65535)
    }

tcpConnState OBJECT-TYPE
    SYNTAX  INTEGER {
		closed(1),
		listen(2),
		synSent(3),
		synReceived(4),
		established(5),
		finWait1(6),
		finWait2(7),
		closeWait(8),
		lastAck(9),
		closing(10),
		timeWait(11),
		deleteTCB(12)
	    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "The state of this TCP connection.

	    The only value which may be set by a management
	    station is deleteTCB(12).  Accordingly, it is
	    appropriate for an agent to return a `badValue'
	    response if a management station attempts to set
	    this object to any other value.

	    If a management station sets this object to the
	    value deleteTCB(12), then this has the effect of
	    deleting the TCB (as defined in RFC 793) of the
	    corresponding connection on the managed node,
	    resulting in immediate termination of the
	    connection.

	    As an implementation-specific option, a RST
	    segment may be sent from the managed node to the
	    other TCP endpoint (note however that RST segments
	    are not sent reliably)."
    ::= { tcpConnEntry 1 }

tcpConnLocalAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The local IP address for this TCP connection.  In
	    the case of a connection in the listen state which
	    is willing to accept connections for any IP
	    interface associated with the node, the value
	    0.0.0.0 is used."
    ::= { tcpConnEntry 2 }

tcpConnLocalPort OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The local port number for this TCP connection."
    ::= { tcpConnEntry 3 }

tcpConnRemAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The remote IP address for this TCP connection."
    ::= { tcpConnEntry 4 }

tcpConnRemPort OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The remote port number for this TCP connection."
    ::= { tcpConnEntry 5 }


-- additional TCP objects

tcpInErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of segments received in error
	    (e.g., bad TCP checksums)."
    ::= { tcp 14 }

tcpOutRsts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of TCP segments sent containing the
	    RST flag."
    ::= { tcp 15 }


-- the UDP group

-- Implementation of the UDP group is mandatory for all
-- systems which implement the UDP.

udpInDatagrams OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of UDP datagrams delivered to
	    UDP users."
    ::= { udp 1 }

udpNoPorts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of received UDP datagrams for
	    which there was no application at the destination
	    port."
    ::= { udp 2 }

udpInErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of received UDP datagrams that could
	    not be delivered for reasons other than the lack
	    of an application at the destination port."
    ::= { udp 3 }

udpOutDatagrams OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of UDP datagrams sent from this
	    entity."
    ::= { udp 4 }


-- the UDP Listener table

-- The UDP listener table contains information about this
-- entity's UDP end-points on which a local application is
-- currently accepting datagrams.

udpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF UdpEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "A table containing UDP listener information."
    ::= { udp 5 }

udpEntry OBJECT-TYPE
    SYNTAX  UdpEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "Information about a particular current UDP
	    listener."
    INDEX   { udpLocalAddress, udpLocalPort }
    ::= { udpTable 1 }

UdpEntry ::=
    SEQUENCE {
	udpLocalAddress
	    IpAddress,
	udpLocalPort
	    INTEGER (0..65535)
    }

udpLocalAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The local IP address for this UDP listener.  In
	    the case of a UDP listener which is willing to
	    accept datagrams for any IP interface associated
	    with the node, the value 0.0.0.0 is used."
    ::= { udpEntry 1 }

udpLocalPort OBJECT-TYPE
    SYNTAX  INTEGER (0..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The local port number for this UDP listener."
    ::= { udpEntry 2 }


-- the EGP group

-- Implementation of the EGP group is mandatory for all
-- systems which implement the EGP.

egpInMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP messages received without
	    error."
    ::= { egp 1 }

egpInErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP messages received that proved
	    to be in error."
    ::= { egp 2 }

egpOutMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of locally generated EGP
	    messages."
    ::= { egp 3 }

egpOutErrors OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of locally generated EGP messages not
	    sent due to resource limitations within an EGP
	    entity."
    ::= { egp 4 }


-- the EGP Neighbor table

-- The EGP neighbor table contains information about this
-- entity's EGP neighbors.

egpNeighTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EgpNeighEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "The EGP neighbor table."
    ::= { egp 5 }

egpNeighEntry OBJECT-TYPE
    SYNTAX  EgpNeighEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
	    "Information about this entity's relationship with
	    a particular EGP neighbor."
    INDEX   { egpNeighAddr }
    ::= { egpNeighTable 1 }

EgpNeighEntry ::=
    SEQUENCE {
	egpNeighState
	    INTEGER,
	egpNeighAddr
	    IpAddress,
	egpNeighAs
	    INTEGER,
	egpNeighInMsgs
	    Counter,
	egpNeighInErrs
	    Counter,
	egpNeighOutMsgs
	    Counter,
	egpNeighOutErrs
	    Counter,
	egpNeighInErrMsgs
	    Counter,
	egpNeighOutErrMsgs
	    Counter,
	egpNeighStateUps
	    Counter,
	egpNeighStateDowns
	    Counter,
	egpNeighIntervalHello
	    INTEGER,
	egpNeighIntervalPoll
	    INTEGER,
	egpNeighMode
	    INTEGER,
	egpNeighEventTrigger
	    INTEGER
    }

egpNeighState OBJECT-TYPE
    SYNTAX  INTEGER {
		idle(1),
		acquisition(2),
		down(3),
		up(4),
		cease(5)
	    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The EGP state of the local system with respect to
	    this entry's EGP neighbor.  Each EGP state is
	    represented by a value that is one greater than
	    the numerical value associated with said state in
	    RFC 904."
    ::= { egpNeighEntry 1 }

egpNeighAddr OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The IP address of this entry's EGP neighbor."
    ::= { egpNeighEntry 2 }

egpNeighAs OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The autonomous system of this EGP peer.  Zero
	    should be specified if the autonomous system
	    number of the neighbor is not yet known."
    ::= { egpNeighEntry 3 }

egpNeighInMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP messages received without error
	    from this EGP peer."
    ::= { egpNeighEntry 4 }

egpNeighInErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP messages received from this EGP
	    peer that proved to be in error (e.g., bad EGP
	    checksum)."
    ::= { egpNeighEntry 5 }

egpNeighOutMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of locally generated EGP messages to
	    this EGP peer."
    ::= { egpNeighEntry 6 }

egpNeighOutErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of locally generated EGP messages not
	    sent to this EGP peer due to resource limitations
	    within an EGP entity."
    ::= { egpNeighEntry 7 }

egpNeighInErrMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP-defined error messages received
	    from this EGP peer."
    ::= { egpNeighEntry 8 }

egpNeighOutErrMsgs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP-defined error messages sent to
	    this EGP peer."
    ::= { egpNeighEntry 9 }

egpNeighStateUps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP state transitions to the UP
	    state with this EGP peer."
    ::= { egpNeighEntry 10 }

egpNeighStateDowns OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The number of EGP state transitions from the UP
	    state to any other state with this EGP peer."
    ::= { egpNeighEntry 11 }

egpNeighIntervalHello OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The interval between EGP Hello command
	    retransmissions (in hundredths of a second).  This
	    represents the t1 timer as defined in RFC 904."
    ::= { egpNeighEntry 12 }

egpNeighIntervalPoll OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The interval between EGP poll command
	    retransmissions (in hundredths of a second).  This
	    represents the t3 timer as defined in RFC 904."
    ::= { egpNeighEntry 13 }

egpNeighMode OBJECT-TYPE
    SYNTAX  INTEGER { active(1), passive(2) }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The polling mode of this EGP entity, either
	    passive or active."
    ::= { egpNeighEntry 14 }

egpNeighEventTrigger OBJECT-TYPE
    SYNTAX  INTEGER { start(1), stop(2) }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "A control variable used to trigger operator-
	    initiated Start and Stop events.  When read, this
	    variable always returns the most recent value that
	    egpNeighEventTrigger was set to.  If it has not
	    been set since the last initialization of the
	    network management subsystem on the node, it
	    returns a value of `stop'.

	    When set, this variable causes a Start or Stop
	    event on the specified neighbor, as specified on
	    pages 8-10 of RFC 904.  Briefly, a Start event
	    causes an Idle peer to begin neighbor acquisition
	    and a non-Idle peer to reinitiate neighbor
	    acquisition.  A stop event causes a non-Idle peer
	    to return to the Idle state until a Start event
	    occurs, either via egpNeighEventTrigger or
	    otherwise."
    ::= { egpNeighEntry 15 }


-- additional EGP objects

egpAs OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The autonomous system number of this EGP entity."
    ::= { egp 6 }

-- the Transmission group

-- Based on the transmission media underlying each interface
-- on a system, the corresponding portion of the Transmission
-- group is mandatory for that system.

-- When Internet-standard definitions for managing
-- transmission media are defined, the transmission group is
-- used to provide a prefix for the names of those objects.

-- Typically, such definitions reside in the experimental
-- portion of the MIB until they are "proven", then as a
-- part of the Internet standardization process, the
-- definitions are accordingly elevated and a new object
-- identifier, under the transmission group is defined. By
-- convention, the name assigned is:
--
--     type OBJECT IDENTIFIER    ::= { transmission number }
--
-- where "type" is the symbolic value used for the media in
-- the ifType column of the ifTable object, and "number" is
-- the actual integer value corresponding to the symbol.


-- the SNMP group

-- Implementation of the SNMP group is mandatory for all
-- systems which support an SNMP protocol entity.  Some of
-- the objects defined below will be zero-valued in those
-- SNMP implementations that are optimized to support only
-- those functions specific to either a management agent or
-- a management station.  In particular, it should be
-- observed that the objects below refer to an SNMP entity,
-- and there may be several SNMP entities residing on a
-- managed node (e.g., if the node is hosting acting as
-- a management station).

snmpInPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of Messages delivered to the
	    SNMP entity from the transport service."
    ::= { snmp 1 }

snmpOutPkts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Messages which were
	    passed from the SNMP protocol entity to the
	    transport service."
    ::= { snmp 2 }

snmpInBadVersions OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Messages which were
	    delivered to the SNMP protocol entity and were for
	    an unsupported SNMP version."
    ::= { snmp 3 }

snmpInBadCommunityNames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Messages delivered to
	    the SNMP protocol entity which used a SNMP
	    community name not known to said entity."
    ::= { snmp 4 }

snmpInBadCommunityUses OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Messages delivered to
	    the SNMP protocol entity which represented an SNMP
	    operation which was not allowed by the SNMP
	    community named in the Message."
    ::= { snmp 5 }

snmpInASNParseErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of ASN.1 or BER errors
	    encountered by the SNMP protocol entity when
	    decoding received SNMP Messages."
    ::= { snmp 6 }

-- { snmp 7 } is not used

snmpInTooBigs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    delivered to the SNMP protocol entity and for
	    which the value of the error-status field is
	    `tooBig'."
    ::= { snmp 8 }

snmpInNoSuchNames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    delivered to the SNMP protocol entity and for
	    which the value of the error-status field is
	    `noSuchName'."
    ::= { snmp 9 }

snmpInBadValues OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    delivered to the SNMP protocol entity and for
	    which the value of the error-status field is
	    `badValue'."
    ::= { snmp 10 }

snmpInReadOnlys OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number valid SNMP PDUs which were
	    delivered to the SNMP protocol entity and for
	    which the value of the error-status field is
	    `readOnly'.  It should be noted that it is a
	    protocol error to generate an SNMP PDU which
	    contains the value `readOnly' in the error-status
	    field, as such this object is provided as a means
	    of detecting incorrect implementations of the
	    SNMP."
    ::= { snmp 11 }

snmpInGenErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    delivered to the SNMP protocol entity and for
	    which the value of the error-status field is
	    `genErr'."
    ::= { snmp 12 }

snmpInTotalReqVars OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of MIB objects which have been
	    retrieved successfully by the SNMP protocol entity
	    as the result of receiving valid SNMP Get-Request
	    and Get-Next PDUs."
    ::= { snmp 13 }

snmpInTotalSetVars OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of MIB objects which have been
	    altered successfully by the SNMP protocol entity
	    as the result of receiving valid SNMP Set-Request
	    PDUs."
    ::= { snmp 14 }

snmpInGetRequests OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Request PDUs which
	    have been accepted and processed by the SNMP
	    protocol entity."
    ::= { snmp 15 }

snmpInGetNexts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Next PDUs which have
	    been accepted and processed by the SNMP protocol
	    entity."
    ::= { snmp 16 }

snmpInSetRequests OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Set-Request PDUs which
	    have been accepted and processed by the SNMP
	    protocol entity."
    ::= { snmp 17 }

snmpInGetResponses OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Response PDUs which
	    have been accepted and processed by the SNMP
	    protocol entity."
    ::= { snmp 18 }

snmpInTraps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Trap PDUs which have
	    been accepted and processed by the SNMP protocol
	    entity."
    ::= { snmp 19 }

snmpOutTooBigs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    generated by the SNMP protocol entity and for
	    which the value of the error-status field is
	    `tooBig.'"
    ::= { snmp 20 }

snmpOutNoSuchNames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    generated by the SNMP protocol entity and for
	    which the value of the error-status is
	    `noSuchName'."
    ::= { snmp 21 }

snmpOutBadValues OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    generated by the SNMP protocol entity and for
	    which the value of the error-status field is
	    `badValue'."
    ::= { snmp 22 }

-- { snmp 23 } is not used

snmpOutGenErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP PDUs which were
	    generated by the SNMP protocol entity and for
	    which the value of the error-status field is
	    `genErr'."
    ::= { snmp 24 }

snmpOutGetRequests OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Request PDUs which
	    have been generated by the SNMP protocol entity."
    ::= { snmp 25 }

snmpOutGetNexts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Next PDUs which have
	    been generated by the SNMP protocol entity."
    ::= { snmp 26 }

snmpOutSetRequests OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Set-Request PDUs which
	    have been generated by the SNMP protocol entity."
    ::= { snmp 27 }

snmpOutGetResponses OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Get-Response PDUs which
	    have been generated by the SNMP protocol entity."
    ::= { snmp 28 }

snmpOutTraps OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	    "The total number of SNMP Trap PDUs which have
	    been generated by the SNMP protocol entity."
    ::= { snmp 29 }

snmpEnableAuthenTraps OBJECT-TYPE
    SYNTAX  INTEGER { enabled(1), disabled(2) }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
	    "Indicates whether the SNMP agent process is
	    permitted to generate authentication-failure
	    traps.  The value of this object overrides any
	    configuration information; as such, it provides a
	    means whereby all authentication-failure traps may
	    be disabled.

	    Note that it is strongly recommended that this
	    object be stored in non-volatile memory so that it
	    remains constant between re-initializations of the
	    network management system."
    ::= { snmp 30 }

END
------------------------------------------------------------------------
-- @(#)$Id: rfc1514.mib,v 1.2 1994/11/01 16:24:17 norman Exp $

HOST-RESOURCES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE          	     FROM RFC-1212
    DisplayString , mib-2            FROM RFC1213-MIB
    TimeTicks, Counter, Gauge        FROM RFC1155-SMI;

host     OBJECT IDENTIFIER ::= { mib-2 25 }


hrSystem        OBJECT IDENTIFIER ::= { host 1 }
hrStorage       OBJECT IDENTIFIER ::= { host 2 }
hrDevice        OBJECT IDENTIFIER ::= { host 3 }
hrSWRun         OBJECT IDENTIFIER ::= { host 4 }
hrSWRunPerf     OBJECT IDENTIFIER ::= { host 5 }
hrSWInstalled   OBJECT IDENTIFIER ::= { host 6 }


-- textual conventions

-- a truth value
Boolean ::=   INTEGER { true(1), false(2) }


-- memory size, expressed in units of 1024bytes
KBytes ::=    INTEGER (0..2147483647)

-- This textual convention is intended to identify the manufacturer,
-- model, and version of a specific hardware or software product.
-- It is suggested that these OBJECT IDENTIFIERs are allocated such
-- that all products from a particular manufacturer are registered
-- under a subtree distinct to that manufacturer.  In addition, all
-- versions of a product should be registered under a subtree
-- distinct to that product.  With this strategy, a management
-- station may uniquely determine the manufacturer and/or model of a
-- product whose productID is unknown to the management station.
-- Objects of this type may be useful for inventory purposes or for
-- automatically detecting incompatibilities or version mismatches
-- between various hardware and software components on a system.
ProductID ::= OBJECT IDENTIFIER
-- unknownProduct will be used for any unknown ProductID
-- unknownProduct OBJECT IDENTIFIER ::= { 0 0 }

-- For example, the product ID for the ACME 4860 66MHz clock doubled
-- processor might be:
-- enterprises.acme.acmeProcessors.a4860DX2.MHz66
-- A software product might be registered as:
-- enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)


DateAndTime ::= OCTET STRING (SIZE (8 | 11))
--        A date-time specification for the local time of day.
--        This data type is intended to provide a consistent
--        method of reporting date information.
--
--            field  octets  contents                  range
--            _____  ______  ________                  _____
--              1      1-2   year                      0..65536
--                           (in network byte order)
--              2       3    month                     1..12
--              3       4    day                       1..31
--              4       5    hour                      0..23
--              5       6    minutes                   0..59
--              6       7    seconds                   0..60
--                           (use 60 for leap-second)
--              7       8    deci-seconds              0..9
--              8       9    direction from UTC        "+" / "-"
--                           (in ascii notation)
--              9      10    hours from UTC            0..11
--             10      11    minutes from UTC          0..59
--
--            Note that if only local time is known, then
--            timezone information (fields 8-10) is not present.

InternationalDisplayString ::= OCTET STRING
--  This data type is used to model textual information in some
--  character set.  A network management station should use a local
--  algorithm to determine which character set is in use and how it
--  should be displayed.  Note that this character set may be encoded
--  with more than one octet per symbol, but will most often be NVT
--  ASCII.


-- The Host Resources System Group
--
-- Implementation of this group is mandatory for all host systems.
hrSystemUptime OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The amount of time since this host was last
           initialized.  Note that this is different from
           sysUpTime in MIB-II [3] because sysUpTime is the
           uptime of the network management portion of the
           system."
    ::= { hrSystem 1 }

hrSystemDate OBJECT-TYPE
    SYNTAX DateAndTime
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The host's notion of the local date and time of
           day."
    ::= { hrSystem 2 }

hrSystemInitialLoadDevice OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The index of the hrDeviceEntry for the device from
           which this host is configured to load its initial
           operating system configuration."
    ::= { hrSystem 3 }

hrSystemInitialLoadParameters OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE (0..128))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "This object contains the parameters (e.g. a
           pathname and parameter) supplied to the load device
           when requesting the initial operating system
           configuration from that device."
    ::= { hrSystem 4 }

hrSystemNumUsers OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The number of user sessions for which this host is
           storing state information.  A session is a
           collection of processes requiring a single act of
           user authentication and possibly subject to
           collective job control."
    ::= { hrSystem 5 }

hrSystemProcesses OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The number of process contexts currently loaded or
           running on this system."
    ::= { hrSystem 6 }

hrSystemMaxProcesses OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The maximum number of process contexts this system
           can support.  If there is no fixed maximum, the
           value should be zero.  On systems that have a fixed
           maximum, this object can help diagnose failures
           that occur when this maximum is reached."
    ::= { hrSystem 7 }


-- The Host Resources Storage Group
--
-- Implementation of this group is mandatory for all host systems.

-- Registration for some storage types, for use with hrStorageType
hrStorageTypes          OBJECT IDENTIFIER ::= { hrStorage 1 }
hrStorageOther          OBJECT IDENTIFIER ::= { hrStorageTypes 1 }
hrStorageRam            OBJECT IDENTIFIER ::= { hrStorageTypes 2 }
-- hrStorageVirtualMemory is temporary storage of swapped
-- or paged memory
hrStorageVirtualMemory  OBJECT IDENTIFIER ::= { hrStorageTypes 3 }
hrStorageFixedDisk      OBJECT IDENTIFIER ::= { hrStorageTypes 4 }
hrStorageRemovableDisk  OBJECT IDENTIFIER ::= { hrStorageTypes 5 }
hrStorageFloppyDisk     OBJECT IDENTIFIER ::= { hrStorageTypes 6 }
hrStorageCompactDisc    OBJECT IDENTIFIER ::= { hrStorageTypes 7 }
hrStorageRamDisk        OBJECT IDENTIFIER ::= { hrStorageTypes 8 }

hrMemorySize OBJECT-TYPE
    SYNTAX KBytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The amount of physical main memory contained by
           the host."
    ::= { hrStorage 2 }


hrStorageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrStorageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of logical storage areas on
           the host.

           An entry shall be placed in the storage table for
           each logical area of storage that is allocated and
           has fixed resource limits.  The amount of storage
           represented in an entity is the amount actually
           usable by the requesting entity, and excludes loss
           due to formatting or file system reference
           information.

           These entries are associated with logical storage
           areas, as might be seen by an application, rather
           than physical storage entities which are typically
           seen by an operating system.  Storage such as tapes
           and floppies without file systems on them are
           typically not allocated in chunks by the operating
           system to requesting applications, and therefore
           shouldn't appear in this table.  Examples of valid
           storage for this table include disk partitions,
           file systems, ram (for some architectures this is
           further segmented into regular memory, extended
           memory, and so on), backing store for virtual
           memory (`swap space').

           This table is intended to be a useful diagnostic
           for `out of memory' and `out of buffers' types of
           failures.  In addition, it can be a useful
           performance monitoring tool for tracking memory,
           disk, or buffer usage."
    ::= { hrStorage 3 }

hrStorageEntry OBJECT-TYPE
    SYNTAX HrStorageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one logical storage area
           on the host.  As an example, an instance of the
           hrStorageType object might be named
           hrStorageType.3"
    INDEX { hrStorageIndex }
    ::= { hrStorageTable 1 }

HrStorageEntry ::= SEQUENCE {
        hrStorageIndex               INTEGER,
        hrStorageType                OBJECT IDENTIFIER,
        hrStorageDescr               DisplayString,
        hrStorageAllocationUnits     INTEGER,
        hrStorageSize                INTEGER,
        hrStorageUsed                INTEGER,
        hrStorageAllocationFailures  Counter
    }

hrStorageIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A unique value for each logical storage area
           contained by the host."
    ::= { hrStorageEntry 1 }

hrStorageType OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The type of storage represented by this entry."
    ::= { hrStorageEntry 2 }

hrStorageDescr OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A description of the type and instance of the
           storage described by this entry."
    ::= { hrStorageEntry 3 }

hrStorageAllocationUnits OBJECT-TYPE
    SYNTAX      INTEGER (1..2147483647)
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
            "The size, in bytes, of the data objects allocated
            from this pool.  If this entry is monitoring
            sectors, blocks, buffers, or packets, for example,
            this number will commonly be greater than one.
            Otherwise this number will typically be one."
    ::= { hrStorageEntry 4 }

hrStorageSize OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The size of the storage represented by this entry,
           in units of hrStorageAllocationUnits."
    ::= { hrStorageEntry 5 }

hrStorageUsed OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The amount of the storage represented by this
           entry that is allocated, in units of
           hrStorageAllocationUnits."
    ::= { hrStorageEntry 6 }

hrStorageAllocationFailures OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The number of requests for storage represented by
           this entry that could not be honored due to not
           enough storage.  It should be noted that as this
           object has a SYNTAX of Counter, that it does not
           have a defined initial value.  However, it is
           recommended that this object be initialized to
           zero."
    ::= { hrStorageEntry 7 }


-- The Host Resources Device Group
--
-- Implementation of this group is mandatory for all host systems.
--
-- The device group is useful for identifying and diagnosing the
-- devices on a system.  The hrDeviceTable contains common
-- information for any type of device.  In addition, some devices
-- have device-specific tables for more detailed information.  More
-- such tables may be defined in the future for other device types.

-- Registration for some device types, for use with hrDeviceType
hrDeviceTypes             OBJECT IDENTIFIER ::= { hrDevice 1 }

hrDeviceOther             OBJECT IDENTIFIER ::= { hrDeviceTypes 1 }
hrDeviceUnknown           OBJECT IDENTIFIER ::= { hrDeviceTypes 2 }
hrDeviceProcessor         OBJECT IDENTIFIER ::= { hrDeviceTypes 3 }
hrDeviceNetwork           OBJECT IDENTIFIER ::= { hrDeviceTypes 4 }
hrDevicePrinter           OBJECT IDENTIFIER ::= { hrDeviceTypes 5 }
hrDeviceDiskStorage       OBJECT IDENTIFIER ::= { hrDeviceTypes 6 }
hrDeviceVideo             OBJECT IDENTIFIER ::= { hrDeviceTypes 10 }
hrDeviceAudio             OBJECT IDENTIFIER ::= { hrDeviceTypes 11 }
hrDeviceCoprocessor       OBJECT IDENTIFIER ::= { hrDeviceTypes 12 }
hrDeviceKeyboard          OBJECT IDENTIFIER ::= { hrDeviceTypes 13 }
hrDeviceModem             OBJECT IDENTIFIER ::= { hrDeviceTypes 14 }
hrDeviceParallelPort      OBJECT IDENTIFIER ::= { hrDeviceTypes 15 }
hrDevicePointing          OBJECT IDENTIFIER ::= { hrDeviceTypes 16 }
hrDeviceSerialPort        OBJECT IDENTIFIER ::= { hrDeviceTypes 17 }
hrDeviceTape              OBJECT IDENTIFIER ::= { hrDeviceTypes 18 }
hrDeviceClock             OBJECT IDENTIFIER ::= { hrDeviceTypes 19 }
hrDeviceVolatileMemory    OBJECT IDENTIFIER ::= { hrDeviceTypes 20 }
hrDeviceNonVolatileMemory OBJECT IDENTIFIER ::= { hrDeviceTypes 21 }


hrDeviceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrDeviceEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of devices contained by the
           host."
    ::= { hrDevice 2 }

hrDeviceEntry OBJECT-TYPE
    SYNTAX HrDeviceEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one device contained by
           the host.  As an example, an instance of the
           hrDeviceType object might be named hrDeviceType.3"
    INDEX { hrDeviceIndex }
    ::= { hrDeviceTable 1 }

HrDeviceEntry ::= SEQUENCE {
        hrDeviceIndex           INTEGER,
        hrDeviceType            OBJECT IDENTIFIER,
        hrDeviceDescr           DisplayString,
        hrDeviceID              ProductID,
        hrDeviceStatus          INTEGER,
        hrDeviceErrors          Counter
    }

hrDeviceIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A unique value for each device contained by the
           host.  The value for each device must remain
           constant at least from one re-initialization of the
           agent to the next re-initialization."
    ::= { hrDeviceEntry 1 }

hrDeviceType OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "An indication of the type of device.

           If this value is `hrDeviceProcessor { hrDeviceTypes
           3 }' then an entry exists in the hrProcessorTable
           which corresponds to this device.

           If this value is `hrDeviceNetwork { hrDeviceTypes 4
           }', then an entry exists in the hrNetworkTable
           which corresponds to this device.

           If this value is `hrDevicePrinter { hrDeviceTypes 5
           }', then an entry exists in the hrPrinterTable
           which corresponds to this device.

           If this value is `hrDeviceDiskStorage {
           hrDeviceTypes 6 }', then an entry exists in the
           hrDiskStorageTable which corresponds to this
           device."
    ::= { hrDeviceEntry 2 }

hrDeviceDescr OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A textual description of this device, including
           the device's manufacturer and revision, and
           optionally, its serial number."
    ::= { hrDeviceEntry 3 }

hrDeviceID OBJECT-TYPE
    SYNTAX ProductID
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The product ID for this device."
    ::= { hrDeviceEntry 4 }

hrDeviceStatus OBJECT-TYPE
     SYNTAX  INTEGER {
          unknown(1),
          running(2),
          warning(3),
          testing(4),
          down(5)
     }
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
           "The current operational state of the device
           described by this row of the table.  A value
           unknown(1) indicates that the current state of the
           device is unknown.  running(2) indicates that the
           device is up and running and that no unusual error
           conditions are known.  The warning(3) state
           indicates that agent has been informed of an
           unusual error condition by the operational software
           (e.g., a disk device driver) but that the device is
           still 'operational'.  An example would be high
           number of soft errors on a disk.  A value of
           testing(4), indicates that the device is not
           available for use because it is in the testing
           state.  The state of down(5) is used only when the
           agent has been informed that the device is not
           available for any use."
     ::= { hrDeviceEntry 5 }
hrDeviceErrors OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The number of errors detected on this device.  It
            should be noted that as this object has a SYNTAX
            of Counter, that it does not have a defined
            initial value.  However, it is recommended that
            this object be initialized to zero."
    ::= { hrDeviceEntry 6 }

hrProcessorTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrProcessorEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of processors contained by
           the host.

           Note that this table is potentially sparse: a
           (conceptual) entry exists only if the correspondent
           value of the hrDeviceType object is
           `hrDeviceProcessor'."
    ::= { hrDevice 3 }

hrProcessorEntry OBJECT-TYPE
    SYNTAX HrProcessorEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one processor contained
           by the host.  The hrDeviceIndex in the index
           represents the entry in the hrDeviceTable that
           corresponds to the hrProcessorEntry.

           As an example of how objects in this table are
           named, an instance of the hrProcessorFrwID object
           might be named hrProcessorFrwID.3"
    INDEX { hrDeviceIndex }
    ::= { hrProcessorTable 1 }

HrProcessorEntry ::= SEQUENCE {
        hrProcessorFrwID            ProductID,
        hrProcessorLoad             INTEGER
    }

hrProcessorFrwID OBJECT-TYPE
    SYNTAX ProductID
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The product ID of the firmware associated with the
           processor."
    ::= { hrProcessorEntry 1 }

hrProcessorLoad OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The average, over the last minute, of the
           percentage of time that this processor was not
           idle."
    ::= { hrProcessorEntry 2 }

hrNetworkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrNetworkEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of network devices
           contained by the host.

           Note that this table is potentially sparse: a
           (conceptual) entry exists only if the correspondent
           value of the hrDeviceType object is
           `hrDeviceNetwork'."
    ::= { hrDevice 4 }

hrNetworkEntry OBJECT-TYPE
    SYNTAX HrNetworkEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one network device
           contained by the host.  The hrDeviceIndex in the
           index represents the entry in the hrDeviceTable
           that corresponds to the hrNetworkEntry.

           As an example of how objects in this table are
           named, an instance of the hrNetworkIfIndex object
           might be named hrNetworkIfIndex.3"
    INDEX { hrDeviceIndex }
    ::= { hrNetworkTable 1 }

HrNetworkEntry ::= SEQUENCE {
        hrNetworkIfIndex    INTEGER
    }

hrNetworkIfIndex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The value of ifIndex which corresponds to this
           network device."
    ::= { hrNetworkEntry 1 }

hrPrinterTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrPrinterEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of printers local to the
           host.

           Note that this table is potentially sparse: a
           (conceptual) entry exists only if the correspondent
           value of the hrDeviceType object is
           `hrDevicePrinter'."
    ::= { hrDevice 5 }

hrPrinterEntry OBJECT-TYPE
    SYNTAX HrPrinterEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one printer local to the
           host.  The hrDeviceIndex in the index represents
           the entry in the hrDeviceTable that corresponds to
           the hrPrinterEntry.

           As an example of how objects in this table are
           named, an instance of the hrPrinterStatus object
           might be named hrPrinterStatus.3"
    INDEX { hrDeviceIndex }
    ::= { hrPrinterTable 1 }

HrPrinterEntry ::= SEQUENCE {
        hrPrinterStatus             INTEGER,
        hrPrinterDetectedErrorState OCTET STRING
    }

hrPrinterStatus OBJECT-TYPE
    SYNTAX INTEGER {
        other(1),
        unknown(2),
        idle(3),
        printing(4),
        warmup(5)
    }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The current status of this printer device.  When
            in the idle(1), printing(2), or warmup(3) state,
            the corresponding hrDeviceStatus should be
            running(2) or warning(3).  When in the unknown
            state, the corresponding hrDeviceStatus should be
            unknown(1)."
    ::= { hrPrinterEntry 1 }

hrPrinterDetectedErrorState OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "This object represents any error conditions
            detected by the printer.  The error conditions are
            encoded as bits in an octet string, with the
            following definitions:

                 Condition         Bit #    hrDeviceStatus

                 lowPaper          0        warning(3)
                 noPaper           1        down(5)
                 lowToner          2        warning(3)
                 noToner           3        down(5)
                 doorOpen          4        down(5)
                 jammed            5        down(5)
                 offline           6        down(5)
                 serviceRequested  7        warning(3)

            If multiple conditions are currently detected and
            the hrDeviceStatus would not otherwise be
            unknown(1) or testing(4), the hrDeviceStatus shall
            correspond to the worst state of those indicated,
            where down(5) is worse than warning(3) which is
            worse than running(2).

            Bits are numbered starting with the most
            significant bit of the first byte being bit 0, the
            least significant bit of the first byte being bit
            7, the most significant bit of the second byte
            being bit 8, and so on.  A one bit encodes that
            the condition was detected, while a zero bit
            encodes that the condition was not detected.

            This object is useful for alerting an operator to
            specific warning or error conditions that may
            occur, especially those requiring human
            intervention."
    ::= { hrPrinterEntry 2 }

hrDiskStorageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrDiskStorageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of long-term storage
           devices contained by the host.  In particular, disk
           devices accessed remotely over a network are not
           included here.

           Note that this table is potentially sparse: a
           (conceptual) entry exists only if the correspondent
           value of the hrDeviceType object is
           `hrDeviceDiskStorage'."
    ::= { hrDevice 6 }

hrDiskStorageEntry OBJECT-TYPE
    SYNTAX HrDiskStorageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one long-term storage
           device contained by the host.  The hrDeviceIndex in
           the index represents the entry in the hrDeviceTable
           that corresponds to the hrDiskStorageEntry. As an
           example, an instance of the hrDiskStorageCapacity
           object might be named hrDiskStorageCapacity.3"
    INDEX { hrDeviceIndex }
    ::= { hrDiskStorageTable 1 }

HrDiskStorageEntry ::= SEQUENCE {
        hrDiskStorageAccess         INTEGER,
        hrDiskStorageMedia          INTEGER,
        hrDiskStorageRemoveble      Boolean,
        hrDiskStorageCapacity       KBytes
    }

hrDiskStorageAccess OBJECT-TYPE
    SYNTAX INTEGER {
                    readWrite(1),
                    readOnly(2)
            }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "An indication if this long-term storage device is
           readable and writable or only readable.  This
           should reflect the media type, any write-protect
           mechanism, and any device configuration that
           affects the entire device."
    ::= { hrDiskStorageEntry 1 }

hrDiskStorageMedia OBJECT-TYPE
    SYNTAX INTEGER {
                other(1),
                unknown(2),
                hardDisk(3),
                floppyDisk(4),
                opticalDiskROM(5),
                opticalDiskWORM(6),     -- Write Once Read Many
                opticalDiskRW(7),
                ramDisk(8)
            }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "An indication of the type of media used in this
           long-term storage device."
    ::= { hrDiskStorageEntry 2 }

hrDiskStorageRemoveble OBJECT-TYPE
    SYNTAX Boolean
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "Denotes whether or not the disk media may be
            removed from the drive."
    ::= { hrDiskStorageEntry 3 }

hrDiskStorageCapacity OBJECT-TYPE
    SYNTAX KBytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The total size for this long-term storage device."
    ::= { hrDiskStorageEntry 4 }

hrPartitionTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrPartitionEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of partitions for long-term
           storage devices contained by the host.  In
           particular, partitions accessed remotely over a
           network are not included here."
    ::= { hrDevice 7 }

hrPartitionEntry OBJECT-TYPE
    SYNTAX HrPartitionEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one partition.  The
           hrDeviceIndex in the index represents the entry in
           the hrDeviceTable that corresponds to the
           hrPartitionEntry.

           As an example of how objects in this table are
           named, an instance of the hrPartitionSize object
           might be named hrPartitionSize.3.1"
    INDEX { hrDeviceIndex, hrPartitionIndex }
    ::= { hrPartitionTable 1 }

HrPartitionEntry ::= SEQUENCE {
        hrPartitionIndex                INTEGER,
        hrPartitionLabel                InternationalDisplayString,
        hrPartitionID                   OCTET STRING,
        hrPartitionSize                 KBytes,
        hrPartitionFSIndex              INTEGER
    }

hrPartitionIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A unique value for each partition on this long-
           term storage device.  The value for each long-term
           storage device must remain constant at least from
           one re-initialization of the agent to the next re-
           initialization."
    ::= { hrPartitionEntry 1 }

hrPartitionLabel OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE (0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A textual description of this partition."
    ::= { hrPartitionEntry 2 }

hrPartitionID OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A descriptor which uniquely represents this
           partition to the responsible operating system.  On
           some systems, this might take on a binary
           representation."
    ::= { hrPartitionEntry 3 }

hrPartitionSize OBJECT-TYPE
    SYNTAX KBytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The size of this partition."
    ::= { hrPartitionEntry 4 }

hrPartitionFSIndex OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The index of the file system mounted on this
            partition.  If no file system is mounted on this
            partition, then this value shall be zero.  Note
            that multiple partitions may point to one file
            system, denoting that that file system resides on
            those partitions.  Multiple file systems may not
            reside on one partition."
    ::= { hrPartitionEntry 5 }


-- The File System Table
hrFSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrFSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
            "The (conceptual) table of file systems local to
            this host or remotely mounted from a file server.
            File systems that are in only one user's
            environment on a multi-user system will not be
            included in this table."
    ::= { hrDevice 8 }

hrFSEntry OBJECT-TYPE
    SYNTAX HrFSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
            "A (conceptual) entry for one file system local to
            this host or remotely mounted from a file server.
            File systems that are in only one user's
            environment on a multi-user system will not be
            included in this table.

            As an example of how objects in this table are
            named, an instance of the hrFSMountPoint object
            might be named hrFSMountPoint.3"
    INDEX { hrFSIndex }
    ::= { hrFSTable 1 }

-- Registration for some popular File System types,
-- for use with hrFSType.

hrFSTypes               OBJECT IDENTIFIER ::= { hrDevice 9 }

hrFSOther               OBJECT IDENTIFIER ::= { hrFSTypes 1 }
hrFSUnknown             OBJECT IDENTIFIER ::= { hrFSTypes 2 }
hrFSBerkeleyFFS         OBJECT IDENTIFIER ::= { hrFSTypes 3 }
hrFSSys5FS              OBJECT IDENTIFIER ::= { hrFSTypes 4 }
-- DOS
hrFSFat                 OBJECT IDENTIFIER ::= { hrFSTypes 5 }
-- OS/2 High Performance File System
hrFSHPFS                OBJECT IDENTIFIER ::= { hrFSTypes 6 }
--  Macintosh Hierarchical File System
hrFSHFS                 OBJECT IDENTIFIER ::= { hrFSTypes 7 }


-- Macintosh File System
hrFSMFS                 OBJECT IDENTIFIER ::= { hrFSTypes 8 }
-- Windows NT
hrFSNTFS                OBJECT IDENTIFIER ::= { hrFSTypes 9 }
hrFSVNode               OBJECT IDENTIFIER ::= { hrFSTypes 10 }
hrFSJournaled           OBJECT IDENTIFIER ::= { hrFSTypes 11 }
-- CD File systems
hrFSiso9660             OBJECT IDENTIFIER ::= { hrFSTypes 12 }
hrFSRockRidge           OBJECT IDENTIFIER ::= { hrFSTypes 13 }

hrFSNFS                 OBJECT IDENTIFIER ::= { hrFSTypes 14 }
hrFSNetware             OBJECT IDENTIFIER ::= { hrFSTypes 15 }
-- Andrew File System
hrFSAFS                 OBJECT IDENTIFIER ::= { hrFSTypes 16 }
-- OSF DCE Distributed File System
hrFSDFS                 OBJECT IDENTIFIER ::= { hrFSTypes 17 }
hrFSAppleshare          OBJECT IDENTIFIER ::= { hrFSTypes 18 }
hrFSRFS                 OBJECT IDENTIFIER ::= { hrFSTypes 19 }
-- Data General
hrFSDGCFS               OBJECT IDENTIFIER ::= { hrFSTypes 20 }
-- SVR4 Boot File System
hrFSBFS                 OBJECT IDENTIFIER ::= { hrFSTypes 21 }



HrFSEntry ::= SEQUENCE {
        hrFSIndex                   INTEGER,
        hrFSMountPoint              InternationalDisplayString,
        hrFSRemoteMountPoint        InternationalDisplayString,
        hrFSType                    OBJECT IDENTIFIER,
        hrFSAccess                  INTEGER,
        hrFSBootable                Boolean,
        hrFSStorageIndex            INTEGER,
        hrFSLastFullBackupDate      DateAndTime,
        hrFSLastPartialBackupDate   DateAndTime
    }

hrFSIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "A unique value for each file system local to this
            host.  The value for each file system must remain
            constant at least from one re-initialization of
            the agent to the next re-initialization."
    ::= { hrFSEntry 1 }

hrFSMountPoint OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The path name of the root of this file system."
    ::= { hrFSEntry 2 }

hrFSRemoteMountPoint OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "A description of the name and/or address of the
            server that this file system is mounted from.
            This may also include parameters such as the mount
            point on the remote file system.  If this is not a
            remote file system, this string should have a
            length of zero."
    ::= { hrFSEntry 3 }

hrFSType OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The value of this object identifies the type of
           this file system."
    ::= { hrFSEntry 4 }

hrFSAccess OBJECT-TYPE
    SYNTAX INTEGER {
            readWrite(1),
            readOnly(2)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "An indication if this file system is logically
           configured by the operating system to be readable
           and writable or only readable.  This does not
           represent any local access-control policy, except
           one that is applied to the file system as a whole."
    ::= { hrFSEntry 5 }

hrFSBootable OBJECT-TYPE
    SYNTAX Boolean
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A flag indicating whether this file system is
           bootable."
    ::= { hrFSEntry 6 }

hrFSStorageIndex OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The index of the hrStorageEntry that represents
            information about this file system.  If there is
            no such information available, then this value
            shall be zero.  The relevant storage entry will be
            useful in tracking the percent usage of this file
            system and diagnosing errors that may occur when
            it runs out of space."
    ::= { hrFSEntry 7 }

hrFSLastFullBackupDate OBJECT-TYPE
    SYNTAX DateAndTime
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The last date at which this complete file system
           was copied to another storage device for backup.
           This information is useful for ensuring that
           backups are being performed regularly.

           If this information is not known, then this
           variable shall have the value corresponding to
           January 1, year 0000, 00:00:00.0, which is encoded
           as (hex)'00 00 01 01 00 00 00 00'."
    ::= { hrFSEntry 8 }

hrFSLastPartialBackupDate OBJECT-TYPE
    SYNTAX DateAndTime
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The last date at which a portion of this file
           system was copied to another storage device for
           backup.  This information is useful for ensuring
           that backups are being performed regularly.

           If this information is not known, then this
           variable shall have the value corresponding to
           January 1, year 0000, 00:00:00.0, which is encoded
           as (hex)'00 00 01 01 00 00 00 00'."
    ::= { hrFSEntry 9 }

-- The Host Resources Running Software Group
--
-- Implementation of this group is optional.
--
-- The hrSWRunTable contains an entry for each distinct piece of
-- software that is running or loaded into physical or virtual
-- memory in preparation for running.  This includes the host's
-- operating system, device drivers, and applications.

hrSWOSIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The value of the hrSWRunIndex for the
            hrSWRunEntry that represents the primary operating
            system running on this host.  This object is
            useful for quickly and uniquely identifying that
            primary operating system."
    ::= { hrSWRun 1 }

hrSWRunTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrSWRunEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of software running on the
           host."
    ::= { hrSWRun 2 }

hrSWRunEntry OBJECT-TYPE
    SYNTAX HrSWRunEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for one piece of software
           running on the host Note that because the installed
           software table only contains information for
           software stored locally on this host, not every
           piece of running software will be found in the
           installed software table.  This is true of software
           that was loaded and run from a non-local source,
           such as a network-mounted file system.

           As an example of how objects in this table are
           named, an instance of the hrSWRunName object might
           be named hrSWRunName.1287"
    INDEX { hrSWRunIndex }
    ::= { hrSWRunTable 1 }

HrSWRunEntry ::= SEQUENCE {
        hrSWRunIndex       INTEGER,
        hrSWRunName        InternationalDisplayString,
        hrSWRunID          ProductID,
        hrSWRunPath        InternationalDisplayString,
        hrSWRunParameters  InternationalDisplayString,
        hrSWRunType        INTEGER,
        hrSWRunStatus      INTEGER
    }

hrSWRunIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A unique value for each piece of software running
           on the host.  Wherever possible, this should be the
           system's native, unique identification number."
    ::= { hrSWRunEntry 1 }

hrSWRunName OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE (0..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A textual description of this running piece of
           software, including the manufacturer, revision,
           and the name by which it is commonly known.  If
           this software was installed locally, this should be
           the same string as used in the corresponding
           hrSWInstalledName."
    ::= { hrSWRunEntry 2 }

hrSWRunID OBJECT-TYPE
    SYNTAX ProductID
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The product ID of this running piece of software."
    ::= { hrSWRunEntry 3 }

hrSWRunPath OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A description of the location on long-term storage
           (e.g. a disk drive) from which this software was
           loaded."
    ::= { hrSWRunEntry 4 }

hrSWRunParameters OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A description of the parameters supplied to this
           software when it was initially loaded."
    ::= { hrSWRunEntry 5 }

hrSWRunType OBJECT-TYPE
    SYNTAX INTEGER {
                unknown(1),
                operatingSystem(2),
                deviceDriver(3),
                application(4)
           }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The type of this software."
    ::= { hrSWRunEntry 6 }

hrSWRunStatus OBJECT-TYPE
    SYNTAX INTEGER {
            running(1),
            runnable(2),    -- waiting for resource (CPU, memory, IO)
            notRunnable(3), -- loaded but waiting for event
            invalid(4)      -- not loaded
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
           "The status of this running piece of software.
           Setting this value to invalid(4) shall cause this
           software to stop running and to be unloaded."
    ::= { hrSWRunEntry 7 }


-- The Host Resources Running Software Performance Group
-- Implementation of this group is optional.
--
-- The hrSWRunPerfTable contains an entry corresponding to
-- each entry in the hrSWRunTable.
hrSWRunPerfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrSWRunPerfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
            "The (conceptual) table of running software
            performance metrics."
    ::= { hrSWRunPerf 1 }

hrSWRunPerfEntry OBJECT-TYPE
    SYNTAX HrSWRunPerfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
            "A (conceptual) entry containing software
            performance metrics.  As an example, an instance
            of the hrSWRunPerfCPU object might be named
            hrSWRunPerfCPU.1287"
    INDEX  { hrSWRunIndex }  -- This table augments information in
                             -- the hrSWRunTable.
    ::= { hrSWRunPerfTable 1 }

HrSWRunPerfEntry ::= SEQUENCE {
        hrSWRunPerfCPU          INTEGER,
        hrSWRunPerfMem          KBytes
}

hrSWRunPerfCPU OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The number of centi-seconds of the total system's
            CPU resources consumed by this process.  Note that
            on a multi-processor system, this value may
            increment by more than one centi-second in one
            centi-second of real (wall clock) time."
    ::= { hrSWRunPerfEntry 1 }

hrSWRunPerfMem OBJECT-TYPE
    SYNTAX KBytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The total amount of real system memory allocated
            to this process."
    ::= { hrSWRunPerfEntry 2 }

-- The Host Resources Installed Software Group
--
-- Implementation of this group is optional.
--
-- The hrSWInstalledTable contains an entry for each piece
-- of software installed in long-term storage (e.g. a disk
-- drive) locally on this host.  Note that this does not
-- include software loadable remotely from a network
-- server.
--
-- This table is useful for identifying and inventorying
-- software on a host and for diagnosing incompatibility
-- and version mismatch problems between various pieces
-- of hardware and software.

hrSWInstalledLastChange OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The value of sysUpTime when an entry in the
           hrSWInstalledTable was last added, renamed, or
           deleted.  Because this table is likely to contain
           many entries, polling of this object allows a
           management station to determine when re-downloading
           of the table might be useful."
    ::= { hrSWInstalled 1 }

hrSWInstalledLastUpdateTime OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The value of sysUpTime when the hrSWInstalledTable
           was last completely updated.  Because caching of
           this data will be a popular implementation
           strategy, retrieval of this object allows a
           management station to obtain a guarantee that no
           data in this table is older than the indicated
           time."
    ::= { hrSWInstalled 2 }

hrSWInstalledTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HrSWInstalledEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "The (conceptual) table of software installed on
           this host."
    ::= { hrSWInstalled 3 }

hrSWInstalledEntry OBJECT-TYPE
    SYNTAX HrSWInstalledEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
           "A (conceptual) entry for a piece of software
           installed on this host.

           As an example of how objects in this table are
           named, an instance of the hrSWInstalledName object
           might be named hrSWInstalledName.96"
    INDEX { hrSWInstalledIndex }
    ::= { hrSWInstalledTable 1 }

HrSWInstalledEntry ::= SEQUENCE {
        hrSWInstalledIndex       INTEGER,
        hrSWInstalledName        InternationalDisplayString,
        hrSWInstalledID          ProductID,
        hrSWInstalledType        INTEGER,
        hrSWInstalledDate        DateAndTime
}

hrSWInstalledIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A unique value for each piece of software
           installed on the host.  This value shall be in the
           range from 1 to the number of pieces of software
           installed on the host."
    ::= { hrSWInstalledEntry 1 }

hrSWInstalledName OBJECT-TYPE
    SYNTAX InternationalDisplayString (SIZE (0..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "A textual description of this installed piece of
           software, including the manufacturer, revision, the
           name by which it is commonly known, and optionally,
           its serial number."
    ::= { hrSWInstalledEntry 2 }

hrSWInstalledID OBJECT-TYPE
    SYNTAX ProductID
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The product ID of this installed piece of
           software."
    ::= { hrSWInstalledEntry 3 }

hrSWInstalledType OBJECT-TYPE
    SYNTAX INTEGER {
                unknown(1),
                operatingSystem(2),
                deviceDriver(3),
                application(4)
           }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
            "The type of this software."
    ::= { hrSWInstalledEntry 4 }

hrSWInstalledDate OBJECT-TYPE
    SYNTAX DateAndTime
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
           "The last-modification date of this application as
           it would appear in a directory listing."
    ::= { hrSWInstalledEntry 5 }

END
------------------------------------------------------------------------
-- automatically generated by mosy 7.1 #387 (dbc), do not edit!
-- RFC1659 converted to SNMPv1 format
-- @(#)$Id: rs232.mib,v 1.2 1994/11/01 16:24:18 norman Exp $

RS-232-MIB DEFINITIONS ::= BEGIN


IMPORTS
	TRAP-TYPE
		FROM RFC-1215
	OBJECT-TYPE
		FROM RFC-1212
	Counter
		FROM RFC1155-SMI
	transmission
		FROM RFC1213-MIB;

------------------------------------------------------------------------
-- From IF-MIB DEFINITIONS

-- InterfaceIndex contains the semantics of ifIndex and
-- should be used for any objects defined on other mib
-- modules that need these semantics.

InterfaceIndex ::= INTEGER (-2147483648..2147483647)

------------------------------------------------------------------------

-- created from rs232 (9405261700Z)

rs232 OBJECT IDENTIFIER ::= { transmission  33 }

rs232Number OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The number of ports (regardless of their current
        state) in the RS-232-like general port table."
    ::= { rs232  1 }

rs232PortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Rs232PortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "A list of port entries.  The number of entries is
        given by the value of rs232Number."
    ::= { rs232  2 }

rs232PortEntry OBJECT-TYPE
    SYNTAX  Rs232PortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "Status and parameter values for a port."
    INDEX   { rs232PortIndex }
    ::= { rs232PortTable  1 }

Rs232PortEntry ::=
    SEQUENCE {
        rs232PortIndex
            InterfaceIndex,

        rs232PortType
            INTEGER,

        rs232PortInSigNumber
            INTEGER (-2147483648..2147483647),

        rs232PortOutSigNumber
            INTEGER (-2147483648..2147483647),

        rs232PortInSpeed
            INTEGER (-2147483648..2147483647),

        rs232PortOutSpeed
            INTEGER (-2147483648..2147483647),

        rs232PortInFlowType
            INTEGER,

        rs232PortOutFlowType
            INTEGER
    }

rs232PortIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The value of ifIndex for the port.  By convention
        and if possible, hardware port numbers map directly
        to external connectors.  The value for each port must
        remain constant at least from one re-initialization
        of the network management agent to the next."
    ::= { rs232PortEntry  1 }

rs232PortType OBJECT-TYPE
    SYNTAX  INTEGER {
    other(1),
    rs232(2),
    rs422(3),
    rs423(4),
    v35(5),
    x21(6)
}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The port's hardware type."
    ::= { rs232PortEntry  2 }

rs232PortInSigNumber OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The number of input signals for the port in the
        input signal table (rs232PortInSigTable).  The table
        contains entries only for those signals the software
        can detect and that are useful to observe."
    ::= { rs232PortEntry  3 }

rs232PortOutSigNumber OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The number of output signals for the port in the
        output signal table (rs232PortOutSigTable).  The
        table contains entries only for those signals the
        software can assert and that are useful to observe."
    ::= { rs232PortEntry  4 }

rs232PortInSpeed OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's input speed in bits per second.  Note that
        non-standard values, such as 9612, are probably not allowed
        on most implementations."
    ::= { rs232PortEntry  5 }

rs232PortOutSpeed OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's output speed in bits per second.  Note that
        non-standard values, such as 9612, are probably not allowed
        on most implementations."
    ::= { rs232PortEntry  6 }

rs232PortInFlowType OBJECT-TYPE
    SYNTAX  INTEGER {
    none(1),
    ctsRts(2),
    dsrDtr(3)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's type of input flow control.  'none'
        indicates no flow control at this level.
        'ctsRts' and 'dsrDtr' indicate use of the indicated
        hardware signals."
    ::= { rs232PortEntry  7 }

rs232PortOutFlowType OBJECT-TYPE
    SYNTAX  INTEGER {
    none(1),
    ctsRts(2),
    dsrDtr(3)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's type of output flow control.  'none'
        indicates no flow control at this level.
        'ctsRts' and 'dsrDtr' indicate use of the indicated
        hardware signals."
    ::= { rs232PortEntry  8 }

rs232AsyncPortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Rs232AsyncPortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "A list of asynchronous port entries.  Entries need
        not exist for synchronous ports."
    ::= { rs232  3 }

rs232AsyncPortEntry OBJECT-TYPE
    SYNTAX  Rs232AsyncPortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "Status and parameter values for an asynchronous
        port."
    INDEX   { rs232AsyncPortIndex }
    ::= { rs232AsyncPortTable  1 }

Rs232AsyncPortEntry ::=
    SEQUENCE {
        rs232AsyncPortIndex
            InterfaceIndex,

        rs232AsyncPortBits
            INTEGER,

        rs232AsyncPortStopBits
            INTEGER,

        rs232AsyncPortParity
            INTEGER,

        rs232AsyncPortAutobaud
            INTEGER,

        rs232AsyncPortParityErrs
            Counter,

        rs232AsyncPortFramingErrs
            Counter,

        rs232AsyncPortOverrunErrs
            Counter
    }

rs232AsyncPortIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "A unique value for each port.  Its value is the
        same as rs232PortIndex for the port."
    ::= { rs232AsyncPortEntry  1 }

rs232AsyncPortBits OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's number of bits in a character."
    ::= { rs232AsyncPortEntry  2 }

rs232AsyncPortStopBits OBJECT-TYPE
    SYNTAX  INTEGER {
    one(1),
    two(2),
    oneAndHalf(3),
    dynamic(4)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's number of stop bits."
    ::= { rs232AsyncPortEntry  3 }

rs232AsyncPortParity OBJECT-TYPE
    SYNTAX  INTEGER {
    none(1),
    odd(2),
    even(3),
    mark(4),
    space(5)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The port's sense of a character parity bit."
    ::= { rs232AsyncPortEntry  4 }

rs232AsyncPortAutobaud OBJECT-TYPE
    SYNTAX  INTEGER {
    enabled(1),
    disabled(2)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "A control for the port's ability to automatically
        sense input speed.

        When rs232PortAutoBaud is 'enabled', a port may
        autobaud to values different from the set values for
        speed, parity, and character size.  As a result a
        network management system may temporarily observe
        values different from what was previously set."
    ::= { rs232AsyncPortEntry  5 }

rs232AsyncPortParityErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of characters with a parity error,
        input from the port since system re-initialization
        and while the port state was 'up' or 'test'."
    ::= { rs232AsyncPortEntry  6 }

rs232AsyncPortFramingErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of characters with a framing error,
        input from the port since system re-initialization
        and while the port state was 'up' or 'test'."
    ::= { rs232AsyncPortEntry  7 }

rs232AsyncPortOverrunErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of characters with an overrun error,
        input from the port since system re-initialization
        and while the port state was 'up' or 'test'."
    ::= { rs232AsyncPortEntry  8 }

rs232SyncPortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Rs232SyncPortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "A list of asynchronous port entries.  Entries need
        not exist for synchronous ports."
    ::= { rs232  4 }

rs232SyncPortEntry OBJECT-TYPE
    SYNTAX  Rs232SyncPortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "Status and parameter values for a synchronous
        port."
    INDEX   { rs232SyncPortIndex }
    ::= { rs232SyncPortTable  1 }

Rs232SyncPortEntry ::=
    SEQUENCE {
        rs232SyncPortIndex
            InterfaceIndex,

        rs232SyncPortClockSource
            INTEGER,

        rs232SyncPortFrameCheckErrs
            Counter,

        rs232SyncPortTransmitUnderrunErrs
            Counter,

        rs232SyncPortReceiveOverrunErrs
            Counter,

        rs232SyncPortInterruptedFrames
            Counter,

        rs232SyncPortAbortedFrames
            Counter,

        rs232SyncPortRole
            INTEGER,

        rs232SyncPortEncoding
            INTEGER,

        rs232SyncPortRTSControl
            INTEGER,

        rs232SyncPortRTSCTSDelay
            INTEGER (-2147483648..2147483647),

        rs232SyncPortMode
            INTEGER,

        rs232SyncPortIdlePattern
            INTEGER,

        rs232SyncPortMinFlags
            INTEGER (-2147483648..2147483647)
    }

rs232SyncPortIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "A unique value for each port.  Its value is the
        same as rs232PortIndex for the port."
    ::= { rs232SyncPortEntry  1 }

rs232SyncPortClockSource OBJECT-TYPE
    SYNTAX  INTEGER {
    internal(1),
    external(2),
    split(3)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "Source of the port's bit rate clock. 'split' means
        the tranmit clock is internal and the receive clock
        is external."
    ::= { rs232SyncPortEntry  2 }

rs232SyncPortFrameCheckErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of frames with an invalid frame check
        sequence, input from the port since system
        re-initialization and while the port state was 'up'
        or 'test'."
    ::= { rs232SyncPortEntry  3 }

rs232SyncPortTransmitUnderrunErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of frames that failed to be
        transmitted on the port since system
        re-initialization and while the port state was 'up'
        or 'test' because data was not available to the
        transmitter in time."
    ::= { rs232SyncPortEntry  4 }

rs232SyncPortReceiveOverrunErrs OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of frames that failed to be received
        on the port since system re-initialization and while
        the port state was 'up' or 'test' because the
        receiver did not accept the data in time."
    ::= { rs232SyncPortEntry  5 }

rs232SyncPortInterruptedFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Total number of frames that failed to be received
        or transmitted on the port due to loss of modem
        signals since system re-initialization and while the
        port state was 'up' or 'test'."
    ::= { rs232SyncPortEntry  6 }

rs232SyncPortAbortedFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Number of frames aborted on the port due to
        receiving an abort sequence since system
        re-initialization and while the port state was 'up'
        or 'test'."
    ::= { rs232SyncPortEntry  7 }

rs232SyncPortRole OBJECT-TYPE
    SYNTAX  INTEGER {
    dte(1),
    dce(2)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The role the device is playing that is using this port.
           dte    means the device is performing the role of
                  data terminal equipment
           dce    means the device is performing the role of
                  data circuit-terminating equipment."
    DEFVAL  { dce }
    ::= { rs232SyncPortEntry  8 }

rs232SyncPortEncoding OBJECT-TYPE
    SYNTAX  INTEGER {
    nrz(1),
    nrzi(2)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The bit stream encoding technique that is in effect
         for this port.
           nrz    for Non-Return to Zero encoding
           nrzi   for Non-Return to Zero Inverted encoding."
    DEFVAL  { nrz }
    ::= { rs232SyncPortEntry  9 }

rs232SyncPortRTSControl OBJECT-TYPE
    SYNTAX  INTEGER {
    controlled(1),
    constant(2)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The method used to control the Request To Send (RTS)
         signal.

           controlled  when the DTE is asserts RTS each time
                       data needs to be transmitted and drops
                       RTS at some point after data
                       transmission begins.

                       If rs232SyncPortRole is 'dte', the
                       RTS is an output signal. The device
                       will issue a RTS and wait for a CTS
                       from the DCE before starting to
                       transmit.

                       If rs232SyncPortRole is 'dce', the
                       RTS is an input signal. The device
                       will issue a CTS only after having
                       received RTS and waiting the
                       rs232SyncPortRTSCTSDelay interval.

           constant    when the DTE constantly asserts RTS."
    DEFVAL  { constant }
    ::= { rs232SyncPortEntry  10 }

rs232SyncPortRTSCTSDelay OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The interval (in milliseconds) that the DCE must wait
         after it sees RTS asserted before asserting CTS.  This
         object exists in support of older synchronous devices
         that cannot recognize CTS within a certain interval
         after it asserts RTS."
    DEFVAL  { 0 }
    ::= { rs232SyncPortEntry  11 }

rs232SyncPortMode OBJECT-TYPE
    SYNTAX  INTEGER {
    fdx(1),
    hdx(2),
    simplex-receive(3),
    simplex-send(4)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The mode of operation of the port with respect to the
         direction and simultaneity of data transfer.



           fdx              when frames on the data link can be
                            transmitted and received at the same
                            time

           hdx              when frames can either be received
                            from the data link or transmitted
                            onto the data link but not at the
                            same time.

           simplex-receive  when frames can only be received on
                            this data link.

           simplex-send     when frames can only be sent on this
                            data link."
    DEFVAL  { fdx }
    ::= { rs232SyncPortEntry  12 }

rs232SyncPortIdlePattern OBJECT-TYPE
    SYNTAX  INTEGER {
    mark(1),
    space(2)
}
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The bit pattern used to indicate an idle line."
    DEFVAL  { space }
    ::= { rs232SyncPortEntry  13 }

rs232SyncPortMinFlags OBJECT-TYPE
    SYNTAX  INTEGER (-2147483648..2147483647)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
           "The minimum number of flag patterns this port needs in
         order to recognize the end of one frame and the start
         of the next.  Plausible values are 1 and 2."
    DEFVAL  { 2 }
    ::= { rs232SyncPortEntry  14 }

rs232InSigTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Rs232InSigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "A list of port input control signal entries
        implemented and visible to the software on the port,
        and useful to monitor."
    ::= { rs232  5 }

rs232InSigEntry OBJECT-TYPE
    SYNTAX  Rs232InSigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "Input control signal status for a hardware port."
    INDEX   { rs232InSigPortIndex,  rs232InSigName }
    ::= { rs232InSigTable  1 }

Rs232InSigEntry ::=
    SEQUENCE {
        rs232InSigPortIndex
            InterfaceIndex,

        rs232InSigName
            INTEGER,

        rs232InSigState
            INTEGER,

        rs232InSigChanges
            Counter
    }

rs232InSigPortIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The value of rs232PortIndex for the port to which
        this entry belongs."
    ::= { rs232InSigEntry  1 }

rs232InSigName OBJECT-TYPE
    SYNTAX  INTEGER {
    rts(1),
    cts(2),
    dsr(3),
    dtr(4),
    ri(5),
    dcd(6),
    sq(7),
    srs(8),
    srts(9),
    scts(10),
    sdcd(11)
}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Identification of a hardware signal, as follows:

            rts    Request to Send
            cts    Clear to Send
            dsr    Data Set Ready
            dtr    Data Terminal Ready
            ri     Ring Indicator
            dcd    Received Line Signal Detector
            sq     Signal Quality Detector
            srs    Data Signaling Rate Selector
            srts   Secondary Request to Send
            scts   Secondary Clear to Send
            sdcd   Secondary Received Line Signal Detector
        "
    REFERENCE
           "Identification of a hardware signal, as follows:

            rts    Request to Send
            cts    Clear to Send
            dsr    Data Set Ready
            dtr    Data Terminal Ready
            ri     Ring Indicator
            dcd    Received Line Signal Detector
            sq     Signal Quality Detector
            srs    Data Signaling Rate Selector
            srts   Secondary Request to Send
            scts   Secondary Clear to Send
            sdcd   Secondary Received Line Signal Detector
        "
    ::= { rs232InSigEntry  2 }

rs232InSigState OBJECT-TYPE
    SYNTAX  INTEGER {
    none(1),
    on(2),
    off(3)
}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The current signal state."
    ::= { rs232InSigEntry  3 }

rs232InSigChanges OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The number of times the signal has changed from
        'on' to 'off' or from 'off' to 'on'."
    ::= { rs232InSigEntry  4 }

rs232OutSigTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Rs232OutSigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "A list of port output control signal entries
        implemented and visible to the software on the port,
        and useful to monitor."
    ::= { rs232  6 }

rs232OutSigEntry OBJECT-TYPE
    SYNTAX  Rs232OutSigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
           "Output control signal status for a hardware port."
    INDEX   { rs232OutSigPortIndex,  rs232OutSigName }
    ::= { rs232OutSigTable  1 }

Rs232OutSigEntry ::=
    SEQUENCE {
        rs232OutSigPortIndex
            InterfaceIndex,

        rs232OutSigName
            INTEGER,

        rs232OutSigState
            INTEGER,

        rs232OutSigChanges
            Counter
    }

rs232OutSigPortIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The value of rs232PortIndex for the port to which
        this entry belongs."
    ::= { rs232OutSigEntry  1 }

rs232OutSigName OBJECT-TYPE
    SYNTAX  INTEGER {
    rts(1),
    cts(2),
    dsr(3),
    dtr(4),
    ri(5),
    dcd(6),
    sq(7),
    srs(8),
    srts(9),
    scts(10),
    sdcd(11)
}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "Identification of a hardware signal, as follows:

            rts    Request to Send
            cts    Clear to Send
            dsr    Data Set Ready
            dtr    Data Terminal Ready
            ri     Ring Indicator
            dcd    Received Line Signal Detector
            sq     Signal Quality Detector
            srs    Data Signaling Rate Selector
            srts   Secondary Request to Send
            scts   Secondary Clear to Send
            sdcd   Secondary Received Line Signal Detector
        "
    REFERENCE
           "Identification of a hardware signal, as follows:

            rts    Request to Send
            cts    Clear to Send
            dsr    Data Set Ready
            dtr    Data Terminal Ready
            ri     Ring Indicator
            dcd    Received Line Signal Detector
            sq     Signal Quality Detector
            srs    Data Signaling Rate Selector
            srts   Secondary Request to Send
            scts   Secondary Clear to Send
            sdcd   Secondary Received Line Signal Detector
        "
    ::= { rs232OutSigEntry  2 }

rs232OutSigState OBJECT-TYPE
    SYNTAX  INTEGER {
    none(1),
    on(2),
    off(3)
}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The current signal state."
    ::= { rs232OutSigEntry  3 }

rs232OutSigChanges OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
           "The number of times the signal has changed from
        'on' to 'off' or from 'off' to 'on'."
    ::= { rs232OutSigEntry  4 }

rs232Conformance OBJECT IDENTIFIER ::= { rs232  7 }

rs232Groups OBJECT IDENTIFIER ::= { rs232Conformance  1 }

rs232Compliances OBJECT IDENTIFIER ::= { rs232Conformance  2 }

rs232Compliance OBJECT IDENTIFIER ::= { rs232Compliances  1 }

rs232Group OBJECT IDENTIFIER ::= { rs232Groups  1 }

rs232AsyncGroup OBJECT IDENTIFIER ::= { rs232Groups  2 }

rs232SyncGroup OBJECT IDENTIFIER ::= { rs232Groups  3 }

rs232SyncSDLCGroup OBJECT IDENTIFIER ::= { rs232Groups  4 }

END
------------------------------------------------------------------------
-- @(#)$Id: fore-common.mib,v 1.8 1995/02/23 00:39:12 rns Exp $ FSI
-- Copyright 1993, 1994 by Fore Systems, Inc.

Fore-Common-MIB DEFINITIONS ::= BEGIN

IMPORTS
	enterprises		FROM RFC1155-SMI;

------------------------------------------------------------------------

fore		OBJECT IDENTIFIER ::= { enterprises 326 }
admin		OBJECT IDENTIFIER ::= { fore 1 }
systems		OBJECT IDENTIFIER ::= { fore 2 }
atmAdapter	OBJECT IDENTIFIER ::= { systems 1 }
atmSwitch	OBJECT IDENTIFIER ::= { systems 2 }

------------------------------------------------------------------------
-- Textual Conventions

-- The ATM Address (used by SPANS)

AtmAddress ::=	OCTET STRING (SIZE (8))

-- The NsapPrefix type if used by Q2931 signalling
-- for setting ATM address.

NsapPrefix ::= OCTET STRING(SIZE(13))

-- The NsapAddress type is used for NSAP (Network Service
-- Access Point) routing group tables.

NsapAddr ::= OCTET STRING(SIZE(20))

------------------------------------------------------------------------
-- MIB Types Definitions

-- The status of a table entry.
-- Taken from RFC1271-MIB DEFINITIONS

-- Setting this object to the value invalid(4) has the
-- effect of invalidating the corresponding entry.
-- That is, it effectively disassociates the mapping
-- identified with said entry.
-- 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 currently not in use.  Proper
-- interpretation of such entries requires examination
-- of the relevant EntryStatus object.
--
-- An existing instance of this object cannot be set to
-- createRequest(2).  This object may only be set to
-- createRequest(2) when this instance is created.  When
-- this object is created, the agent may wish to create
-- supplemental object instances to complete a conceptual
-- row in this table.  Immediately after completing the
-- create operation, the agent must set this object to
-- underCreation(3).
--
-- Entries shall exist in the underCreation(3) state until
-- the management station is finished configuring the
-- entry and sets this object to valid(1) or aborts,
-- setting this object to invalid(4).  If the agent
-- determines that an entry has been in the
-- underCreation(3) state for an abnormally long time,
-- it may decide that the management station has
-- crashed.  If the agent makes this decision,
-- it may set this object to invalid(4) to reclaim the
-- entry.  A prudent agent will understand that the
-- management station may need to wait for human input
-- and will allow for that possibility in its
-- determination of this abnormally long period.

EntryStatus ::= INTEGER
	   { valid(1),
	     createRequest(2),
	     underCreation(3),
	     invalid(4)
	   }


-- The type of the signaling protocol that 
-- created the table entry for the path or channel.

AtmSigProtocol ::= INTEGER 
	  {    	other (1),
		spans (2),
	     	q2931 (3),
	     	pvc (4),
		spvc (5)
	   }

-- General State
GeneralState ::= INTEGER
	{	normal(1),
		fail(2)
	}


END
------------------------------------------------------------------------
-- @(#)$Id: fore-adapter.mib,v 1.81 1995/01/17 18:41:55 shavit Exp $
-- Copyright 1993, 1994 by Fore Systems, Inc.

Fore-Adapter-MIB DEFINITIONS ::= BEGIN

IMPORTS
	enterprises				FROM RFC1155-SMI
	Counter, Gauge, TimeTicks, IpAddress	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	DisplayString				FROM RFC1213-MIB
	atmAdapter, AtmAddress, NsapAddr	FROM Fore-Common-MIB
	EntryStatus				FROM Fore-Common-MIB;

------------------------------------------------------------------------
-- MIB Groups

adapterGroup		OBJECT IDENTIFIER ::= { atmAdapter 1 }
phyLayerGroup		OBJECT IDENTIFIER ::= { atmAdapter 2 }
atmLayerGroup		OBJECT IDENTIFIER ::= { atmAdapter 3 }
aalGroup		OBJECT IDENTIFIER ::= { atmAdapter 4 }
connGroup		OBJECT IDENTIFIER ::= { atmAdapter 5 }
sonetGroup		OBJECT IDENTIFIER ::= { atmAdapter 6 }
sonetAdapterConfGroup	OBJECT IDENTIFIER ::= { sonetGroup 1 }
sonetAdapterStatsGroup	OBJECT IDENTIFIER ::= { sonetGroup 2 }
statsGroup		OBJECT IDENTIFIER ::= { atmAdapter 7 }
atmIpGroup		OBJECT IDENTIFIER ::= { atmAdapter 8 }
atmarpGroup		OBJECT IDENTIFIER ::= { atmIpGroup 1 }
classicalIpGroup	OBJECT IDENTIFIER ::= { atmIpGroup 2 }

------------------------------------------------------------------------
-- The Adapter Group

adapterTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AdapterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of adapter information."
	::= { adapterGroup 1 }

adapterEntry OBJECT-TYPE
	SYNTAX	AdapterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing adapter information."
	INDEX	{ adapterInterface }
	::= { adapterTable 1 }

AdapterEntry ::=
	SEQUENCE {
		adapterInterface		INTEGER,
		adapterSerialNumber		INTEGER,
		adapterHardwareVersion		INTEGER,
		adapterHardwareSpeed		INTEGER,
		adapterFirmwareVersion		INTEGER,
		adapterSoftwareVersion		INTEGER,
		adapterTransmitBufferSize	INTEGER,
		adapterTransmitQueueLength	Gauge,
		adapterReceiveBufferSize	INTEGER,
		adapterReceiveQueueLength	Gauge,
		adapterOperStatus		INTEGER,
		adapterCarrier			INTEGER,
		adapterAddress			AtmAddress,
		adapterUptime			TimeTicks,
		adapterPhyLayer			INTEGER,
		adapterType			INTEGER,
		adapterFirmwareVersionText	DisplayString,
		adapterSoftwareVersionText	DisplayString
	}

adapterInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { adapterEntry 1 }

adapterSerialNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The serial number of the ATM adapter hardware."
	::= { adapterEntry 2 }

adapterHardwareVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM adapter hardware.
		The version number is encoded into 6 hex digits.
		For example, version 1.1 is encoded as 0x010100."
	::= { adapterEntry 3 }

adapterHardwareSpeed OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The speed of the ATM adapter hardware."
	::= { adapterEntry 4 }

adapterFirmwareVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM adapter firmware.
		The version number is encoded into 6 hex digits.
		For example, version 1.1 is encoded as 0x010100."
	::= { adapterEntry 5 }

adapterSoftwareVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM adapter software.
		The version number is encoded into 6 hex digits.
		For example, version 2.2.0 is encoded as 0x020200."
	::= { adapterEntry 6 }

adapterTransmitBufferSize OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The size of the transmit buffer, in cells."
	::= { adapterEntry 7 }

adapterTransmitQueueLength OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells in the transmit buffer."
	::= { adapterEntry 8 }

adapterReceiveBufferSize OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The size of the receive buffer, in cells."
	::= { adapterEntry 9 }

adapterReceiveQueueLength OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells in the receive buffer."
	::= { adapterEntry 10 }

adapterOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			other(1),
			enabled(2),
			disabled(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of the adapter."
	::= { adapterEntry 11 }

adapterCarrier OBJECT-TYPE
	SYNTAX	INTEGER {
			carrier(1),
			noCarrier(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The presence or absence of carrier on the link."
	::= { adapterEntry 12 }

adapterAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The address of this ATM adapter."
	::= { adapterEntry 13 }

adapterUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time this ATM adapter has been up,
		in hundredths of a second."
	::= { adapterEntry 14 }

adapterPhyLayer OBJECT-TYPE
	SYNTAX	INTEGER {
			phy-4B5B-MMODE-100(1),
			phy-4B5B-MMODE-140(2),
			phy-ASX-100(3),
			phy-OC3-MMODE-ST(4),
			phy-OC3-MMODE-SC(5),
			phy-4B5B-SMODE-100(6),
			phy-4B5B-SMODE-140(7),
			phy-OC3-SMODE-SHORT(8),
			phy-OC3-SMODE-LONG(9),
			phy-UTP5-SONET(10),
			phy-STP1-SONET(11)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The physical layer of the adapter."
	::= { adapterEntry 15 }

adapterType OBJECT-TYPE
	SYNTAX	INTEGER {
			type-SBA-100(1),
			type-GIA-100(2),
			type-TCA-100(3),
			type-NXA-100(4),
			type-ASX-100(5),
			type-SBA-200(6),
			type-VMA-200(7),
			type-ESA-200(8),
			type-MCA-200(9),	
			type-ASX-200(10),
			type-HPA-200(11),
			type-ESA-200PC(12),
			type-NBA-200(13),
			type-PCA-200(14),
			type-GIA-200(15)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The hardware type of the adapter."
	::= { adapterEntry 16 }

adapterFirmwareVersionText OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM adapter firmware. This object
		provides text information about the internal software
		configuration that was used when the firmware was built."
	::= { adapterEntry 17 }

adapterSoftwareVersionText OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM adapter software. This object
		provides text information about the internal software
		configuration that was used when the ATM adapter software
		was built."
	::= { adapterEntry 18 }

------------------------------------------------------------------------
--
-- CASE diagrams are shown for each layer.  
--
-- The physical layer.
-- Other physical layers (OC-3) would be similar.
--
-- <Receive interrupt>
--    |
--    +==> phyLayerFramingErrors
--    |
--    +==> phyLayerHeaderCRCErrors
--    |
--    v
-- <Pass cell to ATM layer>
--
------------------------------------------------------------------------
-- The Physical Layer Group

phyLayerTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PhyLayerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of adapter physical layer information."
	::= { phyLayerGroup 1 }

phyLayerEntry OBJECT-TYPE
	SYNTAX	PhyLayerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing adapter physical layer information."
	INDEX	{ phyLayerInterface }
	::= { phyLayerTable 1 }

PhyLayerEntry ::=
	SEQUENCE {
		phyLayerInterface		INTEGER,
		phyLayerFramingErrors		Counter,
		phyLayerHeaderCRCErrors		Counter
	}

phyLayerInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM adapter."
	::= { phyLayerEntry 1 }

phyLayerFramingErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with incorrect physical layer framing."
	::= { phyLayerEntry 2 }

phyLayerHeaderCRCErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with bad header CRCs."
	::= { phyLayerEntry 3 }


--------------------------------------------------------------------------
--
-- The ATM layer.
--
-- <ATM layer: cell passed in from a physical layer>
--    |
-- atmReceivedCells
--    |
--    +==> atmOutOfRangeVPIs
--    |
--    +==> atmUnconnectedVPIs
--    |
--    +==> atmOutOfRangeVCIs
--    |
--    +==> atmUnconnectedVCIs
--    |
--    +==> <Pass cell to AAL0 layer>
--    |
--    +==> <Pass cell to AAL4-SAR sublayer>
--    |
--    +==> <Pass cell to AAL5-SAR sublayer>
--
------------------------------------------------------------------------
-- The ATM Layer Group

atmLayerTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AtmLayerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM layer information."
	::= { atmLayerGroup 1 }

atmLayerEntry OBJECT-TYPE
	SYNTAX	AtmLayerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM layer information."
	INDEX	{ atmInterface }
	::= { atmLayerTable 1 }

AtmLayerEntry ::=
	SEQUENCE {
		atmInterface		INTEGER,
		atmTransmittedCells	Counter,
		atmReceivedCells	Counter,
		atmOutOfRangeVPIs	Counter,
		atmUnconnectedVPIs	Counter,
		atmOutOfRangeVCIs	Counter,
		atmUnconnectedVCIs	Counter
	}

atmInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM interface."
	::= { atmLayerEntry 1 }

atmTransmittedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells transmitted."
	::= { atmLayerEntry 2 }

atmReceivedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received."
	::= { atmLayerEntry 3 }

atmOutOfRangeVPIs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with VPI values that were out of range."
	::= { atmLayerEntry 4 }

atmUnconnectedVPIs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with VPI values that were in range
		but did not correspond to active connections."
	::= { atmLayerEntry 5 }

atmOutOfRangeVCIs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with VCI values that were out of range."
	::= { atmLayerEntry 6 }

atmUnconnectedVCIs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received
		with VCI values that were in range
		but did not correspond to active connections."
	::= { atmLayerEntry 7 }


------------------------------------------------------------------------
--
-- The AAL4-SAR and AAL4-CS sublayers.
--
-- <AAL4-SAR sublayer: cell passed in from ATM layer>
--    |
-- aal4ReceivedCells
--    |
--    +==> aal4PayloadCRCErrors
--    |
--    +==> aal4SARProtocolErrors
--    |
--    +==> aal4CellsDiscards
--    |
--    v
-- <Pass CS-PDU to AAL4-CS sublayer>
--
--
-- <AAL4-CS sublayer: CS-PDU passed in from AAL4-SAR sublayer>
--    |
-- aal4ReceivedPDUs
--    |
--    +==> aal4CSProtocolErrors
--    |
--    +==> aal4PDUsDiscards
--    |
--    v
-- <Pass packet to receiver>
--

------------------------------------------------------------------------
-- The ATM Adaptation Layer Group

aal4Table OBJECT-TYPE
	SYNTAX	SEQUENCE OF Aal4Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM adaptation layer type 3/4 information."
	::= { aalGroup 1 }

aal4Entry OBJECT-TYPE
	SYNTAX	Aal4Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM adaptation layer type 3/4 information."
	INDEX	{ aal4Interface }
	::= { aal4Table 1 }

Aal4Entry ::=
	SEQUENCE {
		aal4Interface		INTEGER,
		aal4TransmittedCells	Counter,
		aal4ReceivedCells	Counter,
		aal4TransmittedPDUs	Counter,
		aal4ReceivedPDUs	Counter,
		aal4PayloadCRCErrors	Counter,
		aal4SARProtocolErrors	Counter,
		aal4CSProtocolErrors	Counter,
		aal4CellsDiscards	Counter,
		aal4PDUsDiscards	Counter
	}

aal4Interface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM interface."
	::= { aal4Entry 1 }

aal4TransmittedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 4 cells transmitted."
	::= { aal4Entry 2 }

aal4ReceivedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 4 cells received."
	::= { aal4Entry 3 }

aal4TransmittedPDUs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 4 protocol data units (PDUs) transmitted."
	::= { aal4Entry 4 }

aal4ReceivedPDUs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 4 protocol data units (PDUs) received."
	::= { aal4Entry 5 }

aal4PayloadCRCErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells received with payload CRC errors."
	::= { aal4Entry 6 }

aal4SARProtocolErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells that the adaptation layer 
		rejected due to SAR layer protocol errors."
	::= { aal4Entry 7 }

aal4CSProtocolErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells that the adaptation layer 
		rejected due to CS layer protocol errors."
	::= { aal4Entry 8 }

aal4CellsDiscards OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells that the adaptation layer discarded
		in the course of dropping partially reassembled PDUs."
	::= { aal4Entry 9 }

aal4PDUsDiscards OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of CS-PDUs that the adaptation layer discarded
		due to queue overflows."
	::= { aal4Entry 10 }

------------------------------------------------------------------------
--
-- The AAL5-SAR and AAL5-CPCS sublayers.
--
-- <AAL5-SAR sublayer: cell passed in from ATM layer>
--    |
-- aal5ReceivedCells
--    |
--    v
-- <Pass cell to AAL5-CPCS sublayer>
--
-- <AAL5-CPCS sublayer: cell passed in from AAL5-SAR layer>
--    |
--    +==> aal5CellsDiscards
--    |
--    v
-- <Pass CS-PDU to AAL5-CS sublayer>
--
-- <AAL5-CS sublayer: CS-PDU passed in from AAL5-SAR sublayer>
--    |
-- aal5ReceivedPDUs
--    |
--    +==> aal5CSProtocolErrors
--    |
--    +==> aal5CRCErrors
--    |
--    +==> aal5PDUsDiscards
--    |
--    v
-- <Pass packet to receiver>
--
------------------------------------------------------------------------

aal5Table OBJECT-TYPE
	SYNTAX	SEQUENCE OF Aal5Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM adaptation layer type 5 information."
	::= { aalGroup 2 }

aal5Entry OBJECT-TYPE
	SYNTAX	Aal5Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM adaptation layer type 5 information."
	INDEX	{ aal5Interface }
	::= { aal5Table 1 }

Aal5Entry ::=
	SEQUENCE {
		aal5Interface		INTEGER,
		aal5TransmittedCells	Counter,
		aal5ReceivedCells	Counter,
		aal5TransmittedPDUs	Counter,
		aal5ReceivedPDUs	Counter,
		aal5CRCErrors		Counter,
		aal5CSProtocolErrors	Counter,
		aal5CellsDiscards	Counter,
		aal5PDUsDiscards	Counter
	}

aal5Interface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM interface."
	::= { aal5Entry 1 }

aal5TransmittedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 5 cells transmitted."
	::= { aal5Entry 2 }

aal5ReceivedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 5 cells received."
	::= { aal5Entry 3 }

aal5TransmittedPDUs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 5 protocol data units (PDUs) transmitted."
	::= { aal5Entry 4 }

aal5ReceivedPDUs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 5 protocol data units received."
	::= { aal5Entry 5 }

aal5CRCErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of CS-PDUs received with protocol data unit 
		CRC errors."
	::= { aal5Entry 6 }

aal5CSProtocolErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of CS-PDUs that the adaptation layer 
		rejected due to CS layer protocol errors."
	::= { aal5Entry 7 }

aal5CellsDiscards OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells that the adaptation layer discarded
		in the course of dropping partially reassembled PDUs."
	::= { aal5Entry 8 }

aal5PDUsDiscards OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of CS-PDUs that the adaptation layer discarded."
	::= { aal5Entry 9 }

------------------------------------------------------------------------
--
-- The AAL0 layer.
--
-- <AAL0 layer: cell passed in from ATM layer>
--    |
-- aal0ReceivedCells
--    |
--    +==> aal0CellsDiscards
--    |
--    v
-- <Pass cell to receiver>
--
------------------------------------------------------------------------

aal0Table OBJECT-TYPE
	SYNTAX	SEQUENCE OF Aal0Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM adaptation layer type 0 (user defined
		adaptation layer) information."
	::= { aalGroup 3 }

aal0Entry OBJECT-TYPE
	SYNTAX	Aal0Entry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM adaptation layer type 0 
		(user defined adaptation layer) information."
	INDEX	{ aal0Interface }
	::= { aal0Table 1 }

Aal0Entry ::=
	SEQUENCE {
		aal0Interface		INTEGER,
		aal0TransmittedCells	Counter,
		aal0ReceivedCells	Counter,
		aal0CellsDiscards	Counter
	}

aal0Interface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM interface."
	::= { aal0Entry 1 }

aal0TransmittedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 0 cells transmitted."
	::= { aal0Entry 2 }

aal0ReceivedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of AAL type 0 cells received."
	::= { aal0Entry 3 }

aal0CellsDiscards OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ATM cells that the adaptation layer discarded
		in the course of dropping partially reassembled PDUs."
	::= { aal0Entry 4 }

------------------------------------------------------------------------
-- The Connection Group

connTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ConnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about ATM connections."
	::= { connGroup 1 }

connEntry OBJECT-TYPE
	SYNTAX	ConnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing information about an ATM connection."
	INDEX	{ connInterface, connDirection, connVPI, connVCI }
	::= { connTable 1 }

ConnEntry ::=
	SEQUENCE {
		connInterface		INTEGER,
		connDirection		INTEGER,
		connVPI			INTEGER,
		connVCI			INTEGER,
		connLocalSAP		INTEGER,
		connRemoteSAP		INTEGER,
		connRemoteAddress	AtmAddress,
		connPeakBandwidth	INTEGER,
		connMeanBandwidth	INTEGER,
		connMeanBurst		INTEGER,
		connUptime		TimeTicks
	}

connInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM interface."
	::= { connEntry 1 }

connDirection OBJECT-TYPE
	SYNTAX	INTEGER {
			incoming(1),
			outgoing(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The direction of this connection."
	::= { connEntry 2 }

connVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The Virtual Path Identifier for this connection."
	::= { connEntry 3 }

connVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The Virtual Channel Identifier for this connection."
	::= { connEntry 4 }

connLocalSAP OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The local SAP for this connection."
	::= { connEntry 5 }

connRemoteSAP OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The remote SAP for this connection."
	::= { connEntry 6 }

connRemoteAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the remote end of this connection."
	::= { connEntry 7 }

connPeakBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The peak bandwidth for this connection,
		in kilobits per second."
	::= { connEntry 8 }

connMeanBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The mean bandwidth for this connection,
		 in kilobits per second."
	::= { connEntry 9 }

connMeanBurst OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The mean burst length for this connection, in kilobits."
	::= { connEntry 10 }

connUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time since this connection was created,
		in hundredths of a second."
	::= { connEntry 11 }


------------------------------------------------------------------------
-- The Sonet adapter configuration Group

-- The implementation of the sonetGroup tables is mandatory
-- for all hosts that have SONET/SDH port modules.

sonetAdapterConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAdapterConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET adapter configuration information."
	::= { sonetAdapterConfGroup 1 }

sonetAdapterConfEntry OBJECT-TYPE
	SYNTAX	SonetAdapterConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET configuration information
		for each port."
	INDEX	{ sonetAdapterConfInterface }
	::= { sonetAdapterConfTable 1 }

SonetAdapterConfEntry ::=
	SEQUENCE {
		sonetAdapterConfInterface		INTEGER,		
		sonetAdapterLineType			INTEGER,		
		sonetAdapterLineCoding			INTEGER,
		sonetAdapterFramingStandardDefault 	INTEGER,
		sonetAdapterFramingStandardOper 	INTEGER,
		sonetAdapterPathWidth			INTEGER,
		sonetAdapterLoopbackConfig		INTEGER,
		sonetAdapterTxClockSource		INTEGER,
		sonetAdapterRxScrambling		INTEGER,
		sonetAdapterTxScrambling		INTEGER,
		sonetAdapterSectionStatus		INTEGER,
		sonetAdapterLineStatus			INTEGER,
		sonetAdapterPathStatus			INTEGER,
		sonetAdapterIdleUnassignedCells		INTEGER
	}		

sonetAdapterConfInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { sonetAdapterConfEntry 1 }

sonetAdapterLineType OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetOther(1), 
		sonetSingleModeShortRange(2), 
		sonetSingleModeMediumRange(3), 
		sonetMultiMode(4), 
		sonetUTP(5), 
		sonetCoax(6)
		} 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the line type for this interface. The line type for
		optical SONET signals may be single-mode (short or long range) or multi-mode 
		fiber. For electrical interfaces, the line type is Unshielded Twisted Pair (UTP) 
		or coax. This variable is defined in the SONET IETF draft photonic 
		table as sonetPhotonicLineType with some different values."
	DEFVAL { 4 }
	::= { sonetAdapterConfEntry 2 }

sonetAdapterLineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetOther(1), 
		sonetB3ZS(2),
		sonetCMI(3),
		sonetNRZ(4),
		sonetRZ(5)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the line coding for this interface. The B3ZS and CMI 
		are used for electrical SONET signals (STS-1 and STS-3). The Non-Return to 
		Zero (NRZ) and the Return to Zero (RZ) are used for optical SONET signals. 
		This variable is defined in the SONET IETF draft photonic table as 
		sonetPhotonicLineCoding."
	DEFVAL { 4 }
	::= { sonetAdapterConfEntry 3 }

sonetAdapterFramingStandardDefault OBJECT-TYPE
	SYNTAX	INTEGER {
		atmSONET(1), 
		atmSDH(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable identify the default value of the framing standard that 
		is used by this port (SONET or SDH)."
	::= { sonetAdapterConfEntry 4 }

sonetAdapterFramingStandardOper OBJECT-TYPE
	SYNTAX	INTEGER {
		atmSONET(1), 
		atmSDH(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable identify the operational value of the framing standard that 
		is used by this port (SONET or SDH)."
	::= { sonetAdapterConfEntry 5 }

sonetAdapterPathWidth OBJECT-TYPE
	SYNTAX	INTEGER {
		sts1(1),
		sts3c(2),
		sts9c(3),
		sts12c(4),
		sts24c(5),
		sts48c(6)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of the SONET Path. Assigned types are the 
		STS-Nc Synchronous Payload Envelopes where N=1,3,9,12,24,48. STS-1 is equal 
		to 51.84Mbps, STS-3c is 155.52 Mbps, etc. The SDH transmission rates STM-1 
		(155.52 Mbps), STM-4 (622.08 Mbps) and STM-16 (2488.32 Mbps) are equivalent 
		to SONET rates STS-3, STS-12 and STS-48, respectively. This variable is 
		defined in the SONET IETF draft path configuration table as sonetPathWidth."
	DEFVAL { 2 }
	::= { sonetAdapterConfEntry 6 }

sonetAdapterLoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetNoLoop(1), 
		sonetLineLoop(2),
		sonetDiagLoop(3),
		sonetOtherLoop(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the current loopback status of the SONET interface.
		The possible values are: 
		sonetNoLoop (1) means that the interface is not in a loopback state.
		sonetLineLoop (2) means that the receive data and clock are connected to the 
		transmit data and clock.
		sonetDiagLoop (3) means that the transmit data stream and clock are looped back 
		to the receiver.
		sonetOtherLoop (4) means that the interface is in a loopback that is not defined 
		here."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 7 }

sonetAdapterTxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming(1), 
		localTiming(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock."
	DEFVAL { 2 }
	::= { sonetAdapterConfEntry 8 }

sonetAdapterRxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		descrambling(1),
		noDescrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information is being descrambled 
		on receiving. It should be set the same as the transmitting side." 
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 9 }

sonetAdapterTxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		scrambling(1),
		noScrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information (48 octet payload) is being 
		scrambled before transmitting. It should be set the same as the receiving side."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 10 }

sonetAdapterSectionStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..6)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Section Status of the interface. It is defined in 
		the SONET IETF draft section configuration table as sonetSectionStatus. The 
		variable is a bit map represented as a sum, therefore, it can represent multiple 
		defects simultaneously. The sonetSectionNoDefect should be set if and only if no 
		other flag is set.
		The various bit positions are:
		  1  sonetSectionNoDefect
		  2  sonetSectionLOS	Loss Of Signal was detected. LOS is declared when
					20 +/- 3us of all zero patterns is detected.
		  4  sonetSectionLOF	Loss Of Frame was detected. LOF is declared when
					an out-of-frame condition persists for 3ms."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 11 }

sonetAdapterLineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..6)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A similar variable is 
		defined in the SONET IETF draft line configuration table as sonetLineStatus. 
		The variable is a bit map represented as a sum, therefore, it can represent 
		multiple defects simultaneously. The sonetLineNoDefect should be set if and only 
		if no other flag is set.
		The various bit positions are:
		  1  sonetLineNoDefect
		  2  sonetLineAIS	Line Alarm Indication Signal was detected. Line AIS is
					asserted when a 111 binary pattern is detected in bits 
					6,7,8 of the K2 byte for five consecutive frames.
		  4  sonetLineFERF	Line Far End Receive Failure was detected. FERF is 
					asserted when a 110 binary pattern is detected in bits 
					6,7,8 of the K2 byte for five consecutive frames."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 12 }

sonetAdapterPathStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..14)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Path Status of the interface. It is defined in 
		the SONET IETF draft path configuration table as sonetPathStatus. The variable 
		is a bit map represented as a sum, therefore, it can represent multiple 
		defects simultaneously. The sonetPathNoDefect should be set if and only if no 
		other flag is set.
		The various bit positions are:
		  1  sonetPathNoDefect
		  2  sonetPathLOP	Path Loss Of Pointer was detected. Path LOP is declared 
					when a 'normal pointer value' is not found for eight 
					consecutive frames.
		  4  sonetPathAIS	Path Alarm Indication Signal was detected. Path AIS is 
					asserted when an all ones pattern is detected in the 
					pointer bytes (H1 and H2) for three consecutive frames.
		  8  sonetPathYellow	Path Yellow alarm has been detected. Yellow alarm is 
					declared when bit 5 of the path status byte is high for 
					ten consecutive frames."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 13 }

sonetAdapterIdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of cells that should be sent in 
		case there is no data to send. According to the ATM Forum, Unassigned
		cells should be sent (octet 1-3 are 0's, octet 4 is 0000xxx0, 
		where x is 'don't care'). According to the CCITT specifications,
		Idle cells should be sent (everything is '0' except for the CLP 
		bit which is '1'). By default, unassigned cells are transmitted
		in case there is no data to send."
	DEFVAL { 1 }
	::= { sonetAdapterConfEntry 14 }


------------------------------------------------------------------------
-- The SONET Adapter Statistics Group

sonetAdapterSectionTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAdapterSectionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Section statistics and errors information."
	::= { sonetAdapterStatsGroup 1 }

sonetAdapterSectionEntry OBJECT-TYPE
	SYNTAX	SonetAdapterSectionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Section statistics and errors information for 
		every port."
	INDEX	{ sonetAdapterSectionInterface }
	::= { sonetAdapterSectionTable 1 }

SonetAdapterSectionEntry ::=
	SEQUENCE {
		sonetAdapterSectionInterface	INTEGER,
		sonetAdapterSectionBIPs		Counter
	}

sonetAdapterSectionInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { sonetAdapterSectionEntry 1 }

sonetAdapterSectionBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Section BIP-8 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. The calculated BIP-8 
		code is compared with the BIP-8 code extracted from the B1 byte of the 
		following frame. Differences indicate that a section level bit error has 
		occurred."
	::= { sonetAdapterSectionEntry 2 }

------------------------------------------------------------------------

sonetAdapterLineTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAdapterLineEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Line statistics and errors information."
	::= { sonetAdapterStatsGroup 2 }

sonetAdapterLineEntry OBJECT-TYPE
	SYNTAX	SonetAdapterLineEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Line statistics and errors information for 
		every port."
	INDEX	{ sonetAdapterLineInterface } 
	::= { sonetAdapterLineTable 1 }

SonetAdapterLineEntry ::=
	SEQUENCE {
		sonetAdapterLineInterface	INTEGER,		
		sonetAdapterLineBIPs		Counter,
		sonetAdapterLineFEBEs		Counter
	}

sonetAdapterLineInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { sonetAdapterLineEntry 1 }

sonetAdapterLineBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line BIP-24 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. The calculated BIP-24 
		code is based on the line overhead and synchronous payload envelope (SPE) of 
		the STS-3c stream. The line BIP-24 code is a bit interleaved parity calculation 
		using even parity. The calculated code is compared with the BIP-24 code extracted 
		from the B2 bytes of the following frame. Differences indicate that a line layer 
		bit error has occurred."
	::= { sonetAdapterLineEntry 2 }

sonetAdapterLineFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of line Far End Block Errors (FEBE) that have been detected since 
		the last time the port has been reset."
	::= { sonetAdapterLineEntry 3 }

------------------------------------------------------------------------

sonetAdapterPathTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAdapterPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Path statistics and errors information."
	::= { sonetAdapterStatsGroup 3 }

sonetAdapterPathEntry OBJECT-TYPE
	SYNTAX	SonetAdapterPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Path statistics and errors information for 
		every port."
	INDEX	{ sonetAdapterPathInterface }
	::= { sonetAdapterPathTable 1 }

SonetAdapterPathEntry ::=
	SEQUENCE {
		sonetAdapterPathInterface	INTEGER,		
		sonetAdapterPathBIPs		Counter,
		sonetAdapterPathFEBEs		Counter
	}

sonetAdapterPathInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { sonetAdapterPathEntry 1 }

sonetAdapterPathBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Path BIP-8 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. A path BIP-8 error is 
		detected by comparing the path BIP-8 byte (B3) extracted from the current 
		frame, to the path BIP-8 computed for the previous frame."
	::= { sonetAdapterPathEntry 2 }

sonetAdapterPathFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of path Far End Block Errors (FEBE) that have been detected since 
		the last time the port has been reset. FEBEs are detected by extracting the 
		4-bit FEBE field from the path status byte (G1). The legal range for the 4 bit 
		field is between 0000 and 1000, representing zero to eight errors. Any other 
		value is interpreted as zero errors."
	::= { sonetAdapterPathEntry 3 }

------------------------------------------------------------------------

sonetAdapterAtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAdapterAtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET ATM layer statistics and errors information."
	::= { sonetAdapterStatsGroup 4 }

sonetAdapterAtmEntry OBJECT-TYPE
	SYNTAX	SonetAdapterAtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET ATM layer statistics and errors information 
		for every port."
	INDEX	{ sonetAdapterAtmInterface }
	::= { sonetAdapterAtmTable 1 }

SonetAdapterAtmEntry ::=
	SEQUENCE {
		sonetAdapterAtmInterface		INTEGER,		
		sonetAdapterAtmCorrectableHCSs		Counter,
		sonetAdapterAtmUncorrectableHCSs	Counter
}

sonetAdapterAtmInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to this ATM adapter."
	::= { sonetAdapterAtmEntry 1 }

sonetAdapterAtmCorrectableHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of correctable Header Check Sequence (HCS) error events that 
		occurred since the port was reset. The HCS is a CRC-8 calculation over the 
		first 4 octets of the ATM cell header."
	::= { sonetAdapterAtmEntry 2 }

sonetAdapterAtmUncorrectableHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of uncorrectable Header Check Sequence (HCS) error events that 
		occurred since the port was reset. The HCS is a CRC-8 calculation over the 
		first 4 octets of the ATM cell header."
	::= { sonetAdapterAtmEntry 3 }

------------------------------------------------------------------------
-- The Auxiliary Statistics Group

-- This group is mandatory for SNMP agents that
-- support adapters from the 200 series.

statsTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF StatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of auxiliary statistics for an ATM interface."
	::= { statsGroup 1 }

statsEntry OBJECT-TYPE
	SYNTAX	StatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing auxiliary statistics information 
		about an ATM connection."
	INDEX	{ statsInterface }
	::= { statsTable 1 }

StatsEntry ::=
	SEQUENCE {
		statsInterface		INTEGER,
		statsSmallBufType1Fails	Counter,
		statsLargeBufType1Fails	Counter,
		statsSmallBufType2Fails	Counter,
		statsLargeBufType2Fails	Counter,
		statsRxPduDescFails	Counter
	}

statsInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object uniquely identifies the ATM interface."
	::= { statsEntry 1 }

statsSmallBufType1Fails OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object counts the number of times the ATM interface
		failed to get a small buffer from the type 1 pool because 
		there was none available. The type of buffers that are used 
		are set by the host when the VC (Virtual Circuit) is opened."
	::= { statsEntry 2 }

statsLargeBufType1Fails OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object counts the number of times the ATM interface
		failed to get a large buffer from the type 1 pool because 
		there was none available. The type of buffers that are used 
		are set by the host when the VC (Virtual Circuit) is opened."
	::= { statsEntry 3 }

statsSmallBufType2Fails OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object counts the number of times the ATM interface
		failed to get a small buffer from the type 2 pool because 
		there was none available. The type of buffers that are used 
		are set by the host when the VC (Virtual Circuit) is opened."
	::= { statsEntry 4 }

statsLargeBufType2Fails OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object counts the number of times the ATM interface
		failed to get a large buffer from the type 2 pool because 
		there was none available. The type of buffers that are used 
		are set by the host when the VC (Virtual Circuit) is opened."
	::= { statsEntry 5 }

statsRxPduDescFails OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object counts the number of times the ATM interface
		failed to get a PDU descriptor because there was none available."
	::= { statsEntry 6 }

------------------------------------------------------------------------
-- The ATM ARP Group

atmarpFlushTable OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(1),
		enable(2)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"A SNMP agent will flush the ATM ARP table when this
		variable is set to enable(2). After the operation is
		done, the value of this object is disable(1)."
	::= { atmarpGroup 1 }
	
atmarpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AtmarpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for ATM ARP information."
	::= { atmarpGroup 2 }

atmarpEntry OBJECT-TYPE
	SYNTAX	AtmarpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing information about an ATM ARP 
		connection."
	INDEX	{ atmarpIpAddress }
	::= { atmarpTable 1 }

AtmarpEntry ::=
	SEQUENCE {
		atmarpIpAddress		IpAddress,
		atmarpInterface		INTEGER,
		atmarpSpansAddress	AtmAddress,
		atmarpNsapAddress	NsapAddr,
		atmarpVPI		INTEGER,
		atmarpVCI		INTEGER,
		atmarpConnType		INTEGER,
		atmarpAALType		INTEGER,
		atmarpPeakBandwidth	INTEGER,
		atmarpConnDirection	INTEGER,
		atmarpEntryValidity	INTEGER,
		atmarpEntryType		INTEGER,
		atmarpEntryStatus	EntryStatus
	}

atmarpIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the remote IP address for this 
		ATM ARP entry."
	::= { atmarpEntry 1 }

atmarpInterface OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the ATM IP interface (ifIndex)
		 on which this mapping is effective."
	::= { atmarpEntry 2 }

atmarpSpansAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the remote SPANS address for this 
		ATM ARP entry."
	::= { atmarpEntry 3 }

atmarpNsapAddress OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the remote NSAP (Network Service
		Access Point) for this ATM ARP entry. This object can be
		used for manually editing the ARP table to include IP to
		NSAP address mapping for devices that do not support
		Classical IP ARP."
	::= { atmarpEntry 4 }

atmarpVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The Virtual Path Identifier for this connection."
	::= { atmarpEntry 5 }

atmarpVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The Virtual Channel Identifier for this connection."
	::= { atmarpEntry 6 }

atmarpConnType OBJECT-TYPE
	SYNTAX	INTEGER {
			foreIpPVC(1),
			foreIpSVC(2),
			classicalIpPVC(3),
			classicalIpSVC(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The type of the connection by which the IP address 
		can be reached. The value foreIpPVC(1) indicates the 
		connection is a FORE IP Permanent Virtual Circuit, 
		foreIpSVC(2) indicates it's a FORE IP Switched Virtual 
		Circuit. The value classicalIpPVC(3) indicates the 
		connection is a Classical IP Permanent Virtual Circuit, 
		and the value classicalIpSVC(4) indicates the connection
		is a Classical IP Switched Virtual Circuit."
	::= { atmarpEntry 7 }

atmarpAALType OBJECT-TYPE
	SYNTAX	INTEGER {
			aal34(1),
			aal5(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The type of the AAL (ATM Adaptation Layer) of this connection."
	::= { atmarpEntry 8 }

atmarpPeakBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The peak bandwidth for this connection, in kilobits per second."
	::= { atmarpEntry 9 }

atmarpConnDirection OBJECT-TYPE
	SYNTAX	INTEGER {
			outgoing(1),
			bidirectional(2),
			pending(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The direction of this connection. The value pending(3) is
		used for an ATM ARP entry that does not have a connection
		associated with it."
	::= { atmarpEntry 10 }

atmarpEntryValidity OBJECT-TYPE
	SYNTAX	INTEGER {
			valid(1),
			invalid(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The validity of this ATM ARP entry. A Classical IP connection 
		entry may be invalid(2) if the remote end of the connection does 
		not answer ARP requests for a while. The entry still exists, but 
		the host is not allowed to send data across it when the entry is 
		in the invalid(2) state."
	::= { atmarpEntry 11 }

atmarpEntryType OBJECT-TYPE
	SYNTAX	INTEGER {
			dynamic(1),
			static(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the type of mapping. Dynamic entries 
		are learned from Fore IP or Classical IP mechanisms. Static 
		entries are created manually."
	::= { atmarpEntry 12 }

atmarpEntryStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this ATM ARP entry."
	::= { atmarpEntry 13 }


------------------------------------------------------------------------
-- The Classical IP Group

classicalIpArpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ClassicalIpArpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for Classical IP ARP information."
	::= { classicalIpGroup 1 }

classicalIpArpEntry OBJECT-TYPE
	SYNTAX	ClassicalIpArpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing information about Classical IP ARP 
		configuration."
	INDEX	{ classicalIpArpIfIndex, classicalIpArpServerIndex }
	::= { classicalIpArpTable 1 }

ClassicalIpArpEntry ::=
	SEQUENCE {
		classicalIpArpIfIndex			INTEGER,
		classicalIpArpServerIndex		INTEGER,
		classicalIpArpServer			INTEGER,
		classicalIpArpServerConfigType		INTEGER,
		classicalIpWellKnownArpServerAddr	NsapAddr,
		classicalIpManualConfigArpServerAddr	NsapAddr
	}

classicalIpArpIfIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex corresponding to the ATM interface on which 
		the following classical IP information is configured."
	::= { classicalIpArpEntry 1 }

classicalIpArpServerIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of the ARP server."
	::= { classicalIpArpEntry 2 }

classicalIpArpServer OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(1),
		enable(2)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"An SNMP agent will configure this virtual interface as 
		a Classical IP ARP Server when this variable is set to 
		enable(2)."
	::= { classicalIpArpEntry 3 }
	
classicalIpArpServerConfigType OBJECT-TYPE
	SYNTAX	INTEGER {
			manualConfig(1),
			wellKnown(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the way in which the NSAP 
		(Network Service Access Point) address of the ARP server 
		is determined. When the value of this object is wellKnown(2), 
		the NSAP address of the ARP server is taken from the 
		classicalIpWellKNownArpServerAddr object. When the value 
		of this object is set to manualConfig(1), the NSAP address 
		of the ARP server is read from the 
		classicalIpManualConfigArpServerAddr object."
	::= { classicalIpArpEntry 4 }

classicalIpWellKnownArpServerAddr OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable holds the well known NSAP (Network Service Access
		Point) address of the ARP server for this interface."
	::= { classicalIpArpEntry 5 }

classicalIpManualConfigArpServerAddr OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable holds the manually configured NSAP (Network 
		Service Access Point) address of the ARP server for this 
		interface. By default this object is set to all zero."
	::= { classicalIpArpEntry 6 }


END
------------------------------------------------------------------------
-- @(#)$Id: fore-switch.mib,v 1.439 1995/06/12 21:18:59 swbuild Exp $
-- Copyright 1993, 1994 by Fore Systems, Inc.

Fore-Switch-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter, Gauge, IpAddress, TimeTicks 	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	DisplayString				FROM RFC1213-MIB
	TRAP-TYPE				FROM RFC1215
	atmSwitch, AtmAddress, NsapPrefix	FROM Fore-Common-MIB
	GeneralState				FROM Fore-Common-MIB
	NsapAddr, EntryStatus,AtmSigProtocol	FROM Fore-Common-MIB;

------------------------------------------------------------------------
-- MIB Groups

hardware		OBJECT IDENTIFIER ::= { atmSwitch 1 }
asx			OBJECT IDENTIFIER ::= { hardware 1 }
boardGroup		OBJECT IDENTIFIER ::= { asx 1 }
moduleGroup		OBJECT IDENTIFIER ::= { asx 2 }

-- old environment group {hardware 2} deprecated.

timing			OBJECT IDENTIFIER ::= { hardware 3 }
netmodTimingGroup	OBJECT IDENTIFIER ::= { timing 1 }
	
environment		OBJECT IDENTIFIER ::= { hardware 4 }
alarmGroup		OBJECT IDENTIFIER ::= { environment 1}
powerGroup		OBJECT IDENTIFIER ::= { environment 2 }
fansGroup		OBJECT IDENTIFIER ::= { environment 3 }
tempGroup		OBJECT IDENTIFIER ::= { environment 4 }
cpuGroup		OBJECT IDENTIFIER ::= { environment 5 }
mgmtGroup		OBJECT IDENTIFIER ::= { environment 6 }
fabricGroup		OBJECT IDENTIFIER ::= { environment 7 }

shmem			OBJECT IDENTIFIER ::= { hardware 5 }
netmodShmemGroup	OBJECT IDENTIFIER ::= { shmem 1 }
portShmemGroup		OBJECT IDENTIFIER ::= { shmem 2 }

software		OBJECT IDENTIFIER ::= { atmSwitch 2 }
asxd			OBJECT IDENTIFIER ::= { software 1 }
switchGroup		OBJECT IDENTIFIER ::= { asxd 1 }
portGroup		OBJECT IDENTIFIER ::= { asxd 2 }
pathGroup		OBJECT IDENTIFIER ::= { asxd 3 }
channelGroup		OBJECT IDENTIFIER ::= { asxd 4 }
topologyGroup		OBJECT IDENTIFIER ::= { asxd 5 }
signalingGroup  	OBJECT IDENTIFIER ::= { asxd 6 }
spansGroup		OBJECT IDENTIFIER ::= { signalingGroup 1 }
q2931Group              OBJECT IDENTIFIER ::= { signalingGroup 2 }
q2931LayerGroup         OBJECT IDENTIFIER ::= { q2931Group 1 }
swBoardGroup		OBJECT IDENTIFIER ::= { asxd 7 }
swBoardTopologyGroup	OBJECT IDENTIFIER ::= { asxd 8 }
nsapGroup               OBJECT IDENTIFIER ::= { asxd 9 }

snmp			OBJECT IDENTIFIER ::= { software 2 }
trapConfGroup		OBJECT IDENTIFIER ::= { snmp 1 }
snmpConfGroup		OBJECT IDENTIFIER ::= { snmp 2 }
--foreViewGroup { snmp 3 } deprecated
--alarmGroup {snmp 4 } moved
snmpAgentAddressGroup	OBJECT IDENTIFIER ::= { snmp 5 }

------------------------------------------------------------------------
-- The Board Group

boardTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF BoardEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM switch board information."
	::= { boardGroup 1 }

boardEntry OBJECT-TYPE
	SYNTAX	BoardEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM switch board information."
	INDEX	{ boardIndex }
	::= { boardTable 1 }

BoardEntry ::=
	SEQUENCE {
		boardIndex		INTEGER,
		boardVersion		INTEGER,
		boardModel		INTEGER,
		boardSerialNumber	INTEGER,
		numberOfModules		INTEGER,
		vpiLookupErrors		Counter,
		vciLookupErrors		Counter,
		boardControlPort	INTEGER
	}

boardIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { boardEntry 1 }

boardVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM switch board version number in hex.
		The version number is encoded into 6 hex digits.
		For example, version 1.2.3 is decoded as 0x010203."
	::= { boardEntry 2 }

boardModel OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM switch board model number."
	::= { boardEntry 3 }

boardSerialNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM switch board serial number."
	::= { boardEntry 4 }

numberOfModules OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of network modules on this ATM switch board."
	::= { boardEntry 5 }

vpiLookupErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of VPI lookup errors."
	::= { boardEntry 6 }

vciLookupErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of VCI lookup errors."
	::= { boardEntry 7 }

boardControlPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the index for the control
		port on this switch board."
	::= { boardEntry 8 }

------------------------------------------------------------------------

numberOfBoards OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of switch boards on this ATM switch."
	::= { boardGroup 2 }


------------------------------------------------------------------------
-- The Module Group

moduleTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ModuleEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of network module information."
	::= { moduleGroup 1 }

moduleEntry OBJECT-TYPE
	SYNTAX	ModuleEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing network module information."
	INDEX	{ moduleBoard, moduleNumber }
	::= { moduleTable 1 }

ModuleEntry ::=
	SEQUENCE {
		moduleBoard		INTEGER,
		moduleNumber		INTEGER,
		moduleName		DisplayString,
		moduleSpeed		INTEGER,
		moduleNumberOfPorts	INTEGER,
		moduleUptime		TimeTicks
	}

moduleBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { moduleEntry 1 }

moduleNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this network module within the ATM switch."
	::= { moduleEntry 2 }

moduleName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..63))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type name of this network module within the ATM switch."
	::= { moduleEntry 3 }

moduleSpeed OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The speed of this network module within the ATM switch."
	::= { moduleEntry 4 }

moduleNumberOfPorts OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ports on this network module."
	::= { moduleEntry 5 }

moduleUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time this network module has been up,
		in hundredths of a second."
	::= { moduleEntry 6 }



------------------------------------------------------------------------

outputBufferTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF OutputBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of output buffer information."
	::= { moduleGroup 2 }

outputBufferEntry OBJECT-TYPE
	SYNTAX	OutputBufferEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing output buffer information."
	INDEX	{ obufBoard, obufNumber, obufType }
	::= { outputBufferTable 1 }

OutputBufferEntry ::=
	SEQUENCE {
		obufBoard	INTEGER,
		obufNumber	INTEGER,
		obufType	INTEGER,
		obufOperStatus	INTEGER,
		obufBufferSize	INTEGER,
		obufQueueLength	Gauge,
		obufOverflows	Counter
	}

obufBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this output buffer's switch board."
	::= { outputBufferEntry 1 }

obufNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of the network module for this output buffer."
	::= { outputBufferEntry 2 }

obufType OBJECT-TYPE
	SYNTAX	INTEGER {
			lowPriority(0),
			highPriority(1)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of this output buffer."
	::= { outputBufferEntry 3 }

obufOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			other(1),
			enabled(2),
			disabled(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The operational status of this output buffer."
	::= { outputBufferEntry 4 }

obufBufferSize OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The logical size of this output buffer, in cells."
	::= { outputBufferEntry 5 }

obufQueueLength OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells in this output buffer."
	::= { outputBufferEntry 6 }

obufOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells dropped because this output buffer
		was full."
	::= { outputBufferEntry 7 }

------------------------------------------------------------------------

hwPortTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF HwPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of hardware port information."
	::= { moduleGroup 3 }

hwPortEntry OBJECT-TYPE
	SYNTAX	HwPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing hardware port information."
	INDEX	{ hwPortBoard, hwPortModule, hwPortNumber }
	::= { hwPortTable 1 }

HwPortEntry ::=
	SEQUENCE {
		hwPortBoard		INTEGER,
		hwPortModule		INTEGER,
		hwPortNumber		INTEGER,
		hwPortVersion		INTEGER,
		hwPortModel		INTEGER,
		hwPortOperStatus	INTEGER,
		hwPortBufferSize	INTEGER,
		hwPortQueueLength	Gauge,
		hwPortOverflows		Counter,
		hwPortErrors		Counter,
		hwPortCarrier		INTEGER,
		hwPortGlobalIndex	INTEGER,
		hwPortName		DisplayString,
		hwPortAdminStatus	INTEGER,
		hwPortTAXILoopback	INTEGER
	}

hwPortBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The switch board index of this port."
	::= { hwPortEntry 1 }

hwPortModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module number of this port."
	::= { hwPortEntry 2 }

hwPortNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port within its network module."
	::= { hwPortEntry 3 }

hwPortVersion OBJECT-TYPE
	SYNTAX	INTEGER {
                        generation-A(1),
                        generation-B(2),
                        generation-C(3)                    
                }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The generation of this network module.  In general, 
                 generation A indicates the most original FORE Systems
                 netmods.  Generation-B are intermediate DS3/E3/TAXI.
                 Generation-C are shared-memory based netmos."
	::= { hwPortEntry 4 }

hwPortModel OBJECT-TYPE
	SYNTAX	INTEGER {
			model-TAXI-100(1),
			model-TAXI-140(2),
			model-DS3(3),
			model-OC3(4),
			model-8B10B(5),
			model-6port-TAXI-100(6),
			model-ASX(7),
			model-OC12(8),
			model-DS3-PDH(16),
			model-E3(17),
			model-J2(18),
			model-DS1(19),
			model-E1(20)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of physical connection of this port. The model-ASX(7)
		indicates this is the control port of the switch.
                NOTE: as of 2/8/95 the elements model-6port-TAXI-100(6) and
                      model-DS3-PDH(16) should no longer be used.  Use 
                      the basic types model-TAXI-100(1) and model-DS3(3)
                      to indicate these."
	::= { hwPortEntry 5 }

hwPortOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			other(1),
			up(2),
			down(3),
			unused(4)	-- was loopback
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The operational status of this port. If a port was 
		administered up (by hwPortAdminStatus), but the carrier 
		or the framing bits were lost, the hwPortOperStatus 
		indicates that the port is down(3). Otherwise, the 
		hwPortOperStatus is up(2)."
	::= { hwPortEntry 6 }

hwPortBufferSize OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The logical size of this port's output buffer, in cells."
	::= { hwPortEntry 7 }

hwPortQueueLength OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells in this port's output buffer."
	::= { hwPortEntry 8 }

hwPortOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which cells were dropped because this 
		port's output buffer was full."
	::= { hwPortEntry 9 }

hwPortErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which errored cells were dropped by this port."
	::= { hwPortEntry 10 }

hwPortCarrier OBJECT-TYPE
	SYNTAX	INTEGER {
			carrier(1),
			noCarrier(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The presence or absence of carrier at this port."
	::= { hwPortEntry 11 }

hwPortGlobalIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The global index of this port within the ATM switch
		as a whole. It corresponds to the port number
		used in the software group of this MIB."
	::= { hwPortEntry 12 }

hwPortName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..5))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A textual description of the port indicating
		the Board Network module and Port (BNP) identifiers.
		The module is indicated by a letter (A-D), while
		the board and the port are indicated by numbers."
	::= { hwPortEntry 13 }

hwPortAdminStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The administrative state of the physical layer of this 
		port. When a port is configured up(1), the physical layer 
		is configured to process all physical layer events including
		the transmission and reception of data (cells).  When a port
		is configured down(2), the physical layer should be shut down 
		and should ignore all physical layer events (e.g. cell reception, 
		carrier loss, loss of framing, parity errors, etc.).  The 
		operational status of a port is reflected in the
		hwPortOperStatus object."
	::= { hwPortEntry 14 }

hwPortTAXILoopback OBJECT-TYPE
	SYNTAX	INTEGER {
			noLoopback(1), 
			loopback(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the loopback status of a TAXI port.
		For non-TAXI ports (e.g. DS3/E3 or SONET) the loopback configuration
		should be set in their specific tables."
	DEFVAL { 1 }
	::= { hwPortEntry 15 }

------------------------------------------------------------------------
-- The Environment Group

-- Implementation of this group is mandatory
-- for all ForeRunner switches that implement
-- software access to environment state.

------------------------------------------------------------------------
-- The Switch Alarm Group

swAlarmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwAlarmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of switch alarm definitions and configuration."
	::= { alarmGroup 1 }

swAlarmEntry OBJECT-TYPE
	SYNTAX	SwAlarmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing switch alarm definitions."
	INDEX	{ swAlarmType }
	::= { swAlarmTable 1 }

SwAlarmEntry ::=
	SEQUENCE {
		swAlarmType		INTEGER,
		swAlarmStatus		INTEGER,
		swAlarmMinorCategory	INTEGER,
		swAlarmMajorCategory	INTEGER
	}

swAlarmType OBJECT-TYPE
	SYNTAX INTEGER {
			powerSupplyInputFailed(1),
			powerSupplyOutputFailed(2),
			fanBankFailed(3),
			tempSensorOverTemp(4),
			linkFailed(5),
			spansFailed(6)
		}
	ACCESS 	read-only
	STATUS 	mandatory
	DESCRIPTION
		"The type of the alarm."
	::= { swAlarmEntry 1 }

swAlarmStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			active(1),
			inactive(2)
		}
	ACCESS 	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of this alarm entry. An alarm becomes
		active if the underlying condition is detected.
		For power supplies, the input failed alarm condition
		is asserted if the input voltage is not within
		the nominal range for the supply. This does not 
		necessarily mean that an ouput failure will result.
		A power supply output failure condition is asserted
		if any power supply is failing or if it is physically
		removed. Power supply output alarms are only applicable
		to switches with multiple power supplies. Fan bank
		and temperature sensor failures are applicable only
		to switches with the appropriate sensing capabilities.
		Link and spans failures are applicable to all switches."
	::= { swAlarmEntry 2 }

swAlarmMinorCategory OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		}
	ACCESS 	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates whether a minor alarm is triggered
		when this event occurs."
	::= { swAlarmEntry 3 }

swAlarmMajorCategory OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		}
	ACCESS 	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates whether a major alarm is triggered
		when this event occurs."
	::= { swAlarmEntry 4 }

-- swAlarmEntry 5, 6 deprecated.

------------------------------------------------------------------------

swAlarmMajorRelayState OBJECT-TYPE
	SYNTAX	INTEGER {
			on(1),
			off(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the current state of the major alarm 
		relay. If one or more of the alarms (swAlarmType) that are 
		defined major (swAlarmMajorCategory) are currently active 
		(swAlarmStatus), this object will be on(1)."
	::= { alarmGroup 2 }


swAlarmMinorRelayState OBJECT-TYPE
	SYNTAX	INTEGER {
			on(1),
			off(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the current state of the minor alarm 
		relay. Ifone or mote of the alarms (swAlarmType) that are 
		defined minor (swAlarmMinorCategory) are currently active 
		(swAlarmStatus), this object will be on(1)."
	::= { alarmGroup 3 }

------------------------------------------------------------------------
-- The Power Supply Group

envMaxNumberOfPowerSupplies OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of power supplies that can be installed
		on this ATM switch."
	::= { powerGroup 1 }

envNumberOfPowerSupplies OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of power supply entries in the power
		 supply table. This is the number of power supplies
		 actually present."
	::= { powerGroup 2 }

envPowerSupplyTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF EnvPowerSupplyEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of power supply information."
	::= { powerGroup 3 }

envPowerSupplyEntry OBJECT-TYPE
	SYNTAX	EnvPowerSupplyEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing power supply information."
	INDEX	{ envPowerSupplyIndex }
	::= { envPowerSupplyTable 1 }

EnvPowerSupplyEntry ::=
	SEQUENCE {
		envPowerSupplyIndex		INTEGER,
		envPowerSupplyType		INTEGER,
		envPowerSupplyInputState	GeneralState,
		envPowerSupplyOutputState	GeneralState,
		envPowerSupplySerialNumber	INTEGER,
		envPowerSupplyVersion		INTEGER
	}

envPowerSupplyIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this power supply."
	::= { envPowerSupplyEntry 1 }

envPowerSupplyType OBJECT-TYPE
	SYNTAX	INTEGER {
			psUnknown(1),
    			psAutoRangeAC(4),
    			ps48VDC(5)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of this power supply."
	::= { envPowerSupplyEntry 2 }

envPowerSupplyInputState OBJECT-TYPE
	SYNTAX	GeneralState
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The state of the input voltage to this power supply."
	::= { envPowerSupplyEntry 3 }

envPowerSupplyOutputState OBJECT-TYPE
	SYNTAX	GeneralState
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of the output of this power supply. In case 
		there are several output supplies (like +5V, +12V, -12V)
		this object indicates the aggregate state of all outputs."
	::= { envPowerSupplyEntry 4 }

envPowerSupplySerialNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The serial number of this power supply, if available."
	::= { envPowerSupplyEntry 5 }

envPowerSupplyVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of this power supply, if available."
	::= { envPowerSupplyEntry 6 }


------------------------------------------------------------------------
-- The Fans Group

envNumberOfFanBanks OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of fan banks on this ATM switch."
	::= { fansGroup 1 }

envFanBanksTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF EnvFanBanksEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of fan bank information."
	::= { fansGroup 2 }

envFanBanksEntry OBJECT-TYPE
	SYNTAX	EnvFanBanksEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing fan bank information."
	INDEX	{ envFanBankIndex }
	::= { envFanBanksTable 1 }

EnvFanBanksEntry ::=
	SEQUENCE {
		envFanBankIndex		INTEGER,
		envFanBankState		GeneralState
	}

envFanBankIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this fan bank."
	::= { envFanBanksEntry 1 }

envFanBankState OBJECT-TYPE
	SYNTAX	GeneralState
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of the fan bank."
	::= { envFanBanksEntry 3 }
		
------------------------------------------------------------------------
-- The Temperature Sensors Group

-- Implementation of this group is mandatory
-- for all ForeRunner switches that implement
-- software access to temperature sensors information.

envNumberOfTempSensors OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of temperature sensors 
		installed on this ATM switch."
	::= { tempGroup 1 }

envTempSensorsTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF EnvTempSensorsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of temperature sensors information."
	::= { tempGroup 2 }

envTempSensorsEntry OBJECT-TYPE
	SYNTAX	EnvTempSensorsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing temperature sensor information."
	INDEX	{ envTempSensorIndex }
	::= { envTempSensorsTable 1 }

EnvTempSensorsEntry ::=
	SEQUENCE {
		envTempSensorIndex		INTEGER,
		envTempSensorState		INTEGER
	}

envTempSensorIndex OBJECT-TYPE
	SYNTAX	INTEGER {
			enclosure(1),
			power-supply-A(2),
			power-supply-B(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this temperature sensor. The value of
		 the index provides an indication of the location
		 and function of the temperature sensor. The set
		 of temperature sensors may vary by switch type."
	::= { envTempSensorsEntry 1 }

envTempSensorState OBJECT-TYPE
	SYNTAX	INTEGER {
			normal(1),
			overTemp(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The temperature state of this sensor."
	::= { envTempSensorsEntry 2 }
		

------------------------------------------------------------------------
-- The CPU Group

-- Implementation of this group is mandatory
-- for all ForeRunner switches that implement
-- software access to CPU state information.

envMaxNumberOfCPUs OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of CPUs that can be installed on 
		this ATM switch."
	::= { cpuGroup 1 }

envNumberOfCPUs OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number entries in the CPU table."
	::= { cpuGroup 2 }

envCPUsTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF EnvCPUsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of CPU information."
	::= { cpuGroup 3 }

envCPUsEntry OBJECT-TYPE
	SYNTAX	EnvCPUsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing CPU information."
	INDEX	{ envCpuBoard, envCpuSlot }
	::= { envCPUsTable 1 }

EnvCPUsEntry ::=
	SEQUENCE {
		envCpuBoard		INTEGER,
		envCpuSlot		INTEGER,
		envCpuType		INTEGER,
		envCPUState		GeneralState
	}

envCpuBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The board index of this CPU."
	::= { envCPUsEntry 1 }

envCpuSlot OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The slot index of this CPU."
	::= { envCPUsEntry 2 }

envCpuType OBJECT-TYPE
	SYNTAX	INTEGER {
			other(1),
			sun4e(2),
			sun4c(3),
			1(4),
			i960(5)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of this CPU."
	::= { envCPUsEntry 3 }

envCPUState OBJECT-TYPE
	SYNTAX	INTEGER {
			normal(1),
			fail(2),
			standby(3),
			boot(4)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The state of the processor."
	::= { envCPUsEntry 4 }
		
------------------------------------------------------------------------
-- The Mgmt Group
-- This group provides information about the management station
-- board, on those switches with management station support.

envMgmtBoardType OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The board type of the management station."
	::= { mgmtGroup 1 }

envMgmtBoardRevision OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The board revision number of the management station."
	::= { mgmtGroup 2 }

envMgmtBoardSerialNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The serial number of the management station board."
	::= { mgmtGroup 3 }

------------------------------------------------------------------------
-- Fabric Group
-- This group provides environmental information about individual
-- switch fabrics. This may or may not be supported on all switches.

envFabricAlarmTripTemperature OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-write
	STATUS  mandatory
	DESCRIPTION
		"The temperature threshold in degrees C at which a
		 fabric temperature alarm will be raised."
	::= {fabricGroup 1}

envFabricAlarmResetTemperature OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The temperature in degrees C at which a fabric
		 temperature alarm will be cancelled."
	::= {fabricGroup 2}

envFabricTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF EnvFabricEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of fabric environmental information"
	::= { fabricGroup 3 }

envFabricEntry OBJECT-TYPE
	SYNTAX	EnvFabricEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table containing fabric environmental information"
	INDEX	{ envFabricIndex }
	::= { envFabricTable 1 }

EnvFabricEntry ::=
	SEQUENCE {
		envFabricIndex			INTEGER,
		envFabricTemperature		INTEGER,
		envFabricTemperatureState 	INTEGER
	}

envFabricIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of the fabric"
	::= { envFabricEntry 1 }

envFabricTemperature OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The temperature measured at the fabric, in degrees C"
	::= { envFabricEntry 2 }

envFabricTemperatureState OBJECT-TYPE
	SYNTAX	INTEGER {
			normal(1),
			overTemp(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The software state of this fabric temperature
		 sensor. This will indicate `normal' until the
		 sensor temperature reaches the current trip
		 threshold. It will then indicate `overTemp'
		 until the temperature reaches the current reset
		 threshold (or until the switch fabric is restarted)."
	::= { envFabricEntry 3}

------------------------------------------------------------------------
-- The Distributed Timing Group

-- Implementation of this table is mandatory for all hardware
-- that support distributed timing.

netmodTimingTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF NetmodTimingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of network modules timing information. Implementation
		of this table is mandatory if the network module hardware 
		supports distributed timing."
	::= { netmodTimingGroup 1 }

netmodTimingEntry OBJECT-TYPE
	SYNTAX	NetmodTimingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing network modeul timing information."
	INDEX	{ ntBoard, ntModule }
	::= { netmodTimingTable 1 }

NetmodTimingEntry ::=
	SEQUENCE {
		ntBoard				INTEGER,
		ntModule			INTEGER,
		ntPrimaryRecoveredClock		INTEGER,
		ntSecondaryRecoveredClock	INTEGER,
		ntPrimaryExportClock		INTEGER,
		ntSecondaryExportClock		INTEGER,
		ntGlobalClock			INTEGER,
		ntExportClockOperStatus		INTEGER,
		ntPrimaryImportClock		INTEGER,
		ntSecondaryImportClock		INTEGER,
		ntImportClockOperStatus		INTEGER
	}

ntBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { netmodTimingEntry 1 }

ntModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this network module within the switch board."
	::= { netmodTimingEntry 2 }

ntPrimaryRecoveredClock OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The port number on this network module that provides the 
		primary 8KHz reference clock from its received signal."
	::= { netmodTimingEntry 3 }

ntSecondaryRecoveredClock OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The port number on this network module that provides the 
		secondary 8KHz reference clock from its received signal."
	::= { netmodTimingEntry 4 }

ntPrimaryExportClock OBJECT-TYPE
	SYNTAX	INTEGER {
			primaryRecoveredClock(1),
			crystalClock(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The primary 8KHz clock exported by this network module.
		The exported clock may be used as the network module global 
		clock, which in turn, may be used by all ports that link their
		transmit clock to the network module global clock."
	::= { netmodTimingEntry 5 }

ntSecondaryExportClock OBJECT-TYPE
	SYNTAX	INTEGER {
			secondaryRecoveredClock(1),
			crystalClock(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The secondary 8KHz clock exported by this network module.
		The exported clock may be used as the network module global 
		clock. The secondary exported clock will be used if the 
		primary exported clock is not available."
	::= { netmodTimingEntry 6 }

ntGlobalClock OBJECT-TYPE
	SYNTAX	INTEGER {
			exportClock(1),
			importClock(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The global 8KHz clock that is available to every port on this
		network module, when the port links its trasnmit clock to the
		network module global clock."
	::= { netmodTimingEntry 7 }

ntExportClockOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        primaryClock(1),
                        secondaryClock(2),
			crystalClock(3)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The currently active 8KHz clock configuration. The tertiaryClock(3)
		is determined by the switch control software if both the primary
		and secondary clocks are not available."
        ::= { netmodTimingEntry 8 }

ntPrimaryImportClock OBJECT-TYPE
	SYNTAX	INTEGER {
			netmodAExportClock(1),
			netmodBExportClock(2),
			netmodCExportClock(3),
			netmodDExportClock(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The primary 8kHz clock imported by this network module.
		The imported clock may be used as the network module global 
		clock, which in turn, may be used by all ports that link their
		transmit clock to the network module global clock."
	::= { netmodTimingEntry 9 }

ntSecondaryImportClock OBJECT-TYPE
	SYNTAX	INTEGER {
			netmodAExportClock(1),
			netmodBExportClock(2),
			netmodCExportClock(3),
			netmodDExportClock(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The secondary 8kHz clock imported by this network module.
		The imported clock may be used as the network module global 
		clock. The secondary imported clock will be used if the 
		primary imported clock is not available."
	::= { netmodTimingEntry 10 }


ntImportClockOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        primaryClock(1),
                        secondaryClock(2),
			netmodExportClock(3)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The currently active 8kHz import clock configuration. The
		tertiaryClock(3) is determined by the switch control software
		if both the primary and secondary clocks are not available."
        ::= { netmodTimingEntry 11 }

------------------------------------------------------------------------
-- The Shared Memory Group

-- Implementation of this group is mandatory for all hardware
-- that support shared memory network modules.

shmemConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ShmemConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for shared memory network modules configuration. 
		Implementation of this table is mandatory if at least
		one of the network modules' hardware is based on shared 
		memory. The user should walk this table and select the
		shared memory configuration that suits his/her needs.
		The selection is done in the specific network module 
		shared memory configuration entry (netmodShmemTable)."
	::= { netmodShmemGroup 1 }

shmemConfEntry OBJECT-TYPE
	SYNTAX	ShmemConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing shared memory network module 
		configuration information."
	INDEX	{ shmemConfIndex }
	::= { shmemConfTable 1 }

ShmemConfEntry ::=
	SEQUENCE {
		shmemConfIndex		INTEGER,
		shmemUcastConnections	INTEGER,
		shmemMcastConnections	INTEGER,
		shmemVpiVciLists	INTEGER,
		shmemCellsBuffers	INTEGER,
		shmemConfName		DisplayString
	}

shmemConfIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this shared memory configuration."
	::= { shmemConfEntry 1 }

shmemUcastConnections OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of unicast connections that is
		supported by this shared memory configuration."
	::= { shmemConfEntry 2 }

shmemMcastConnections OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of multicast connections that is
		supported by this shared memory configuration."
	::= { shmemConfEntry 3 }

shmemVpiVciLists OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The memory allocated for VPI/VCI lists (which is used
		for multicast connections) by this shared memory 
		configuration."
	::= { shmemConfEntry 4 }

shmemCellsBuffers OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells buffers that is supported by 
		this shared memory configuration."
	::= { shmemConfEntry 5 }

shmemConfName OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The name of this shared memory configuration."
	::= { shmemConfEntry 6 }


------------------------------------------------------------------------

netmodShmemTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF NetmodShmemEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for shared memory network modules configuration. 
		Implementation of this table is mandatory if the network 
		module hardware is based on shared memory."
	::= { netmodShmemGroup 2 }

netmodShmemEntry OBJECT-TYPE
	SYNTAX	NetmodShmemEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing shared memory network module 
		configuration information."
	INDEX	{ nshmemBoard, nshmemModule }
	::= { netmodShmemTable 1 }

NetmodShmemEntry ::=
	SEQUENCE {
		nshmemBoard			INTEGER,
		nshmemModule			INTEGER,
		nshmemConfRow			INTEGER,
		nshmemConfSharedMemory		INTEGER,
		nshmemCurrentUcastConnections	Gauge,
		nshmemCurrentMcastConnections	Gauge,
		nshmemCurrentVpiVciLists	Gauge,
		nshmemCurrentCellsBuffers	Gauge,
		nshmemCurrentSharedMemory	Gauge,
		nshmemConfAal5PacketDrop	INTEGER,
                nshmemAssertXACPT               INTEGER
	}

nshmemBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { netmodShmemEntry 1 }

nshmemModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this network module within the switch board."
	::= { netmodShmemEntry 2 }

nshmemConfRow OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object identify the row in the shared memory 
		configuration table that was selected for this network 
		module."
	::= { netmodShmemEntry 3 }

nshmemConfSharedMemory OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The amount of memory that was configured for this 
		network module given all the user requirements as
		specified in the selected shared memory configuration
		row."
	::= { netmodShmemEntry 4 }

nshmemCurrentUcastConnections OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of unicast connections active
		on this shared memory network module."
	::= { netmodShmemEntry 5 }

nshmemCurrentMcastConnections OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of multicast connections active
		on this shared memory network module."
	::= { netmodShmemEntry 6 }

nshmemCurrentVpiVciLists OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of VPI/VCI lists active
		on this shared memory network module."
	::= { netmodShmemEntry 7 }

nshmemCurrentCellsBuffers OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number cells buffers active
		on this shared memory network module."
	::= { netmodShmemEntry 8 }

nshmemCurrentSharedMemory OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current value of the used shared memory
		on this network module."
	::= { netmodShmemEntry 9 }

nshmemConfAal5PacketDrop OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The AAL5 packet drop threshold in number of cells.
		The switch software provides a reasonable default, 
		however, the user may wish to change this value 
		according to the type of traffic and size of packets
		being transmitted on the network."
	::= { netmodShmemEntry 10 }

nshmemAssertXACPT OBJECT-TYPE
        SYNTAX INTEGER {
                clearXACPT (1),
                assertXACPT (2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable establishes the setting fo the XACPT bit 
                 in the fs200sm main control register (section 3.1).
                 This bit determines whether the signal XACPT is 
                 asserted whenever the shared memory is full.  XACPT
                 prevents the switch from sending cells to the network 
                 module.  This bit takes advantage of any buffers on the 
                 switch to reduce cell loss, but it should not be used
                 if guaranteed cell delay is being provided to high
                 priority cells."
        ::= { netmodShmemEntry 11 }

------------------------------------------------------------------------

portShmemConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PortShmemConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for shared memory network modules configuration
		that is specified on a port basis. Implementation of this 
		table is mandatory if the network module hardware is based 
		on shared memory."
	::= { portShmemGroup 1 }

portShmemConfEntry OBJECT-TYPE
	SYNTAX	PortShmemConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing port configuration information
		for shared memory network modules."
	INDEX	{ pshmemConfBoard, pshmemConfModule, pshmemConfPort  }
	::= { portShmemConfTable 1 }

PortShmemConfEntry ::=
	SEQUENCE {
		pshmemConfBoard		INTEGER,
		pshmemConfModule	INTEGER,
		pshmemConfPort		INTEGER,
		pshmemMaxCDVforCBR	INTEGER,
		pshmemMaxCDVforVBR	INTEGER,
		pshmemQsizeforABR	INTEGER,
		pshmemEfciOnABR		INTEGER,
		pshmemEfciOffABR	INTEGER
	}

pshmemConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { portShmemConfEntry 1 }

pshmemConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this network module within the switch board."
	::= { portShmemConfEntry 2 }

pshmemConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port within the switch board and 
		network module."
	::= { portShmemConfEntry 3 }

pshmemMaxCDVforCBR OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum transmitting CDV (Cell Delay Variation) in
		microseconds for CBR (Constant Bit Rate) traffic."
	::= { portShmemConfEntry 4 }

pshmemMaxCDVforVBR OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum transmitting CDV (Cell Delay Variation) in
		microseconds for VBR (Variable Bit Rate) traffic."
	::= { portShmemConfEntry 5 }

pshmemQsizeforABR OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The dedicated queue size in cells for ABR (Available 
		Bit Rate) and UBR (Unspecified Bit rate) types of traffic."
	::= { portShmemConfEntry 6 }

pshmemEfciOnABR OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The treshold on which the EFCI (Explicit Forward Congestion 
		Indication) bit is turned on for ABR (Available Bit Rate) and 
		UBR (Unspecified Bit rate) traffic."
	::= { portShmemConfEntry 7 }

pshmemEfciOffABR OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The treshold on which the EFCI (Explicit Forward Congestion 
		Indication) bit is turned off for ABR (Available Bit Rate) and 
		UBR (Unspecified Bit rate) traffic."
	::= { portShmemConfEntry 8 }



------------------------------------------------------------------------

portShmemTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PortShmemEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table for current state of port on shared memory network 
		modules. Implementation of this table is mandatory if the 
		network module hardware is based on shared memory."
	::= { portShmemGroup 2 }

portShmemEntry OBJECT-TYPE
	SYNTAX	PortShmemEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing current port configuration 
		information for shared memory network modules."
	INDEX	{ pshmemBoard, pshmemModule, pshmemPort, pshmemPriority  }
	::= { portShmemTable 1 }

PortShmemEntry ::=
	SEQUENCE {
		pshmemBoard			INTEGER,
		pshmemModule			INTEGER,
		pshmemPort			INTEGER,
		pshmemPriority			INTEGER,
		pshmemClpThreshold		INTEGER,
		pshmemDedicatedQsize		INTEGER,
		pshmemCurrentQsize		INTEGER,
		pshmemTxCells			Counter,
		pshmemLostCells			Counter
	}

pshmemBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this board within the ATM switch."
	::= { portShmemEntry 1 }

pshmemModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this network module within the switch board."
	::= { portShmemEntry 2 }

pshmemPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port within the switch board and 
		network module."
	::= { portShmemEntry 3 }

pshmemPriority OBJECT-TYPE
	SYNTAX	INTEGER {
			priority-ABR-UBR(1),
			priority-VBR(2),
			priority-CBR(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The traffic type."
	::= { portShmemEntry 4 }

pshmemClpThreshold OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The threshold level in number of cells in which CLP=1 
		cells will be dropped."
	::= { portShmemEntry 5 }

pshmemDedicatedQsize OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The dedicated queue size for this type of traffic as
		was calculated by the switch software. The dedicated
		queue size is determined by the configured maximum CDV 
		(Cell Delay Variation) for CBR (Constant Bit Rate and
		VBR (Variable Bit Rate) as well as the configurable
		queue size for ABR (Available Bit Rate) and UBR 
		(Unspecified Bit Rate) traffic."
	::= { portShmemEntry 6 }

pshmemCurrentQsize OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current size of the queue."
	::= { portShmemEntry 7 }

pshmemTxCells OBJECT-TYPE
	SYNTAX	Counter 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells that were transmitted 
		for this port and priority queue."
	::= { portShmemEntry 8 }

pshmemLostCells OBJECT-TYPE
	SYNTAX	Counter 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells that were lost for this port 
		and priority queue."
	::= { portShmemEntry 9 }



------------------------------------------------------------------------
-- The Switch Group

hardwareVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM switch hardware in hex. 
		The version number is encoded into 6 hex digits.
		For example, version 1.2.3 is decoded as 0x010203."
	::= { switchGroup 1 }

softwareVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM switch control software in hex.
		The version number is encoded into 6 hex digits. For example, 
		version 1.2.3 is encoded as 0x010203."
	::= { switchGroup 2 }

maxPaths OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of input VPIs (Virtual Path Identifies)."
	::= { switchGroup 3 }

maxChannels OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of input VCIs (Virtual Channel Identifiers)."
	::= { switchGroup 4 }

atmAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The address of this ATM switch."
	::= { switchGroup 5 }

uptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time this ATM switch has been up,
		in hundredths of a second."
	::= { switchGroup 6 }

switchCDV OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The switch Cell Delay Variation (CDV) specified in 
		microseconds, indicates the time window in which a cell 
		may be received on a connection and be accepted. A cell 
		that is received on a connection outside the CDV window 
		will be tagged or dropped as indicated by the 
		switchPolicingAction object. The switchCDV is the default 
		CDV for all the connections on this switch. Individual
		connections can be set to explicitly override this value."
	::= { switchGroup 7 }

switchPolicingAction OBJECT-TYPE
	SYNTAX	INTEGER {
			tag(1),
			drop(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the action the switch will take in case 
		of bandwidth violation. The switchPolicingAction is the default
		policing action for all the connections on this switch. 
		Individual connections can be set to explicitly override this 
		default action."
	::= { switchGroup 8 }

softwareVersionText OBJECT-TYPE
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the ATM switch control software. This object
		provides text information about the internal software configuration 
		that was used when the switch control software was built."
	::= { switchGroup 9 }

switchType OBJECT-TYPE
	SYNTAX	INTEGER {
			asx100(1),
			asx200(2),
			asx200wg(4),
			asx200bx(5),
			asx200bxe(6),
			cabletron9A000(7)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the switch type."
	::= { switchGroup 10 }

switchNsapPrefix OBJECT-TYPE
	SYNTAX	NsapPrefix
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The default NSAP (Network Service Access Point) prefix for 
		this ATM switch. The NSAP prefix will be used in the ILMI 
		address registration message as well as the 'hello-indication'
		SPANS-NNI message."
	::= { switchGroup 11 }


------------------------------------------------------------------------
-- The Port Group

numberOfPorts OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ports on this ATM switch."
	::= { portGroup 1 }

portTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the ports on this ATM switch."
	::= { portGroup 2 }

portEntry OBJECT-TYPE
	SYNTAX	PortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing port information."
	INDEX	{ portNumber }
	::= { portTable 1 }

PortEntry ::=
	SEQUENCE {
		portNumber		INTEGER,
		portAdminStatus		INTEGER,
		portOperStatus		INTEGER,
		portTime		TimeTicks,
		portRemoteAtmAddress	AtmAddress,
		portRemoteIpAddress	IpAddress,

		portMaxPathsIn		INTEGER,
		portNumPathsIn		Gauge,
		portMaxBandwidthIn	INTEGER,
		portAllocBandwidthIn	Gauge,
		portUsedBandwidthIn	Gauge,
		portReceivedCells	Counter,

		portMaxPathsOut		INTEGER,
		portNumPathsOut		Gauge,
		portMaxBandwidthOut	INTEGER,
		portAllocBandwidthOut	Gauge,
		portUsedBandwidthOut	Gauge,
		portTransmittedCells	Counter,

		portHwBoard		INTEGER,
		portHwModule		INTEGER,
		portHwNumber		INTEGER,

		portILMIRemoteIpAddress	IpAddress
	}

portNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port."
	::= { portEntry 1 }

portAdminStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			unused(1),
			down(2),
			up(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The desired state of this port.  The up(3) state
		indicates that SPANS (Simple Protocol for ATM Network Signalling), 
		FORE's link signalling protocol, is used to determine the 
		operational status of the port. The down(2) state dictates 
		that the operational status of the port should not be determined 
		by SPANS."
	::= { portEntry 2 }

portOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of this port,
		as determined either by administrative action,
		when the value of portAdminStatus is down(2),
		or by SPANS (Simple Protocol for ATM Network Signalling), 
		FORE's link signalling protocol, when the value of
		porAdminStatus is up(3)."
	::= { portEntry 3 }

portTime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time this port has been in its current state,
		in hundredths of a second."
	::= { portEntry 4 }

portRemoteAtmAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the entity connected to this port."
	::= { portEntry 5 }

portRemoteIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the entity connected to this port."
	::= { portEntry 6 }

portMaxPathsIn OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of incoming virtual paths
		supported by this port."
	::= { portEntry 7 }

portNumPathsIn OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of incoming virtual paths on this port."
	::= { portEntry 8 }

portMaxBandwidthIn OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum incoming bandwidth of this port,
		in cells per second."
	::= { portEntry 9 }

portAllocBandwidthIn OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The allocated incoming bandwidth of this port,
		in cells per second."
	::= { portEntry 10 }

portUsedBandwidthIn OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	deprecated
	DESCRIPTION
		"The incoming bandwidth being used on this port,
		in cells per second."
	::= { portEntry 11 }

portReceivedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells received on this port."
	::= { portEntry 12 }

portMaxPathsOut OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of outgoing virtual paths
		supported by this port."
	::= { portEntry 13 }

portNumPathsOut OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of outgoing virtual paths on this port."
	::= { portEntry 14 }

portMaxBandwidthOut OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum outgoing bandwidth of this port,
		in cells per second."
	::= { portEntry 15 }

portAllocBandwidthOut OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The allocated outgoing bandwidth of this port,
		in cells per second."
	::= { portEntry 16 }

portUsedBandwidthOut OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	deprecated
	DESCRIPTION
		"The outgoing bandwidth being used on this port,
		in cells per second."
	::= { portEntry 17 }

portTransmittedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells transmitted on this port."
	::= { portEntry 18 }

portHwBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The hardware board number of this port."
	::= { portEntry 19 }

portHwModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The hardware module number of this port. For a control port 
		(a software port), the value of this object is the maximun 
		number of hardware modules plus one."
	::= { portEntry 20 }

portHwNumber OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The hardware port number of this port. For a control port 
		(a software port), the value of this object is 0."
	::= { portEntry 21 }

portILMIRemoteIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the entity connected to this port that
		was discovered using ILMI on path 0. If there is no q2931
		siganlling path on VPI 0 that uses ILMI, the value of this
		object is 255.255.255.255."
	::= { portEntry 22 }


------------------------------------------------------------------------
-- The Path Group

pathTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the virtual paths
		passing through this ATM switch."
	::= { pathGroup 1 }

pathEntry OBJECT-TYPE
	SYNTAX	PathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing path information."
	INDEX	{ pathPort, pathVPI }
	::= { pathTable 1 }

PathEntry ::=
	SEQUENCE {
		pathPort		INTEGER,
		pathVPI			INTEGER,
		pathStatus		EntryStatus,
		pathNumOutputs		Gauge,
		pathMaxChannels		INTEGER,
		pathNumChannels		Gauge,
		pathMaxBandwidth	INTEGER,
		pathAllocBandwidth	Gauge,
		pathUsedBandwidth	Gauge,
		pathCells		Counter,
		pathUptime		TimeTicks,
		pathSigProtocol		AtmSigProtocol,
		pathRejectedCells	Counter
	}

pathPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input port 
		of this path and is the same as the portNumber."
	::= { pathEntry 1 }

pathVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The input VPI (Virtual Path Identifier) of this path."
	::= { pathEntry 2 }

pathStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this path entry."
	::= { pathEntry 3 }

pathNumOutputs OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of output ports to which this path is routed."
	::= { pathEntry 4 }

pathMaxChannels OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of virtual channels that
		can be allocated on this path."
	::= { pathEntry 5 }

pathNumChannels OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of virtual channels currently allocated
		on this path."
	::= { pathEntry 6 }

pathMaxBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum bandwidth of this path, in cells per second."
	::= { pathEntry 7 }

pathAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this path, in cells per second."
	::= { pathEntry 8 }

pathUsedBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	deprecated
	DESCRIPTION
		"The bandwidth being used on this path, in cells per second."
	::= { pathEntry 9 }

pathCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells transferred over this path."
	::= { pathEntry 10 }

pathUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this path was created,
		in hundredths of a second."
	::= { pathEntry 11 }

pathSigProtocol OBJECT-TYPE
	SYNTAX	AtmSigProtocol
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The signaling protocol that created this path."
	::= { pathEntry 12 }

pathRejectedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells over this path that were rejected 
		(tagged or dropped as indicated by the PolicingAction object)
		by the hardware due to traffic violation." 
	::= { pathEntry 13 }

------------------------------------------------------------------------

pathRouteTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PathRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the routing of paths through
		this ATM switch."
	::= { pathGroup 2 }

pathRouteEntry OBJECT-TYPE
	SYNTAX	PathRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing path route information."
	INDEX	{ pathrInputPort, pathrInputVPI, pathrOutputPort, pathrOutputVPI }
	::= { pathRouteTable 1 }

PathRouteEntry ::=
	SEQUENCE {
		pathrInputPort		INTEGER,
		pathrInputVPI		INTEGER,
		pathrOutputPort		INTEGER,
		pathrOutputVPI		INTEGER,
		pathrStatus		EntryStatus,
		pathrMaxBandwidth	INTEGER,
		pathrAllocBandwidth	Gauge,
		pathrCells		Counter,
		pathrUptime		TimeTicks,
		pathrSigProtocol	AtmSigProtocol,
		pathrRejectedCells	Counter
	}

pathrInputPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input port 
		of this path and is the same as the portNumber."
	::= { pathRouteEntry 1 }

pathrInputVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The input VPI  (Virtual Path Identifier) of this path."
	::= { pathRouteEntry 2 }

pathrOutputPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output port 
		of this path and is the same as the portNumber."
	::= { pathRouteEntry 3 }

pathrOutputVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The output VPI  (Virtual Path Identifier) of this path."
	::= { pathRouteEntry 4 }

pathrStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this path entry."
	::= { pathRouteEntry 5 }

pathrMaxBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum bandwidth of this path, in cells per second."
	::= { pathRouteEntry 6 }

pathrAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this path, in cells per second."
	::= { pathRouteEntry 7 }

pathrCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells transferred over this path."
	::= { pathRouteEntry 8 }

pathrUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this path was created,
		in hundredths of a second."
	::= { pathRouteEntry 9 }

pathrSigProtocol OBJECT-TYPE
	SYNTAX	AtmSigProtocol
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The signaling protocol that created this path."
	::= { pathRouteEntry 10 }

pathrRejectedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells over this through path that 
		were rejected by the hardware due to traffic violation." 
	::= { pathRouteEntry 11 }

------------------------------------------------------------------------

outputPathTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF OutputPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the virtual paths
		originating at this ATM switch."
	::= { pathGroup 3 }

outputPathEntry OBJECT-TYPE
	SYNTAX	OutputPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing output path information."
	INDEX	{ opathPort, opathVPI }
	::= { outputPathTable 1 }

OutputPathEntry ::=
	SEQUENCE {
		opathPort		INTEGER,
		opathVPI		INTEGER,
		opathStatus		EntryStatus,
		opathMaxChannels	INTEGER,
		opathNumChannels	Gauge,
		opathMaxBandwidth	INTEGER,
		opathAllocBandwidth	Gauge,
		opathUsedBandwidth	Gauge,
		opathCells		Counter,
		opathUptime		TimeTicks,
		opathSigProtocol	AtmSigProtocol,
		opathRejectedCells	Counter
	}

opathPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output port 
		of this path and is the same as the portNumber."
	::= { outputPathEntry 1 }

opathVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The VPI  (Virtual Path Identifier) of this path."
	::= { outputPathEntry 2 }

opathStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this path entry."
	::= { outputPathEntry 3 }

opathMaxChannels OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of virtual channels that
		can be allocated on this path."
	::= { outputPathEntry 4 }

opathNumChannels OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of virtual channels currently allocated
		on this path."
	::= { outputPathEntry 5 }

opathMaxBandwidth OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum bandwidth of this path, in cells per second."
	::= { outputPathEntry 6 }

opathAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this path, in cells per second."
	::= { outputPathEntry 7 }

opathUsedBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	deprecated
	DESCRIPTION
		"The bandwidth used on this path, in cells per second."
	::= { outputPathEntry 8 }

opathCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells transmitted on this path."
	::= { outputPathEntry 9 }

opathUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this path was created,
		in hundredths of a second."
	::= { outputPathEntry 10 }

opathSigProtocol OBJECT-TYPE
	SYNTAX	AtmSigProtocol
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The signaling protocol that created this path."
	::= { outputPathEntry 11 }

opathRejectedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells on this output path that were 
		rejected (tagged or dropped as indicated by the PolicingAction
		object) by the hardware due to traffic violation."
	::= { outputPathEntry 12 }

------------------------------------------------------------------------
-- The Channel Group

channelTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ChannelEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the virtual channels
		passing through this ATM switch."
	::= { channelGroup 1 }

channelEntry OBJECT-TYPE
	SYNTAX	ChannelEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing channel information."
	INDEX	{ chanPort, chanVPI, chanVCI }
	::= { channelTable 1 }

ChannelEntry ::=
	SEQUENCE {
		chanPort		INTEGER,
		chanVPI			INTEGER,
		chanVCI			INTEGER,
		chanStatus		EntryStatus,
		chanNumOutputs		Gauge,
		chanAllocBandwidth	Gauge,
		chanUsedBandwidth	Gauge,
		chanCells		Counter,
		chanUptime		TimeTicks,
		chanSigProtocol		AtmSigProtocol,
		chanRejectedCells	Counter,
		chanCDV			INTEGER,
		chanPolicingAction	INTEGER
	}

chanPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input port 
		of this channel and is the same as the pathPort and 
		portNumber."
	::= { channelEntry 1 }

chanVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input VPI 
		(Virtual Path Identifier) of this channel, and is the
		same as the pathVPI."
	::= { channelEntry 2 }

chanVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The input VCI (Virtual Channel Identifier) of this channel."
	::= { channelEntry 3 }

chanStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this channel entry."
	::= { channelEntry 4 }

chanNumOutputs OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of output ports to which this channel is routed."
	::= { channelEntry 5 }

chanAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this channel, in cells per second."
	::= { channelEntry 6 }

chanUsedBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	deprecated
	DESCRIPTION
		"The bandwidth used on this channel, in cells per second."
	::= { channelEntry 7 }

chanCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells transferred on this channel."
	::= { channelEntry 8 }

chanUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this channel was created,
		in hundredths of a second."
	::= { channelEntry 9 }

chanSigProtocol OBJECT-TYPE
	SYNTAX	AtmSigProtocol
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The signaling protocol that created this channel."
	::= { channelEntry 10 }

chanRejectedCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of cells on this channel that were rejected
		(tagged or dropped as indicated by the PolicingAction object)
		by the hardware due to traffic violation."
	::= { channelEntry 11 }

chanCDV OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The channel Cell Delay Variation Tolerance (CDV),
		specified in microseconds, indicates the time window
		in which a cell may be received on a channel and be
		accepted. A cell that is received on a channel outside
		the CDV window will be dropped or tagged, based on the
		value of chanPolicingAction. The chanCDV value 
		overrides the default value of switchCDV."
	::= { channelEntry 12 }

chanPolicingAction OBJECT-TYPE
	SYNTAX	INTEGER {
			tag(1),
			drop(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the action the switch 
		will take in case of bandwidth violation on this
		channel."
	::= { channelEntry 13 }

------------------------------------------------------------------------

channelRouteTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ChannelRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about the routing of channels through
		this ATM switch."
	::= { channelGroup 2 }

channelRouteEntry OBJECT-TYPE
	SYNTAX	ChannelRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing channel route information."
	INDEX	{ chanrInputPort, chanrInputVPI, chanrInputVCI,
		  chanrOutputPort, chanrOutputVPI, chanrOutputVCI }
	::= { channelRouteTable 1 }

ChannelRouteEntry ::= SEQUENCE {
	chanrInputPort		INTEGER,
	chanrInputVPI		INTEGER,
	chanrInputVCI		INTEGER,
	chanrOutputPort		INTEGER,
	chanrOutputVPI		INTEGER,
	chanrOutputVCI		INTEGER,
	chanrStatus		EntryStatus,
	chanrSigProtocol	AtmSigProtocol
}

chanrInputPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input port 
		of this channel and is the same as the chanPort, 
		pathPort, and portNumber."
	::= { channelRouteEntry 1 }

chanrInputVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input VPI 
		(Virtual Path Identifier) of this channel, and is the
		same as the chanVPI, and pathVPI."
	::= { channelRouteEntry 2 }

chanrInputVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input VCI 
		(Virtual Channel Identifier) of this channel, and 
		is the same as chanVCI."
	::= { channelRouteEntry 3 }

chanrOutputPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output port 
		of this channel and is the same as the opathPort, 
		and portNumber."
	::= { channelRouteEntry 4 }

chanrOutputVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output VPI
		(Virtual Path Identifier) of this channel and is the 
		same as the opathVPI."
	::= { channelRouteEntry 5 }

chanrOutputVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The output VCI (Virtual Channel Identifier) of this channel."
	::= { channelRouteEntry 6 }

chanrStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this channel entry."
	::= { channelRouteEntry 7 }

chanrSigProtocol OBJECT-TYPE
	SYNTAX	AtmSigProtocol
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The signaling protocol that created this channel."
	::= { channelRouteEntry 8 }


------------------------------------------------------------------------
-- The Topology Group

numberOfLinks OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Current number of links known by this ATM switch."
	::= { topologyGroup 1 }

linkTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF LinkEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of links describing this switch's view
		of the ATM network topology."
	::= { topologyGroup 2 }

linkEntry OBJECT-TYPE
	SYNTAX	LinkEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing link information."
	INDEX	{ linkSrc, linkDest }
	::= { linkTable 1 }

LinkEntry ::=
	SEQUENCE {
		linkSrc		AtmAddress,
		linkDest	AtmAddress,
		linkCapacity	INTEGER,
		linkAge		INTEGER
	}

linkSrc OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the source switch of this link."
	::= { linkEntry 1 }

linkDest OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the destination switch of this link."
	::= { linkEntry 2 }

linkCapacity OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The free capacity of this link in kilobits per second."
	::= { linkEntry 3 }

linkAge OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The freshness of this link information. The actual 
		value has no units associated with it. It should be 
		used for comparison."
	::= { linkEntry 4 }

------------------------------------------------------------------------
-- The Signaling Group

-- The SPANS Group

sigPathTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SigPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of general information about the signaling path."
	::= { spansGroup 1 }

sigPathEntry OBJECT-TYPE
	SYNTAX	SigPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing signaling path information, 
		indexed by port and path."
	INDEX	{ sigPathPort, sigPathVPI }
	::= { sigPathTable 1 }

SigPathEntry ::= SEQUENCE {
	sigPathPort		INTEGER,
	sigPathVPI		INTEGER,
	sigPathVCI		INTEGER,
	sigPathClsVCI		INTEGER,
	sigPathAdminStatus	INTEGER,
	sigPathOperStatus	INTEGER,
	sigPathEntryStatus	EntryStatus,
	sigPathAALType		INTEGER,
	sigPathCDV 		INTEGER,
	sigPathPolicingAction 	INTEGER,
	sigPathRemoteAtmAddress	AtmAddress,
	sigPathRemoteIpAddress	IpAddress,
	sigPathType		INTEGER

}

sigPathPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port 
		of this signalling path, and is the same as the 
		portNumber."
	::= { sigPathEntry 1 }

sigPathVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The VPI (Virtual Path Identifier) of this signaling path."
	::= { sigPathEntry 2 }

sigPathVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The VCI (Virtual Channel Identifier) of the signaling 
		channel within the signaling path."
	::= { sigPathEntry 3 }

sigPathClsVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The VCI (Virtual Channel Identifier) of the connectionless
		channel within the signaling path."
	::= { sigPathEntry 4 }

sigPathAdminStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The desired state of this signaling channel. The up(1) state
		dictates that SPANS (Simple Protocol for ATM Network Siganlling)
		messages are used for signalling. The down(2) state dictates 
		the SPANS protocol is not used for signalling."
	::= { sigPathEntry 5 }

sigPathOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of this signaling channel,
		as determined either by administrative action, when the
		value of sigPathAdminStatus is down(2), or by a link
		monitoring protocol, when the value of sigPathAdminStatus
		is up(1)."
	::= { sigPathEntry 6 }

sigPathEntryStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this signaling path entry."
	::= { sigPathEntry 7 }

sigPathAALType OBJECT-TYPE
	SYNTAX	INTEGER {
			type34(1),
			type5(2) 
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The AAL (ATM Adaptation LAyer) type that is used by this 
		signaling path."
	::= { sigPathEntry 8 }

sigPathCDV OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The signalling path Cell Delay Variation (CDV) specified
		in microseconds, indicates the time window in which 
		a cell may be received on a signalling channel and be 
		accepted. A cell that is received on a channel outside the
		CDV window will be dropped. The sigPathCDV value 
		overrides the default value of switchCDV."
	::= { sigPathEntry 9 }

sigPathPolicingAction OBJECT-TYPE
	SYNTAX	INTEGER {
			tag(1),
			drop(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the action the switch 
		will take in case of bandwidth violation on 
		a signalling channel. The value set here overrides 
		the default value of switchPolicingAction."
	::= { sigPathEntry 10 }

sigPathRemoteAtmAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the entity connected to this 
		signalling path."
	::= { sigPathEntry 11 }

sigPathRemoteIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the entity connected to this 
		signalling path."
	::= { sigPathEntry 12 }

sigPathType OBJECT-TYPE
	SYNTAX	INTEGER {
			uni(1),
			nni(2) 
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of the signalling path connection. uni(1) 
		(User Network Interface) means that there is a host on 
		remote side, while nni(2) (Network Network Interface) 
		means there is another switch, that speaks SPANS, on 
		the remote side."
	::= { sigPathEntry 13 }

	
------------------------------------------------------------------------

sigPathStatsTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SigPathStatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of statistics about the signaling path."
	::= { spansGroup 2 }

sigPathStatsEntry OBJECT-TYPE
	SYNTAX	SigPathStatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing signaling path statistics, 
		indexed by port and path."
	INDEX	{ sigPathStatsPort, sigPathStatsVPI }
	::= { sigPathStatsTable 1 }

SigPathStatsEntry ::= SEQUENCE {
	sigPathStatsPort		INTEGER,
	sigPathStatsVPI			INTEGER,
	sigPathVCCs			Gauge,
	sigPathRestarts			Counter,
	sigPathCallsCompletions		Counter,
	sigPathCallsFailures		Counter,
	sigPathCallsRejections		Counter,
	sigPathSpansTransmittedMessages	Counter,
	sigPathSpansReceivedMessages	Counter,
	sigPathClsTransmittedMessages	Counter,
	sigPathClsReceivedMessages	Counter
}

sigPathStatsPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port 
		of this signalling path, and is the same as  
		sigPathPort."
	::= { sigPathStatsEntry 1 }

sigPathStatsVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the VPI (Virtual
		Path Identifier) of this signaling path statistics entry,
		and is the same as sigPathVPI."
	::= { sigPathStatsEntry 2 }

sigPathVCCs OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Virtual Channel Connections (VCCs) on this 
		signaling path."
	::= { sigPathStatsEntry 3 }

sigPathRestarts OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of times the switch has lost and regained 
		contact with the remote signaling entity on this path."
	::= { sigPathStatsEntry 4 }

sigPathCallsCompletions OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of successfully completed calls on this 
		signaling path."
	::= { sigPathStatsEntry 5 }

sigPathCallsFailures OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of call failures on this signaling path."
	::= { sigPathStatsEntry 6 }

sigPathCallsRejections OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of connections on this signaling path that were 
		rejected by the far end."
	::= { sigPathStatsEntry 7 }

sigPathSpansTransmittedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of SPANS messages that have been transmitted 
		over this signalling path."
	::= { sigPathStatsEntry 8 }

sigPathSpansReceivedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of SPANS messages that have been received on 
		this signalling path."
	::= { sigPathStatsEntry 9 }

sigPathClsTransmittedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of connectionless messages that have been 
		transmitted over this signalling path."
	::= { sigPathStatsEntry 10 }

sigPathClsReceivedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of connectionless messages that have been 
		received on this signalling path."
	::= { sigPathStatsEntry 11 }


------------------------------------------------------------------------

spvcSrcNumberOfSPVCs	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of SPVCs (Smart Permanent Virtual Circuits) 	
		that are going out of this switch (i.e. this switch is
		their source)."
	::= {spansGroup 3}

spvcSrcTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SpvcSrcEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"This table contains information about SPVCs (Smart
		Permanent Virtual Circuits) that their source is 
		this switch."
	::= { spansGroup 4 }

spvcSrcEntry OBJECT-TYPE
	SYNTAX	SpvcSrcEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing source SPVC (Smart
		Permanent Virtual Circuits) information."
	INDEX	{ spvcSrcSpvcId }
	::= { spvcSrcTable 1 }

SpvcSrcEntry ::= SEQUENCE {
		spvcSrcSpvcId		INTEGER,
		spvcSrcSwitchAddr	AtmAddress,
		spvcSrcDestSpvcId	INTEGER,
		spvcSrcDestSwitchAddr	AtmAddress,
		spvcSrcInPort		INTEGER,
		spvcSrcInVPI		INTEGER,
		spvcSrcInVCI		INTEGER,
		spvcSrcAllocBandwidth	Gauge,
		spvcSrcUpTime		TimeTicks,
		spvcSrcStatus		INTEGER,
		spvcSrcEntryStatus	EntryStatus
	}

spvcSrcSpvcId OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object uniquely identify 
		the SPVC (Smart Permanent Virtual Circuits) that 
		this switch is its source."
	::= { spvcSrcEntry 1 }

spvcSrcSwitchAddr OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the source switch."
	::= { spvcSrcEntry 2 }

spvcSrcDestSpvcId OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The SPVC (Smart Permanent Virtual Circuits) 
		identifier at the destination switch.
		This object should match the spvcDestSpvcId at
		the destination switch."
	::= { spvcSrcEntry 3 }

spvcSrcDestSwitchAddr OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the destination switch."
	::= { spvcSrcEntry 4 }

spvcSrcInPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input port 
		of this SPVC (Smart Permanent Virtual Circuits), and 
		is the same as the chanrInputPort, chanPort, pathPort, 
		and portNumber."
	::= { spvcSrcEntry 5 }

spvcSrcInVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input VPI 
		(Virtual Path Identifier) of this SPVC (Smart Permanent 
		Virtual Circuits), and is the same as the chanrInputVPI, 
		chanVPI, pathVPI."
	::= { spvcSrcEntry 6 }

spvcSrcInVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the input VCI
		(Virtual Channel Identifier) of this SPVC (Smart 
		Permanent Virtual Circuits), and is the 
		same as the chanrInputVCI."
	::= { spvcSrcEntry 7 }

spvcSrcAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this SPVC (Smart Permanent 
		Virtual Circuits)."
	::= { spvcSrcEntry 8 }

spvcSrcUpTime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this SPVC (Smart Permanent Virtual 
		Circuits) was created in hundredths of a second."
	::= { spvcSrcEntry 9 }

spvcSrcStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of this SPVC (Smart Permanent Virtual 
		Circuits)."
	::= { spvcSrcEntry 10 }

spvcSrcEntryStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this SPVC (Smart Permanent Virtual 
		Circuits) entry."
	::= { spvcSrcEntry 11 }

------------------------------------------------------------------------

spvcDestNumberOfSPVCs	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of SPVCs (Smart Permanent Virtual Circuits) 	
		that are coming into this switch (i.e. this switch is
		their destination)."
	::= {spansGroup 5}

spvcDestTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SpvcDestEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"This table contains information about SPVCs (Smart
		Permanent Virtual Circuits) that their destination is 
		this switch."
	::= { spansGroup 6 }

spvcDestEntry OBJECT-TYPE
	SYNTAX	SpvcDestEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing destination SPVC (Smart
		Permanent Virtual Circuits) information."
	INDEX	{ spvcDestSpvcId }
	::= { spvcDestTable 1 }

SpvcDestEntry ::= SEQUENCE {
		spvcDestSpvcId		INTEGER,
		spvcDestSwitchAddr	AtmAddress,
		spvcDestSrcSpvcId	INTEGER,
		spvcDestSrcSwitchAddr	AtmAddress,
		spvcDestOutPort		INTEGER,
		spvcDestOutVPI		INTEGER,
		spvcDestOutVCI		INTEGER,
		spvcDestAllocBandwidth	Gauge,
		spvcDestUpTime		TimeTicks,
		spvcDestStatus		INTEGER,
		spvcDestEntryStatus	EntryStatus
	}

spvcDestSpvcId OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object uniquely identify 
		the SPVC (Smart Permanent Virtual Circuits) that 
		this switch is its destination. The range of this 
		object is [1..spvcDestNumberOfSPVCs]."
	::= { spvcDestEntry 1 }

spvcDestSwitchAddr OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of this (the destination) switch."
	::= { spvcDestEntry 2 }

spvcDestSrcSpvcId OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The SPVC (Smart Permanent Virtual Circuits) 
		identifier at the source switch. This object 
		should match the spvcSrcSpvcId at the source 
		switch."
	::= { spvcDestEntry 3 }

spvcDestSrcSwitchAddr OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the source switch."
	::= { spvcDestEntry 4 }

spvcDestOutPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output port 
		of this SPVC (Smart Permanent Virtual Circuits) 
		and is the same as the chanrOutputPort, 
		opathPort, and portNumber."
	::= { spvcDestEntry 5 }

spvcDestOutVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output VPI 
		(Virtual Path Identifier) of this SPVC (Smart Permanent 
		Virtual Circuits), and is the same as the chanrOutputVPI, 
		and opathVPI."
	::= { spvcDestEntry 6 }

spvcDestOutVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the output VCI
		(Virtual Channel Identifier) of this SPVC (Smart 
		Permanent Virtual Circuits), and is the 
		same as the chanrOutputVCI."
	::= { spvcDestEntry 7 }

spvcDestAllocBandwidth OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The allocated bandwidth of this SPVC (Smart Permanent 
		Virtual Circuits)."
	::= { spvcDestEntry 8 }

spvcDestUpTime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time since this SPVC (Smart Permanent Virtual 
		Circuits) was created in hundredths of a second."
	::= { spvcDestEntry 9 }

spvcDestStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of this SPVC (Smart Permanent Virtual 
		Circuits)."
	::= { spvcDestEntry 10 }

spvcDestEntryStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this SPVC (Smart Permanent Virtual 
		Circuits) entry."
	::= { spvcDestEntry 11 }

------------------------------------------------------------------------

-- The Q2931 Group

-- The implementation of the group is mandatory for
-- FORE switches that supports Q2931 signalling.

-- The Q2931 Layer Group

q2931AdminTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Q2931AdminEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of general information about the Q2931 signaling path."
	::= { q2931LayerGroup 1 }

q2931AdminEntry OBJECT-TYPE
	SYNTAX	Q2931AdminEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing Q2931Admin signaling administration information, 
		indexed by port and path."
	INDEX	{ q2931AdminPort, q2931AdminVPI }
	::= { q2931AdminTable 1 }

Q2931AdminEntry ::= SEQUENCE {
	q2931AdminPort			INTEGER,
	q2931AdminVPI			INTEGER,
	q2931AdminVCI			INTEGER,
	q2931AdminStatus		INTEGER,
	q2931OperStatus			INTEGER,
	q2931SSCOPOperStatus		INTEGER,
	q2931ILMIAdminStatus		INTEGER,
	q2931ILMIOperStatus		INTEGER,
	q2931AdminAALType		INTEGER,
	q2931AdminUNISide		INTEGER,
	q2931AdminConfigType		INTEGER,
	q2931AdminOperType		INTEGER,
	q2931AdminEntryStatus		EntryStatus,
	q2931AdminRemoteIpAddress	IpAddress
}

q2931AdminPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port 
		of this signalling path, and is the same as the 
		portNumber."
	::= { q2931AdminEntry 1 }

q2931AdminVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The VPI (Virtual Path Identifier) of this signaling path."
	::= { q2931AdminEntry 2 }

q2931AdminVCI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The VCI (Virtual Channel Identifier) of the signaling 
		channel within the signaling path."
	::= { q2931AdminEntry 3 }

q2931AdminStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The desired state of this signaling channel. The up(1) state
		dictates that Q2931 messages are used for signalling. The down(2) 
		state dictates that Q2931 protocol is not used for signalling."
	::= { q2931AdminEntry 4 }

q2931OperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of this signaling channel,
		as determined either by administrative action, when the
		value of q2931AdminStatus is down(2), or by a link
		monitoring protocol, when the value of q2931AdminStatus
		is up(1)."
	::= { q2931AdminEntry 5 }

q2931SSCOPOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of the underlying SSCOP 
		(Service Specific Connection Orientedd Protocol) on this 
		channel. SSCOP's function is to provide a reliable data 
		link layer for the exchange of Q.2931 signalling messages. 
		The value up(1) reflects the value dataTransReady(4) for 
		the SSCOPOperStatus object in the SSCOP Administration 
		table (sscopAdminTable). All other values of that object
		are reflected as the value down(2) for this object."
	::= { q2931AdminEntry 6 }

q2931ILMIAdminStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The desired state of the underlying ILMI (Interim Local 
		Manageemnt Interface) status and configuration channel. 
		The up(1) state dictates that ILMI messages are used for 
		status and configuration information. The down(2) state 
		dictates that ILMI protocol is not used."
	::= { q2931AdminEntry 7 }

q2931ILMIOperStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational state of the underlying ILMI 
		(Interim Local Manageemnt Interface) status and configuration 
		channel, as determined either by administrative action, when 
		the value of q2931ILMIAdminStatus is down(2), or by a link
		monitoring protocol, when the value of q2931ILMIAdminStatus
		is up(1)."
	::= { q2931AdminEntry 8 }

q2931AdminAALType OBJECT-TYPE
	SYNTAX	INTEGER {
			type34(1),
			type5(2) 
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The AAL (ATM Adaptation Layer) type that is used by this 
		Q2931 signaling path."
	::= { q2931AdminEntry 9 }

q2931AdminUNISide OBJECT-TYPE
	SYNTAX	INTEGER {
			user(1),
			network(2) 
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object detemines the role this port takes in the
		UNI (User Network Interface). If this port is connected
		to a host via the private UNI, this port is on the network(2) 
		side of the UNI, whilst if this port is connected to the 
		Public UNI the port may be required to be the user(1) side 
		of the connection."
	::= { q2931AdminEntry 10 }

q2931AdminConfigType OBJECT-TYPE
	SYNTAX	INTEGER {
			publicUNI(1),
			auto(2),
			iisp(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The configuration of the UNI (User Network Interface)
		at initialization. Configuring the UNI to publicUNI(1)
		means that this link will be used between the switch and
		a public switch. Configuring the UNI to auto(2) means that
		the operational type will be determined dynamically. 
		Configuring the UNI to iisp(3) (Interim Inter-Switch
		Signalling Protocol) indicates that this link is used for 
		static routing NNI (Network to Network Interface)."
	::= { q2931AdminEntry 11 }

q2931AdminOperType OBJECT-TYPE
	SYNTAX	INTEGER {
			publicUNI(1),
			privateUNI(2),
			iisp(3),
			spansNNI(4)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The operational configuration of the UNI (User Network 
		Interface). publicUNI(1) is used between the switch and
		a public switch. privateUNI(2) is used between the switch
		and a host. IISP, iisp(3), stands for Interim Inter-Switch 
		Signalling Protocol, is used between two switches using
		static routing. And spansNNI(4) is used between two switches 
		using SPANS mapping messages for dynamic routing. If the 
		q2931AdminConfigType is set to auto(2), the value of this 
		object may be either privateUNI(2), or spansNNI(4)."
	::= { q2931AdminEntry 12 }

q2931AdminEntryStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this signaling path entry. Setting this object
		to invalid(4) causes the q2931 path to be destroyed."
	::= { q2931AdminEntry 13 }

q2931AdminRemoteIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the entity connected to this q2931
		signalling path. The remote IP address is derived using
		ILMI on this interface."
	::= { q2931AdminEntry 14 }


------------------------------------------------------------------------


q2931StatsTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Q2931StatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of statistics about the Q2931 signaling path."
	::= { q2931LayerGroup 2 }

q2931StatsEntry OBJECT-TYPE
	SYNTAX	Q2931StatsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing signaling path statistics, 
		indexed by port and path."
	INDEX	{ q2931StatsPort, q2931StatsVPI }
	::= { q2931StatsTable 1 }

Q2931StatsEntry ::= SEQUENCE {
	q2931StatsPort		INTEGER,
	q2931StatsVPI			INTEGER,
	q2931VCCs			Gauge,
	q2931Restarts			Counter,
	q2931CallsCompletions		Counter,
	q2931CallsFailures		Counter,
	q2931CallsRejections		Counter,
	q2931TransmittedMessages	Counter,
	q2931ReceivedMessages		Counter
}

q2931StatsPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port 
		of this signalling path, and is the same as  
		q2931Port."
	::= { q2931StatsEntry 1 }

q2931StatsVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the VPI (Virtual
		Path Identifier) of this signaling path statistics entry,
		and is the same as q2931VPI."
	::= { q2931StatsEntry 2 }

q2931VCCs OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Virtual Channel Connections (VCCs) on this 
		signaling path."
	::= { q2931StatsEntry 3 }

q2931Restarts OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of times the switch has lost and regained 
		contact with the remote signaling entity on this path."
	::= { q2931StatsEntry 4 }

q2931CallsCompletions OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of successfully completed calls on this 
		signaling path."
	::= { q2931StatsEntry 5 }

q2931CallsFailures OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of call failures on this signaling path."
	::= { q2931StatsEntry 6 }

q2931CallsRejections OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of connections on this signaling path that were 
		rejected by the far end."
	::= { q2931StatsEntry 7 }

q2931TransmittedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of Q2931 messages that have been transmitted 
		over this signalling path."
	::= { q2931StatsEntry 8 }

q2931ReceivedMessages OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The total number of Q2931 messages that have been received on 
		this signalling path."
	::= { q2931StatsEntry 9 }


------------------------------------------------------------------------
-- The NSAP Routing Group

-- Implementation of this group is mandatory
-- for all asxd applications that support
-- NSAP routing.


nsapNetworkPrefixTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NsapNetworkPrefixEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of Network Prefix addresses"
        ::= { nsapGroup 1 }

nsapNetworkPrefixEntry OBJECT-TYPE
	SYNTAX	NsapNetworkPrefixEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"An entry in the Network Prefix table."
	INDEX	{ nsapNetworkPrefixPort, nsapNetworkPrefixVPI, nsapNetworkPrefixValue } 
	::= { nsapNetworkPrefixTable 1 }

NsapNetworkPrefixEntry ::= SEQUENCE {
	nsapNetworkPrefixPort		INTEGER,
	nsapNetworkPrefixVPI		INTEGER,
	nsapNetworkPrefixValue		NsapPrefix,
	nsapNetworkPrefixStatus		EntryStatus
}

nsapNetworkPrefixPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port 
		of this signalling path, and is the same as  
		nsapPort."
	::= { nsapNetworkPrefixEntry 1 }

nsapNetworkPrefixVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the VPI (Virtual
		Path Identifier) of this signaling path statistics entry,
		and is the same as nsapVPI."
	::= { nsapNetworkPrefixEntry 2 }

nsapNetworkPrefixValue  OBJECT-TYPE
        SYNTAX  NsapPrefix
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The network prefix for ATM addresses which is in 	
		effect on the user-side of the ATM UNI port."
        ::= { nsapNetworkPrefixEntry 3 }

nsapNetworkPrefixStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this Network Prefix entry. Setting this object
		to invalid(4) causes this Network to disappear."
	::= { nsapNetworkPrefixEntry 4 }


------------------------------------------------------------------------
--
-- nsapAddrAdminTable OBJECT-TYPE
--        SYNTAX  SEQUENCE OF NsapAddrAdminEntry
--        ACCESS  not-accessible
--        STATUS  deprecated
--        DESCRIPTION
--                "A table for NSAP (Network Service Access Point) address
--		administration."
--        ::= { nsapGroup 2 }
--
------------------------------------------------------------------------

nsapTopologyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NsapTopologyEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table for NSAP (Network Service Access Point) topology, 
		based on NSAP routing."
        ::= { nsapGroup 3 }

nsapTopologyEntry OBJECT-TYPE
	SYNTAX	NsapTopologyEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"An entry in the NSAP (Network Service Access Point) topology
		table."
	INDEX	{ nsapTopoBoard, nsapTopoLinkSrc, nsapTopoLinkSrcMask, nsapTopoLinkSrcPort,
		  nsapTopoLinkDest, nsapTopoLinkDestMask, nsapTopoLinkDestPort }
	::= { nsapTopologyTable 1 }

NsapTopologyEntry ::= SEQUENCE {
	nsapTopoBoard			INTEGER,
	nsapTopoLinkSrc			NsapAddr,
	nsapTopoLinkSrcMask		INTEGER,
	nsapTopoLinkSrcPort		INTEGER,
	nsapTopoLinkDest		NsapAddr,
	nsapTopoLinkDestMask		INTEGER,
	nsapTopoLinkDestPort		INTEGER,
	nsapTopoLinkCost		INTEGER,
	nsapTopoLinkUbrVCs		Gauge,
	nsapTopoLinkCbrCapacity		INTEGER,
	nsapTopoLinkCbrFifo		INTEGER,
	nsapTopoLinkVbrCapacity		INTEGER,
	nsapTopoLinkVbrFifo		INTEGER,
	nsapTopoLinkOrig		INTEGER,
	nsapTopoLinkCapabilitySet	INTEGER,
	nsapTopoLinkFreshness		INTEGER
}

nsapTopoBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of the switch board within the ATM switch cluster.
		This object is the same as the swBoardIndex."
	::= { nsapTopologyEntry 1 }

nsapTopoLinkSrc OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the source NSAP 
		(Network Service Access Point) address of this link."
	::= { nsapTopologyEntry 2 }

nsapTopoLinkSrcMask OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the mask that is
		used for the link source NSAP (Network Service Access Point)
		address. The mask identifies the number of bits in the
		NSAP address that are valid. The value of the mask object
		is in the range 0-160 (160 bits is the size of an NSAP 
		address)."
	::= { nsapTopologyEntry 3 }

nsapTopoLinkSrcPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the logical port of the link source.
		On a switch, a logical port is composed by a physical port 
		and a virtual path identifier."
	::= { nsapTopologyEntry 4 }

nsapTopoLinkDest OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the destination NSAP 
		(Network Service Access Point) address of this link."
	::= { nsapTopologyEntry 5 }

nsapTopoLinkDestMask OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the mask that is
		used for the link destination NSAP (Network Service Access 
		Point) address. The mask identifies the number of bits in the
		NSAP address that are valid. The value of the mask object
		is in the range 0-160 (160 bits is the size of an NSAP 
		address)."
	::= { nsapTopologyEntry 6 }

nsapTopoLinkDestPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object identifies the logical port of the link destination.
		On a switch, a logical port is composed by a physical port 
		and a virtual path identifier."
	::= { nsapTopologyEntry 7 }

nsapTopoLinkCost OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The routing metric for this link."
	::= { nsapTopologyEntry 8 }

nsapTopoLinkUbrVCs OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of active UBR (Unspecified Bit Rate) VCs
		(Virtual Connections) over this link."
	::= { nsapTopologyEntry 9 }

nsapTopoLinkCbrCapacity OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The available capacity for additional CBR (Constant Bit Rate)
		connections. The available capacity is measured in Kbps."
	::= { nsapTopologyEntry 10 }

nsapTopoLinkCbrFifo OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The size of the FIFO queue that is used for transmitting CBR 
		(Constant Bit Rate) traffic. The size of the fifo is measured
		in number of cells."
	::= { nsapTopologyEntry 11 }

nsapTopoLinkVbrCapacity OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The available capacity for additional VBR (Variable Bit Rate)
		connections. The available capacity is measured in Kbps."
	::= { nsapTopologyEntry 12 }

nsapTopoLinkVbrFifo OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The size of the FIFO queue that is used for transmitting VBR 
		(Variable Bit Rate) traffic. The size of the fifo is measured
		in number of cells."
	::= { nsapTopologyEntry 13 }

nsapTopoLinkOrig OBJECT-TYPE
	SYNTAX	INTEGER {
			static-route(1),
			spans-pnni(2),
			ilmi-registered(3),
			pnni(4),
			external(5)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The source of this route information."
	::= { nsapTopologyEntry 14 }

nsapTopoLinkCapabilitySet OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bitmap indicate the capabilities of this link. For example,
		whether the link support ABR (Available Bit Rate) traffic."
	::= { nsapTopologyEntry 15 }

nsapTopoLinkFreshness OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the freshness (or staleness) of this 
		NSAP (Network Service Access Point) link. As the number increases,
		the link becomes stale."
	::= { nsapTopologyEntry 16 }


------------------------------------------------------------------------


nsapStaticRouteTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NsapStaticRouteEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table for static NSAP (Network Service Access Point) route
		administration."
        ::= { nsapGroup 4 }

nsapStaticRouteEntry OBJECT-TYPE
	SYNTAX	NsapStaticRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"An entry in the NSAP (Network Service Access Point) static route
		administration table."
	INDEX	{ nsapStaticRouteAddress, nsapStaticRouteMask, 
                  nsapStaticRoutePort, nsapStaticRouteVPI }
	::= { nsapStaticRouteTable 1 }

NsapStaticRouteEntry ::= SEQUENCE {
	nsapStaticRouteAddress		NsapAddr,
	nsapStaticRouteMask		INTEGER,
	nsapStaticRoutePort		INTEGER,
	nsapStaticRouteVPI		INTEGER,
	nsapStaticRouteCost		INTEGER,
        nsapStaticRouteMaxCbrCap        INTEGER,
        nsapStaticRouteMaxVbrCap        INTEGER,
        nsapStaticRouteAbrSupport       INTEGER,
        nsapStaticRouteEpdSupport       INTEGER,
	nsapStaticRouteStatus		EntryStatus
}

nsapStaticRouteAddress OBJECT-TYPE
	SYNTAX	NsapAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the destination NSAP address"
	::= { nsapStaticRouteEntry 1 }

nsapStaticRouteMask OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the mask that is 
		used for this NSAP (Network Service Access Point) address."
	::= { nsapStaticRouteEntry 2 }

nsapStaticRoutePort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the port through which 
		this NSAP (Network Service Access Point) address can be
		reached."
	::= { nsapStaticRouteEntry 3 }

nsapStaticRouteVPI OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the path through which 
		this NSAP (Network Service Access Point) address can be
		reached."
	::= { nsapStaticRouteEntry 4 }

nsapStaticRouteCost OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the cost 
                 associated with this Static Route. This cost is
                 to be used as a metric while routing"
	::= { nsapStaticRouteEntry 5 }

nsapStaticRouteMaxCbrCap OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the maximum capacity
                 available on this route for CBR connections"
	::= { nsapStaticRouteEntry 6 }

nsapStaticRouteMaxVbrCap OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value of this object identifies the maximum capacity
                 available on this route for VBR connections"
	::= { nsapStaticRouteEntry 7 }

nsapStaticRouteAbrSupport OBJECT-TYPE
	SYNTAX	INTEGER {
                          supported (1),
                          unsupported (2)
                        }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value identifies the capability to support
                 ABR traffic on this route"               
	::= { nsapStaticRouteEntry 8 }

nsapStaticRouteEpdSupport OBJECT-TYPE
	SYNTAX	INTEGER {
                          supported (1),
                          unsupported (2)
                        }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The value identifies the capability to support
                 Early Packet Discard (EPD) on this route"                              
	::= { nsapStaticRouteEntry 9 }


nsapStaticRouteStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this NSAP (Network Service Access Point) address.
		Setting this object to invalid(4) causes this NSAP address to 
		disappear."
	::= { nsapStaticRouteEntry 10 }

------------------------------------------------------------------------

-- The Switch Board Group

swBoardTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwBoardEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM switch cluster configuration information."
	::= { swBoardGroup 1 }

swBoardEntry OBJECT-TYPE
	SYNTAX	SwBoardEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing ATM switch cluster information,
		index by the switch board."
	INDEX	{ swBoardIndex }
	::= { swBoardTable 1 }

SwBoardEntry ::=
	SEQUENCE {
		swBoardIndex		INTEGER,
		swBoardMaxPaths		INTEGER,
		swBoardMaxChannels	INTEGER,
		swBoardAtmAddress	AtmAddress,
		swBoardUptime		TimeTicks,
		swBoardCDV		INTEGER,
		swBoardPolicingAction	INTEGER,
		swBoardNsapPrefix	NsapPrefix
	}

swBoardIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this switch board within the ATM switch cluster."
	::= { swBoardEntry 1 }

swBoardMaxPaths OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of input VPIs (Virtual Path Identifier)
		on this switch board."
	::= { swBoardEntry 2 }

swBoardMaxChannels OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of input VCIs (Virtual Channel Identifiers)
		on this switch board."
	::= { swBoardEntry 3 }

swBoardAtmAddress OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The address of this ATM switch board."
	::= { swBoardEntry 4 }

swBoardUptime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The length of time this ATM switch board has been up,
		in hundredths of a second."
	::= { swBoardEntry 5 }

swBoardCDV OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The switch board Cell Delay Variation (CDV) specified
		in microseconds, indicates the time window in which 
		a cell may be received on a connection and be accepted. 
		A cell that is received on a connection outside the
		CDV window will be tagged or dropped as indicated by the
		swBoardPolicingAction object. The boardCDV is the default
		CDV for all the connection on this switch board. Individual
		connections can be set to explicitly override this value."
	::= { swBoardEntry 6 }

swBoardPolicingAction OBJECT-TYPE
	SYNTAX	INTEGER {
			tag(1),
			drop(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object indicates the action the switch board will take 
		in case of bandwidth violation. The swBoardPolicingAction is 
		the default policing action for all the connections on this 
		switch board. Individual connections can be set to explicitly
		override this default action."
	::= { swBoardEntry 7 }

swBoardNsapPrefix OBJECT-TYPE
	SYNTAX	NsapPrefix
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The default NSAP (Network Service Access Point) prefix for 
		this ATM switch board. The NSAP prefix will be used in the 
		ILMI address registration message as well as the 'hello-indication'
		SPANS-NNI message."
	::= { swBoardEntry 8 }

------------------------------------------------------------------------
-- The Switch Board Topology Group

swBoardTopoTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwBoardTopoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of switch board topology general information."
	::= { swBoardTopologyGroup 1 }

swBoardTopoEntry OBJECT-TYPE
	SYNTAX	SwBoardTopoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing switch board topology information."
	INDEX	{ swBoardTopoIndex }
	::= { swBoardTopoTable 1 }

SwBoardTopoEntry ::=
	SEQUENCE {
		swBoardTopoIndex		INTEGER,
		swBoardTopoNumberOfLinks	INTEGER
	}

swBoardTopoIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this switch board within the ATM switch cluster.
		This object should be the same as the swBoardIndex."
	::= { swBoardTopoEntry 1 }

swBoardTopoNumberOfLinks OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Current number of inter-switch links known by 
		this switch board."
	::= { swBoardTopoEntry 2 }


------------------------------------------------------------------------

swBoardLinkTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwBoardLinkEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of ATM links that are known to a given 
		switch board in the switch cluster. If all boards in 
		the switch cluster are interconnected, all 
		swBoardLinkEntries will be identical."
	::= { swBoardTopologyGroup 2 }

swBoardLinkEntry OBJECT-TYPE
	SYNTAX	SwBoardLinkEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing link information
		known to a given switch board."
	INDEX	{ swBoardLinkIndex, swBoardLinkSrc, swBoardLinkDest }
	::= { swBoardLinkTable 1 }

SwBoardLinkEntry ::=
	SEQUENCE {
		swBoardLinkIndex	INTEGER,
		swBoardLinkSrc		AtmAddress,
		swBoardLinkDest		AtmAddress,
		swBoardLinkCapacity	INTEGER,
		swBoardLinkAge		INTEGER
	}

swBoardLinkIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this switch board within the ATM switch cluster.
		This object should be the same as the swBoardIndex."
	::= { swBoardLinkEntry 1 }

swBoardLinkSrc OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the source switch of this link."
	::= { swBoardLinkEntry 2 }

swBoardLinkDest OBJECT-TYPE
	SYNTAX	AtmAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ATM address of the destination switch of this link."
	::= { swBoardLinkEntry 3 }

swBoardLinkCapacity OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The free capacity of this link in kilobits per second."
	::= { swBoardLinkEntry 4 }

swBoardLinkAge OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The freshness of the information about this link. The 
		actual value has no units associated with it. It should be 
		used for comparison."
	::= { swBoardLinkEntry 5 }

------------------------------------------------------------------------
-- The Traps Configuration Group

trapNumberOfDest OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of configured trap destinations. 
		All traps are sent to all destinations."
	::= { trapConfGroup 1 }

trapDestTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF TrapDestEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of destinations to which the agent sends traps."
	::= { trapConfGroup 2 }

trapDestEntry OBJECT-TYPE
	SYNTAX	TrapDestEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing address of a management station, 
		to which the agent sends traps."
	INDEX	{ trapDest }
	::= { trapDestTable 1 }

TrapDestEntry ::=
	SEQUENCE {
		trapDest	IpAddress,
		trapDestStatus	EntryStatus
	}

trapDest OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Address to which the agent sends traps. Usually a network
		management station sets this address to itself."
	::= { trapDestEntry 1 }

trapDestStatus OBJECT-TYPE
	SYNTAX	EntryStatus
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status of this trap destination entry."
	::= { trapDestEntry 2 }

------------------------------------------------------------------------
-- The SNMP Configuration Databse Group

snmpReconfigure OBJECT-TYPE
	SYNTAX	INTEGER {
		disable (1),
		enable (2)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The SNMP agent will reset itself and reconfigure its 
		database from the default database when this variable 
		is set to enable(2). After reconfiguring is done, the 
		value of this object is disable(1). 
		Note that enabling snmpReconfigure will end up with 
		a loss of the entire ATM configuration."
	::= { snmpConfGroup 1 }

snmpReadCommunity OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The community string used for SNMP (v1) read operations, 
		i.e. get and getnext requests."
	::= { snmpConfGroup 2 }

snmpWriteCommunity OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The community string used for SNMP (v1) write operations,
		i.e. set requests."
	::= { snmpConfGroup 3 }

snmpWarmStart OBJECT-TYPE
	SYNTAX	INTEGER {
		disable (1),
		enable (2)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The SNMP agent will reset the switch, and restart the
		switch control software using the existing configuration 
		database when this variable is set to enable(2). After the
		warm start, the	value of this object is disable(1). A 
		warmStart trap is sent after the switch control software
		restarts."
	::= { snmpConfGroup 4 }

snmpColdStart OBJECT-TYPE
	SYNTAX	INTEGER {
		disable (1),
		enableResetATMconf (2),
		enableResetAllConf (3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The SNMP agent will reset the configuration database for 
		all ATM related configuration objects, and reboot the switch, 
		when this variable is set to enableResetAtmConf(2). When the 
		value of this variable is set to enableResetAllConf(3), all 
		configuration objects, including ATM and IP objects will be 
		removed, and the switch will be rebooted. A coldStart trap 
		is sent just before the trap destination table is removed. 
		After the cold start, the value of this object is disable(1)."
	::= { snmpConfGroup 5 }

------------------------------------------------------------------------
-- The SNMP agent address group.
--
-- This group provides addressing information to SNMP managers, to allow
-- those managers to discover related SNMP agents within the same enclosure.

snmpThisAgentBoardNumber OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The instance of this agent type within the
		 enclosure; typically a board number."
	::= { snmpAgentAddressGroup 1 }

snmpAgentTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SnmpAgentEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SNMP agent IP addresses. Each entry
		 in this table represents an IP address which may
		 be used to reach the associated SNMP agent,
		 assuming appropriate network connectivity."
	::= { snmpAgentAddressGroup 2 }

snmpAgentEntry OBJECT-TYPE
	SYNTAX	SnmpAgentEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing the identity and address of
		 an SNMP agent."
	INDEX	{ snmpAgentBoardNumber, snmpAgentInterface }
	::= { snmpAgentTable 1 }

SnmpAgentEntry ::=
	SEQUENCE {
		snmpAgentBoardNumber	INTEGER,
		snmpAgentInterface	INTEGER,
		snmpAgentAddress	IpAddress
	}

snmpAgentBoardNumber OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of the SNMP agent within this
	 	 enclosure. This generally corresponds to a
		 board number."
	::= { snmpAgentEntry 1 }

snmpAgentInterface OBJECT-TYPE
	SYNTAX  INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An interface number associated with the 
		 agent IP address. This number is for tabulation
		 purposes only, and has no other significance."
	::= { snmpAgentEntry 2 }

snmpAgentAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the identified SNMP agent."
	::= { snmpAgentEntry 3 }

------------------------------------------------------------------------
END
-- -- The Switch Traps
-- 
-- -- The enterprise specific traps that are supported by the ATM switch
-- -- in addition to the generic traps.
-- 
-- asxSwLinkDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { portNumber, hwPortName }
-- 	DESCRIPTION
-- 		"An asxSwLinkDown trap signifies that the sending protocol 
-- 		entity recognizes a failure in one of ATM Switch links that 
-- 		is connected to another switch."
-- 	::= 0
-- 
-- asxSwLinkUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { portNumber, hwPortName }
-- 	DESCRIPTION
-- 		"An asxSwLinkUp trap signifies that the sending protocol 
-- 		entity recognizes that one of the ATM Switch links that 
-- 		is connected to another switch has come up."
-- 	::= 1
-- 
-- asxHostLinkDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { portNumber, hwPortName }
-- 	DESCRIPTION
-- 		"An asxHostLinkDown trap signifies that the sending protocol 
-- 		entity recognizes a failure in one of ATM Switch links that 
-- 		is connected to a host."
-- 	::= 2
-- 
-- asxHostLinkUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { portNumber, hwPortName }
-- 	DESCRIPTION
-- 		"An asxHostLinkUp trap signifies that the sending protocol 
-- 		entity recognizes that one of the ATM Switch links that is 
-- 		connected to a host has come up."
-- 	::= 3
-- 
-- asxNetModuleDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { moduleBoard, moduleNumber }
-- 	DESCRIPTION
-- 		"An asxNetModuleDown trap signifies that the sending protocol 
-- 		entity recognizes a failure in one of ATM Switch network 
-- 		modules, that is identified by the board and the module numbers. 
-- 		This is probably caused by a hot-swap of a network module."
-- 	::= 4
-- 
-- asxNetModuleUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { moduleBoard, moduleNumber }
-- 	DESCRIPTION
-- 		"An asxNetModuleUp trap signifies that the sending protocol 
-- 		entity recognizes a new operational ATM Switch network modules, 
-- 		that is identified by the board and the module numbers. This is 
-- 		probably caused by a hot-swap of a network module."
-- 	::= 5
-- 
-- asxPsInputDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envPowerSupplyIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch power supply failed
-- 		due to failure in the input voltage. The power supply that 
-- 		failed is identified by the power supply index. Note that 
-- 		an input voltage may be out of spec and may not cause a power
-- 		supply failure if high loads are not applied."
-- 	::= 6
-- 
-- asxPsInputUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envPowerSupplyIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch power supply that had
-- 		an AC input failure is up. The power supply that is back up
-- 		is identified by the power supply index."
-- 	::= 7
-- 
-- -- trap asxAllPsInputUp { atmSwitch 8 } was deprecated
-- 
-- asxPsOutputDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envPowerSupplyIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch power supply output
-- 		or the power supply was physically removed. The power
-- 		supply that failed is identified by the power supply 
-- 		index."
-- 	::= 9
-- 
-- asxPsOutputUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envPowerSupplyIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch power supply that had
-- 		an output failure or was removed is now up. The power supply
-- 		that is back up is identified by the power supply index."
-- 	::= 10
-- 
-- -- traps { atmSwitch 11 - 17 } for different power supplies outputs failures
-- -- and recovery were deprecated. 
-- -- traps { atmSwitch 18 - 21 } for PS over temperature and regular temperature
-- -- were deprecated.
-- 
-- asxFanBankDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envFanBankIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch fan bank failed. The 
-- 		fan bank that failed is identified by the fan bank index."
-- 	::= 22
-- 
-- asxFanBankUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envFanBankIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one ATM switch fan bank is up. The 
-- 		fan bank that is back up is identified by the fan bank index."
-- 	::= 23
-- 
-- -- traps { atm Switch 24 - 25 } for fans were deprecated.
-- -- traps { atmSwitch 26 - 27 } for enclosure temperature were deprecated.
-- 
-- asxLinkDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES {  hwPortName, hwPortBoard, hwPortModule, hwPortNumber }
-- 	DESCRIPTION
-- 		"This trap alerts that the link that is identified by the
-- 		tuple {hwPortBoard, hwPortModule, hwPortNumber} was 
-- 		configured up but lost its carrier (or the framing bit) and 
-- 		is currently down."
-- 	::= 28
-- 
-- asxLinkUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES {  hwPortName, hwPortBoard, hwPortModule, hwPortNumber }
-- 	DESCRIPTION
-- 		"This trap alerts that the link that is identified by the
-- 		tuple {hwPortBoard, hwPortModule, hwPortNumber} is back up."
-- 	::= 29
-- 
-- asxSpansDown TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { hwPortName, sigPathPort, sigPathVPI }
-- 	DESCRIPTION
-- 		"This trap alerts that the SPANS signalling on the link 
-- 		that is identified by the sigPathPort and sigPathVPI failed."
-- 	::= 30
-- 
-- asxSpansUp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { hwPortName, sigPathPort, sigPathVPI }
-- 	DESCRIPTION
-- 		"This trap alerts that the SPANS signalling on the link 
-- 		that is identified by the sigPathPort and sigPathVPI is up."
-- 	::= 31
-- 
-- asxTempSensorOverTemp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envTempSensorIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one of the temperature sensors indicates
-- 		over temperature. The temperature sensor is identified by the
-- 		temperature sensor index."
-- 	::= 32
-- 
-- asxTempSensorRegularTemp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envTempSensorIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one of the temperature sensors indicates
-- 		regular temperature. The temperature sensor is identified by the
-- 		temperature sensor index."
-- 	::= 33
-- 
-- asxFabricTemperatureOverTemp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envFabricIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one of the temperature sensors indicates
-- 		over temperature. The temperature sensor is identified by the
-- 		temperature sensor index."
-- 	::= 34
-- 
-- asxFabricTemperatureRegularTemp TRAP-TYPE
-- 	ENTERPRISE atmSwitch
-- 	VARIABLES { envFabricIndex }
-- 	DESCRIPTION
-- 		"This trap alerts that one of the temperature sensors indicates
-- 		regular temperature. The temperature sensor is identified by the
-- 		temperature sensor index."
-- 	::= 35
-- 
-- END
------------------------------------------------------------------------
-- @(#)$Id: fore-ds3.mib,v 1.24 1995/03/20 21:21:49 street Exp $
-- Copyright 1993, 1994 by Fore Systems, Inc.

Fore-DS3-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter, Gauge, IpAddress, TimeTicks	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	asx					FROM Fore-Switch-MIB;
	

------------------------------------------------------------------------
-- The implementation of the foreDs3 tables is mandatory
-- for all switches that have DS3 port module.

foreDs3			OBJECT IDENTIFIER ::= { asx 3 }
ds3ConfGroup		OBJECT IDENTIFIER ::= { foreDs3 1 }
ds3StatsGroup		OBJECT IDENTIFIER ::= { foreDs3 2 }


------------------------------------------------------------------------
-- The DS3 configuration Group

ds3ConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds3ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS3 switch port configuration information."
	::= { ds3ConfGroup 1 }

ds3ConfEntry OBJECT-TYPE
	SYNTAX	Ds3ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS3 configuration information for each port. Not 
		all RFC1407 configuration table variables are included, and some are modified."
	INDEX	{ ds3ConfBoard, ds3ConfModule, ds3ConfPort }
	::= { ds3ConfTable 1 }

Ds3ConfEntry ::=
	SEQUENCE {
		ds3ConfBoard		INTEGER,
		ds3ConfModule		INTEGER,
		ds3ConfPort		INTEGER,
		ds3LineType		INTEGER,		
		ds3LineCoding		INTEGER,
		ds3SendCode		INTEGER,
		ds3ReceiveCode		INTEGER,
		ds3LoopbackConfig	INTEGER,
		ds3TxClockSource	INTEGER,
		ds3RxScrambling		INTEGER,
		ds3TxScrambling		INTEGER,
		ds3LineStatus		INTEGER,
		ds3IdleUnassignedCells  INTEGER,
		ds3LineTypeFraming 	INTEGER	
}		


ds3ConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds3ConfEntry 1 }

ds3ConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds3ConfEntry 2 }

ds3ConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds3ConfEntry 3 }

ds3LineType OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3Other (1), 
		ds3M23 (2), 
		ds3SYNTRAN (3), 
		ds3CbitParity (4), 
		ds3ClearChannel (5)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the variety of DS3 C-bit application 
		implementing this interface. The type of interface affects the 
		interpretation of the usage and error statistics. This variable 
		is defined in the rfc1407 configuration table as dsx3LineType. 
		According to rfc1407, the different values are:
		ds3M23           specification: ANSI T1.107-1988
		ds3SYNTRAN       specification: ANSI T1.107-1988
		ds3CbitParity    specification: ANSI T1.107a-1989
		ds3CleatChannel  specification: ANSI T1.102-1987."
	DEFVAL { 4 }
	::= { ds3ConfEntry 4 }

ds3LineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3Other (1), 
		ds3B3ZS (2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the variety of Zero Code suppression used 
		on this interface, which in turn affects a number of its characteristics. 
		ds3B3ZS (2) refers to the use of specified pattern of normal bits and 
		bipolar violations which are used to replaced sequences of zero bits of 
		specified length. This variable is defined in the rfc1407 configuration 
		table as dsx3LineCoding."
	DEFVAL { 2 }
	::= { ds3ConfEntry 5 }

ds3SendCode OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3SendNoCode (1),
		ds3SendLineCode (2),
		ds3SendPayloadCode (3),
		ds3SendResetCode (4),
		ds3SendDS1LoopCode (5),
		ds3SendTestPattern (6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates what type of code is being sent across the DS3/E3
		interface by the device. 
		The values mean:
		ds3SendNoCode		sending looped or normal data
		ds3SendLineCode		sending request for a line loopback
		ds3SendPayloadCode	sending a request for a payload loopback (i.e. all 
					DS1/E1 in a DS3/E3 frame)
		ds3SendResetCode	sending a loopback deactivation request
		ds3SendDS1LoopCode	requesting to loopback a particular DS1/E1 within a 
					DS3/E3 frame
		ds3SendTestPattern	sending a test pattern."
	DEFVAL { 1 }
	::= { ds3ConfEntry 6 }

ds3ReceiveCode OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3ReceiveNoCode (1),
		ds3ReceiveLineCode (2),
		ds3ReceivePayloadCode (3),
		ds3ReceiveResetCode (4),
		ds3ReceiveDS1LoopCode (5),
		ds3ReceiveTestPattern (6)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of code that was received across the DS3/E3 
		interface. 
		The values mean:
		ds3ReceiveNoCode	receiving looped or normal data
		ds3ReceiveLineCode	receiving request for a line loopback
		ds3ReceivePayloadCode	receiving a request for a payload loopback (i.e. all  
					DS1/E1 in a DS3/E3 frame)
		ds3ReceiveResetCode	receiving a loopback deactivation request
		ds3ReceiveDS1LoopCode	receiving a request to loopback a particular DS1/E1 
					within a DS3/E3 frame
		ds3ReceiveTestPattern	receiving a test pattern."
	DEFVAL { 1 }
	::= { ds3ConfEntry 7 }

ds3LoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3NoLoop (1), 
		ds3CellLoop (2),
		ds3PayloadLoop (3),
		ds3DiagLoop (4),
                ds3LineLoop (5),
		ds3OtherLoop (6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the loopback configuration of the DS3 interface. This 
		variable is defined in the rfc1407 configuration table as dsx3LoopbackConfig, 
		with slightly different values.
		ds3NoLoop (1) means that the interface is not in a loopback state.
		ds3CellLoop (2) means that cells that are processed by the receiving component 
		  are not written into the receive FIFO, but into the transmit FIFO for 
		  retransmission.
		ds3PayloadLoop (3) means that the receive signal is looped back for retransmission
		  after it has passed through the port's reframing function.	
		ds3DiagLoop (4) means that the transmit data stream is looped back to the receiver.
                ds3LineLoop (5) is only supported on series B and later netmods.
		ds3OtherLoop (6) means that the interface is in a loopback that is not defined 
		  here."
	DEFVAL { 1 }
	::= { ds3ConfEntry 8 }

ds3TxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming (1),
		localTiming (2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock."
	DEFVAL { 2 }
	::= { ds3ConfEntry 9 }

ds3RxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		descrambling(1),
		noDescrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information is being descrambled 
		on receiving. It should be set the same as the transmitting side." 
	DEFVAL { 2 }
	::= { ds3ConfEntry 10 }

ds3TxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		scrambling(1),
		noScrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information (48 octet payload) is being 
		scrambled before transmitting. It should be set the same as the receiving side."
	DEFVAL { 2 }
	::= { ds3ConfEntry 11 }

ds3LineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..2046)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A similar object is
		defined in the rfc1407 configuration table as dsx3LineStatus (the ds3RxFERF bit 
		is not defined in rfc1407) . The variable contains loopback state information 
		and failure state information. It is a bit map represented as a sum. The 
		ds3NoAlarm should be set if and only if no other flag is set.
		The various bit positions are:
		   1  ds3NoAlarm
		   2  ds3RxRAIFailure 	Receiving Yellow Alarm Indication
		   4  ds3TxRAIAlarm	Transmitting Yellow Alarm Indication
		   8  ds3RxAIS		Receiving AIS failure state
		  16  ds3TxAIS		Transmitting AIS
		  32  ds3LOF		Receiving LOF failure state
		  64  ds3LOS		Receiving LOS failure state
		 128  ds3LoopbackState	Looping the received signal
		 256  ds3RxTestCode	Receiving a test pattern
		 512  ds3RxFERF		Receiving Far End Remote Failure
		1024  ds3OtherFailure	any line status not defined here."
	DEFVAL { 1 }
	::= { ds3ConfEntry 12 }

ds3IdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the types of cells that  should be sent 
		in case there is no real data to send. According to the ATM Forum, 
		Unassigned cells should be sent (octet 1-3 are 0's, octet 4 is 
		0000xxx0, where x is 'don't care'). According to the CCITT 
		specifications, Idle cells should be sent (everything is '0' except 
		for the CLP bit which is '1'). By default, unassigned cells are 
		transmitted is case there is no data to send."
	DEFVAL { 1 }
	::= { ds3ConfEntry 13 }

ds3LineTypeFraming OBJECT-TYPE
	SYNTAX	INTEGER {
		ds3Hcs (1), 
		ds3Plcp (2)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the way ATM cells are constructed 
		from the DS3 stream. ds3Hcs(1) indicates that the ATM cells
		are constructed upon the Header Check Sequence (HCS) inside the
		ATM cell header. ds3Plcp(2) indicates that the ATM cells
		are constructed from the DS3 PLCP (Physical Layer Convergence
		Protocol) bits."
	DEFVAL { 1 }
	::= { ds3ConfEntry 14 }

------------------------------------------------------------------------
-- The DS3 Statistics Group

ds3FramingTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds3FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS3 framing statistics information."
	::= { ds3StatsGroup 1 }

ds3FramingEntry OBJECT-TYPE
	SYNTAX	Ds3FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS3 framing statistics information."
	INDEX	{ ds3FramingBoard, ds3FramingModule, ds3FramingPort }
	::= { ds3FramingTable 1 }

Ds3FramingEntry ::=
	SEQUENCE {
		ds3FramingBoard		INTEGER,
		ds3FramingModule	INTEGER,
		ds3FramingPort		INTEGER,

		ds3FramingLOSs		Counter,
		ds3FramingLCVs		Counter,
		ds3FramingSumLCVs	Counter,
		ds3FramingFERRs		Counter,
		ds3FramingOOFs		Counter,
		ds3FramingFERFs		Counter,
		ds3FramingAISs		Counter,
		ds3FramingPbitPERRs	Counter,

		ds3FramingCbitPERRs	Counter,
		ds3FramingFEBEs		Counter
	}

ds3FramingBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds3FramingEntry 1 }

ds3FramingModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds3FramingEntry 2 }

ds3FramingPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds3FramingEntry 3 }

ds3FramingLOSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Loss Of Signal (LOS) errors were detected 
		by the DS3 Receive Framer block."
	::= { ds3FramingEntry 4 }

ds3FramingLCVs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line Code Violations (LCV) that were detected by the DS3 
		Receive Framer block."
	::= { ds3FramingEntry 5 }

ds3FramingSumLCVs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of DS3 information blocks (85 bits) which contain one or more 
		Line Code Violations (LCV)."
	::= { ds3FramingEntry 6 }

ds3FramingFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of DS3 framing error (FERR) events."
	::= { ds3FramingEntry 7 }

ds3FramingOOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of DS3 Out Of Frame (OOF) error events."
	::= { ds3FramingEntry 8 }

ds3FramingFERFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Far End Receive Failure (FERF) state has  
		been detected by the DS3 Receive Framer block. FERF signal alerts the upstream 
		terminal that a failure has been detected along the downstream line."
	::= { ds3FramingEntry 9 }

ds3FramingAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Alarm Indication Signals (AIS) were 
		detected by the DS3 Receive Framer block. AIS indicates that an upstream 
		failure has been detected by the far end."
	::= { ds3FramingEntry 10 }

ds3FramingPbitPERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of P-bit parity error (PERR) events."
	::= { ds3FramingEntry 11 }

ds3FramingCbitPERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of C-bit parity error (PERR) events."
	::= { ds3FramingEntry 12 }

ds3FramingFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of DS3 far end block error (FEBE) events."
	::= { ds3FramingEntry 13 }

------------------------------------------------------------------------

ds3PlcpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds3PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS3 Physical Layer Convergence Protocol (Procedure) statistics 
		information."
	::= { ds3StatsGroup 2 }

ds3PlcpEntry OBJECT-TYPE
	SYNTAX	Ds3PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS3 PLCP statistics information."
	INDEX	{ ds3PlcpBoard, ds3PlcpModule, ds3PlcpPort }
	::= { ds3PlcpTable 1 }

Ds3PlcpEntry ::=
	SEQUENCE {
		ds3PlcpBoard		INTEGER,
		ds3PlcpModule		INTEGER,
		ds3PlcpPort		INTEGER,

		ds3PlcpFERRs		Counter,
		ds3PlcpLOFs		Counter,
		ds3PlcpBIP8s		Counter,
		ds3PlcpFEBEs		Counter,
		ds3PlcpYellows		Counter
	}

ds3PlcpBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds3PlcpEntry 1 }

ds3PlcpModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds3PlcpEntry 2 }

ds3PlcpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds3PlcpEntry 3 }

ds3PlcpFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Physical Layer Convergence Protocol (PLCP) octet error events."
	::= { ds3PlcpEntry 4 }

ds3PlcpLOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Loss Of Frame (LOF) errors were detected 
		by the PLCP (Physical Layer Convergence Protocol) receiver. LOF is declared 
		when an Out-Of-Frame state persists for more than 1ms. LOF is removed when 
		in-frame state persists for more than 12ms."
	::= { ds3PlcpEntry 5 }

ds3PlcpBIP8s OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of BIP-8 (Bit Interleaved Parity - 8) error events. The BIP-8 is 
		calculated over the Path Overhead field and the associated ATM cell of the 
		previous frame. A BIP-N is a method of error monitoring. An N bit code is 
		generated by the transmitting equipment in such a manner that the first bit 
		of the code provides even parity over the first bit of all N-bit sequences 
		in the previous VT SPE, the second bit provides even parity over the second 
		bits of all N-bit sequences within the specified portion, etc."
	::= { ds3PlcpEntry 6 }

ds3PlcpFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM Far End Block Error (FEBE) events."
	::= { ds3PlcpEntry 7 }

ds3PlcpYellows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Yellow alarm errors were detected by the 
		PLCP (Physical Layer Convergence Protocol) receiver. Yellow alarm is asserted 
		when 10 consecutive yellow signal bits are set to logical 1. Yellow signals 
		are used to alert upstream terminals of a downstream failure in order to 
		initiate trunk conditioning on the failure circuit."
	::= { ds3PlcpEntry 8 }

------------------------------------------------------------------------

ds3AtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds3AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS3 ATM statistics information."
	::= { ds3StatsGroup 3 }

ds3AtmEntry OBJECT-TYPE
	SYNTAX	Ds3AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS3 ATM statistics information."
	INDEX	{ ds3AtmBoard, ds3AtmModule, ds3AtmPort }
	::= { ds3AtmTable 1 }

Ds3AtmEntry ::=
	SEQUENCE {
		ds3AtmBoard		INTEGER,
		ds3AtmModule		INTEGER,
		ds3AtmPort		INTEGER,

		ds3AtmHCSs		Counter,
		ds3AtmRxCells		Counter,
		ds3AtmTxCells		Counter
	}

ds3AtmBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds3AtmEntry 1 }

ds3AtmModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds3AtmEntry 2 }

ds3AtmPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds3AtmEntry 3 }

ds3AtmHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of header check sequence (HCS) error events. The HCS is a CRC-8 
		calculation over the first 4 octets of the ATM cell header."
	::= { ds3AtmEntry 4 }

ds3AtmRxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM cells that were received."
	::= { ds3AtmEntry 5 }

ds3AtmTxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of non-null ATM cells that were transmitted."
	::= { ds3AtmEntry 6 }

END
------------------------------------------------------------------------
-- @(#)$Id: fore-sonet.mib,v 1.25 1994/07/11 14:38:25 ghoti Exp $
-- Copyright 1993, 1994 by Fore Systems, Inc.

Fore-SONET-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter		FROM RFC1155-SMI
	OBJECT-TYPE	FROM RFC1212
	asx		FROM Fore-Switch-MIB;
	

------------------------------------------------------------------------
-- The implementation of the foreSonet tables is mandatory
-- for all switches that have SONET/SDH port modules.

foreSonet		OBJECT IDENTIFIER ::= { asx 4 }
sonetConfGroup		OBJECT IDENTIFIER ::= { foreSonet 1 }
sonetStatsGroup		OBJECT IDENTIFIER ::= { foreSonet 2 }

------------------------------------------------------------------------
-- The Sonet configuration Group

sonetConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET switch port configuration information."
	::= { sonetConfGroup 1 }

sonetConfEntry OBJECT-TYPE
	SYNTAX	SonetConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET configuration information for each port."
	INDEX	{ sonetConfBoard, sonetConfModule, sonetConfPort }
	::= { sonetConfTable 1 }

SonetConfEntry ::=
	SEQUENCE {
		sonetConfBoard			INTEGER,
		sonetConfModule			INTEGER,
		sonetConfPort			INTEGER,
		sonetLineType			INTEGER,		
		sonetLineCoding			INTEGER,
		sonetFramingStandardDefault 	INTEGER,
		sonetFramingStandardOper 	INTEGER,
		sonetPathWidth			INTEGER,
		sonetLoopbackConfig		INTEGER,
		sonetTxClockSource		INTEGER,
		sonetRxScrambling		INTEGER,
		sonetTxScrambling		INTEGER,
		sonetSectionStatus		INTEGER,
		sonetLineStatus			INTEGER,
		sonetPathStatus			INTEGER,
		sonetIdleUnassignedCells	INTEGER
	}		


sonetConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { sonetConfEntry 1 }

sonetConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { sonetConfEntry 2 }

sonetConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { sonetConfEntry 3 }

sonetLineType OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetOther(1), 
		sonetSingleModeShortRange(2), 
		sonetSingleModeMediumRange(3), 
		sonetMultiMode(4), 
		sonetUTP(5), 
		sonetCoax(6)
		} 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the line type for this interface. The line type for
		optical SONET signals may be single-mode (short or long range) or multi-mode 
		fiber. For electrical interfaces, the line type is Unshielded Twisted Pair (UTP) 
		or coax. This variable is defined in the SONET IETF draft photonic 
		table as sonetPhotonicLineType with some different values."
	DEFVAL { 4 }
	::= { sonetConfEntry 4 }

sonetLineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetOther(1), 
		sonetB3ZS(2),
		sonetCMI(3),
		sonetNRZ(4),
		sonetRZ(5)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the line coding for this interface. The B3ZS and CMI 
		are used for electrical SONET signals (STS-1 and STS-3). The Non-Return to 
		Zero (NRZ) and the Return to Zero (RZ) are used for optical SONET signals. 
		This variable is defined in the SONET IETF draft photonic table as 
		sonetPhotonicLineCoding."
	DEFVAL { 4 }
	::= { sonetConfEntry 5 }

sonetFramingStandardDefault OBJECT-TYPE
	SYNTAX	INTEGER {
		atmSONET(1), 
		atmSDH(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable identify the default value of the framing standard that 
		is used by this port (SONET or SDH)."
	::= { sonetConfEntry 6 }

sonetFramingStandardOper OBJECT-TYPE
	SYNTAX	INTEGER {
		atmSONET(1), 
		atmSDH(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable identify the operational value of the framing standard that 
		is used by this port (SONET or SDH)."
	::= { sonetConfEntry 7 }

sonetPathWidth OBJECT-TYPE
	SYNTAX	INTEGER {
		sts1(1),
		sts3c(2),
		sts9c(3),
		sts12c(4),
		sts24c(5),
		sts48c(6)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of the SONET Path. Assigned types are the 
		STS-Nc Synchronous Payload Envelopes where N=1,3,9,12,24,48. STS-1 is equal 
		to 51.84Mbps, STS-3c is 155.52 Mbps, etc. The SDH transmission rates STM-1 
		(155.52 Mbps), STM-4 (622.08 Mbps) and STM-16 (2488.32 Mbps) are equivalent 
		to SONET rates STS-3, STS-12 and STS-48, respectively. This variable is 
		defined in the SONET IETF draft path configuration table as sonetPathWidth."
	DEFVAL { 2 }
	::= { sonetConfEntry 8 }

sonetLoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		sonetNoLoop(1), 
		sonetLineLoop(2),
		sonetDiagLoop(3),
		sonetOtherLoop(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the current loopback status of the SONET interface.
		The possible values are: 
		sonetNoLoop (1) means that the interface is not in a loopback state.
		sonetLineLoop (2) means that the receive data and clock are connected to the 
		transmit data and clock.
		sonetDiagLoop (3) means that the transmit data stream and clock are looped back 
		to the receiver.
		sonetOtherLoop (4) means that the interface is in a loopback that is not defined 
		here."
	DEFVAL { 1 }
	::= { sonetConfEntry 9 }

sonetTxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming(1), 
		localTiming(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock."
	DEFVAL { 2 }
	::= { sonetConfEntry 10 }

sonetRxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		descrambling(1),
		noDescrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information is being descrambled 
		on receiving. It should be set the same as the transmitting side." 
	DEFVAL { 1 }
	::= { sonetConfEntry 11 }

sonetTxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		scrambling(1),
		noScrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information (48 octet payload) is being 
		scrambled before transmitting. It should be set the same as the receiving side."
	DEFVAL { 1 }
	::= { sonetConfEntry 12 }

sonetSectionStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..6)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Section Status of the interface. It is defined in 
		the SONET IETF draft section configuration table as sonetSectionStatus. The 
		variable is a bit map represented as a sum, therefore, it can represent multiple 
		defects simultaneously. The sonetSectionNoDefect should be set if and only if no 
		other flag is set.
		The various bit positions are:
		  1  sonetSectionNoDefect
		  2  sonetSectionLOS	Loss Of Signal was detected. LOS is declared when
					20 +/- 3us of all zero patterns is detected.
		  4  sonetSectionLOF	Loss Of Frame was detected. LOF is declared when
					an out-of-frame condition persists for 3ms."
	DEFVAL { 1 }
	::= { sonetConfEntry 13 }

sonetLineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..6)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A similar variable is 
		defined in the SONET IETF draft line configuration table as sonetLineStatus. 
		The variable is a bit map represented as a sum, therefore, it can represent 
		multiple defects simultaneously. The sonetLineNoDefect should be set if and only 
		if no other flag is set.
		The various bit positions are:
		  1  sonetLineNoDefect
		  2  sonetLineAIS	Line Alarm Indication Signal was detected. Line AIS is
					asserted when a 111 binary pattern is detected in bits 
					6,7,8 of the K2 byte for five consecutive frames.
		  4  sonetLineFERF	Line Far End Receive Failure was detected. FERF is 
					asserted when a 110 binary pattern is detected in bits 
					6,7,8 of the K2 byte for five consecutive frames."
	DEFVAL { 1 }
	::= { sonetConfEntry 14 }

sonetPathStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..14)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Path Status of the interface. It is defined in 
		the SONET IETF draft path configuration table as sonetPathStatus. The variable 
		is a bit map represented as a sum, therefore, it can represent multiple 
		defects simultaneously. The sonetPathNoDefect should be set if and only if no 
		other flag is set.
		The various bit positions are:
		  1  sonetPathNoDefect
		  2  sonetPathLOP	Path Loss Of Pointer was detected. Path LOP is declared 
					when a 'normal pointer value' is not found for eight 
					consecutive frames.
		  4  sonetPathAIS	Path Alarm Indication Signal was detected. Path AIS is 
					asserted when an all ones pattern is detected in the 
					pointer bytes (H1 and H2) for three consecutive frames.
		  8  sonetPathYellow	Path Yellow alarm has been detected. Yellow alarm is 
					declared when bit 5 of the path status byte is high for 
					ten consecutive frames."
	DEFVAL { 1 }
	::= { sonetConfEntry 15 }

sonetIdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of cells that should be sent in 
		case there is no data to send. According to the ATM Forum, Unassigned
		cells should be sent (octet 1-3 are 0's, octet 4 is 0000xxx0, 
		where x is 'don't care'). According to the CCITT specifications,
		Idle cells should be sent (everything is '0' except for the CLP 
		bit which is '1'). By default, unassigned cells are transmitted
		in case there is no data to send."
	DEFVAL { 1 }
	::= { sonetConfEntry 16 }


------------------------------------------------------------------------
-- The SONET Statistics Group

sonetSectionTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetSectionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Section statistics and errors information."
	::= { sonetStatsGroup 1 }

sonetSectionEntry OBJECT-TYPE
	SYNTAX	SonetSectionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Section statistics and errors information for 
		every port."
	INDEX	{ sonetSectionBoard, sonetSectionModule, sonetSectionPort }
	::= { sonetSectionTable 1 }

SonetSectionEntry ::=
	SEQUENCE {
		sonetSectionBoard	INTEGER,
		sonetSectionModule	INTEGER,
		sonetSectionPort	INTEGER,
		sonetSectionBIPs	Counter,
		sonetSectionLOSs	Counter,
		sonetSectionLOFs	Counter
	}

sonetSectionBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { sonetSectionEntry 1 }

sonetSectionModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { sonetSectionEntry 2 }

sonetSectionPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { sonetSectionEntry 3 }

sonetSectionBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Section BIP-8 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. The calculated BIP-8 
		code is compared with the BIP-8 code extracted from the B1 byte of the 
		following frame. Differences indicate that a section level bit error has 
		occurred."
	::= { sonetSectionEntry 4 }

sonetSectionLOSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Loss Of Signal (LOS) has occurred. A LOS 
		is declared when 20 +/- 3us of all zeros patterns is detected. LOS is cleared 
		when two valid framing words are detected and during the intervening time no 
		LOS condition is detected."
	::= { sonetSectionEntry 5 }

sonetSectionLOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Loss Of Frame (LOF) has occurred. A LOF 
		is declared when an out-of-frame (OOF) condition persists for 3ms. The LOF 
		is cleared when an in-frame condition persists for 3ms. While in-frame the 
		framing bytes (A1, A2) in each frame are compared against the expected 
		pattern. Out-of-frame is declared when four consecutive frames containing 
		one or more framing pattern errors have been received."
	::= { sonetSectionEntry 6 }


------------------------------------------------------------------------

sonetLineTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetLineEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Line statistics and errors information."
	::= { sonetStatsGroup 2 }

sonetLineEntry OBJECT-TYPE
	SYNTAX	SonetLineEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Line statistics and errors information for 
		every port."
	INDEX	{ sonetLineBoard, sonetLineModule, sonetLinePort }
	::= { sonetLineTable 1 }

SonetLineEntry ::=
	SEQUENCE {
		sonetLineBoard		INTEGER,
		sonetLineModule		INTEGER,
		sonetLinePort		INTEGER,
		sonetLineBIPs		Counter,
		sonetLineFEBEs		Counter,
		sonetLineAISs		Counter,
		sonetLineFERFs		Counter
	}

sonetLineBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { sonetLineEntry 1 }

sonetLineModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { sonetLineEntry 2 }

sonetLinePort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { sonetLineEntry 3 }

sonetLineBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line BIP-24 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. The calculated BIP-24 
		code is based on the line overhead and synchronous payload envelope (SPE) of 
		the STS-3c stream. The line BIP-24 code is a bit interleaved parity calculation 
		using even parity. The calculated code is compared with the BIP-24 code extracted 
		from the B2 bytes of the following frame. Differences indicate that a line layer 
		bit error has occurred."
	::= { sonetLineEntry 4 }

sonetLineFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of line Far End Block Errors (FEBE) that have been detected since 
		the last time the port has been reset."
	::= { sonetLineEntry 5 }

sonetLineAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which line Alarm Indication Signal (AIS) has occurred. 
		A line AIS is asserted when a 111 binary pattern is detected in bits 6,7,8 
		of the K2 byte for five consecutive frames. A line AIS is removed when any 
		pattern other than 111 is detected in these bits for five consecutive frames."
	::= { sonetLineEntry 6 }

sonetLineFERFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which line Far End Receive Failure (FERF) has occurred. 
		A line FERF is asserted when a 110 binary pattern is detected in bits 6,7,8 
		of the K2 byte for five consecutive frames. A line FERF is removed when any 
		pattern other than 110 is detected in these bits for five consecutive frames."
	::= { sonetLineEntry 7 }

------------------------------------------------------------------------

sonetPathTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET Path statistics and errors information."
	::= { sonetStatsGroup 3 }

sonetPathEntry OBJECT-TYPE
	SYNTAX	SonetPathEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET Path statistics and errors information for 
		every port."
	INDEX	{ sonetPathBoard, sonetPathModule, sonetPathPort }
	::= { sonetPathTable 1 }

SonetPathEntry ::=
	SEQUENCE {
		sonetPathBoard		INTEGER,
		sonetPathModule		INTEGER,
		sonetPathPort		INTEGER,
		sonetPathBIPs		Counter,
		sonetPathFEBEs		Counter,
		sonetPathLOPs		Counter,
		sonetPathAISs		Counter,
		sonetPathYellows	Counter
	}

sonetPathBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { sonetPathEntry 1 }

sonetPathModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { sonetPathEntry 2 }

sonetPathPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { sonetPathEntry 3 }

sonetPathBIPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Path BIP-8 (Bit Interleaved Parity) errors that have been 
		detected since the last time the port has been reset. A path BIP-8 error is 
		detected by comparing the path BIP-8 byte (B3) extracted from the current 
		frame, to the path BIP-8 computed for the previous frame."
	::= { sonetPathEntry 4 }

sonetPathFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of path Far End Block Errors (FEBE) that have been detected since 
		the last time the port has been reset. FEBEs are detected by extracting the 
		4-bit FEBE field from the path status byte (G1). The legal range for the 4 bit 
		field is between 0000 and 1000, representing zero to eight errors. Any other 
		value is interpreted as zero errors."
	::= { sonetPathEntry 5 }

sonetPathLOPs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which path Loss Of Pointer (LOP) has occurred. A path
		LOP is detected when a 'normal pointer value' is not found in eight consecutive 
		frames. The LOP is cleared when a 'normal pointer value' is detected for three 
		consecutive frames."
	::= { sonetPathEntry 6 }

sonetPathAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which path Alarm Indication Signal (AIS) has occurred. 
		A path AIS is asserted when an all-ones pattern is detected in the pointer bytes 
		(H1 and H2) for three consecutive frames. It is cleared when a valid pointer is 
		detected for three consecutive frames. AIS indicates that an upstream failure 
		has been detected."
	::= { sonetPathEntry 7 }

sonetPathYellows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which path yellow alarm has occurred. A path yellow 
		alarm is detected by extracting bit 5 of the path status byte. If bit 5 is 
		high for ten consecutive frames, a yellow alarm is declared. A yellow alarm 
		is cleared when bit 5 is low for ten consecutive frames. Yellow signals are 
		used to alert upstream terminals of a downstream failure in order to initiate 
		trunk conditioning on the failure circuit."
	::= { sonetPathEntry 8 }

------------------------------------------------------------------------

sonetAtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SonetAtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of SONET ATM layer statistics and errors information."
	::= { sonetStatsGroup 4 }

sonetAtmEntry OBJECT-TYPE
	SYNTAX	SonetAtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing SONET ATM layer statistics and errors information 
		for every port."
	INDEX	{ sonetAtmBoard, sonetAtmModule, sonetAtmPort }
	::= { sonetAtmTable 1 }

SonetAtmEntry ::=
	SEQUENCE {
		sonetAtmBoard			INTEGER,
		sonetAtmModule			INTEGER,
		sonetAtmPort			INTEGER,
		sonetAtmCorrectableHCSs		Counter,
		sonetAtmUncorrectableHCSs	Counter
}

sonetAtmBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { sonetAtmEntry 1 }

sonetAtmModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { sonetAtmEntry 2 }

sonetAtmPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { sonetAtmEntry 3 }

sonetAtmCorrectableHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of correctable Header Check Sequence (HCS) error events that 
		occurred since the port was reset. The HCS is a CRC-8 calculation over the 
		first 4 octets of the ATM cell header."
	::= { sonetAtmEntry 4 }

sonetAtmUncorrectableHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of uncorrectable Header Check Sequence (HCS) error events that 
		occurred since the port was reset. The HCS is a CRC-8 calculation over the 
		first 4 octets of the ATM cell header."
	::= { sonetAtmEntry 5 }



END
------------------------------------------------------------------------
-- @(#)$Id $
-- Copyright 1994 by Fore Systems, Inc.

Fore-E3-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter, Gauge, IpAddress, TimeTicks	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	asx					FROM Fore-Switch-MIB;
	

------------------------------------------------------------------------
-- The implementation of the foreE3 tables is mandatory
-- for all switches that have E3 port module.

foreE3			OBJECT IDENTIFIER ::= { asx 5 }
e3ConfGroup		OBJECT IDENTIFIER ::= { foreE3 1 }
e3StatsGroup		OBJECT IDENTIFIER ::= { foreE3 2 }


------------------------------------------------------------------------
-- The E3 configuration Group

e3ConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E3ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E3 switch port configuration information."
	::= { e3ConfGroup 1 }

e3ConfEntry OBJECT-TYPE
	SYNTAX	E3ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E3 configuration information for each port. Not 
		all RFC1407 configuration table variables are included, and some are modified."
	INDEX	{ e3ConfBoard, e3ConfModule, e3ConfPort }
	::= { e3ConfTable 1 }

E3ConfEntry ::=
	SEQUENCE {
		e3ConfBoard		INTEGER,
		e3ConfModule		INTEGER,
		e3ConfPort		INTEGER,
		e3LineType		INTEGER,		
		e3LineCoding		INTEGER,
		e3SendCode		INTEGER,
		e3ReceiveCode		INTEGER,
		e3LoopbackConfig	INTEGER,
		e3TxClockSource	        INTEGER,
		e3RxScrambling		INTEGER,
		e3TxScrambling		INTEGER,
		e3LineStatus		INTEGER,
		e3IdleUnassignedCells   INTEGER
	}		


e3ConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e3ConfEntry 1 }

e3ConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e3ConfEntry 2 }

e3ConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e3ConfEntry 3 }

e3LineType OBJECT-TYPE
	SYNTAX	INTEGER {
                e3OtherLineType (1),
                e3Framed (2),
                e3Plcp (3)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "This variable indicates the type of cell delineation being used.  
		The e3Plcp(3) value indicates cell delineation according to CCITT 
		G.751 using PLCP (Physical Layer Converhence Protocol) framing, 
		while e3Framed(2) indicates HCS (Header Check Sequence) based framing. 
		This variable is defined in the rfc1407 configuration table as 
		dsx3LineType. According to RFC1407, the different values are:
		e3Framed(2)   specification: CCITT G.751
		e3Plcp(3)     specification: ETSI T/NA(91)18."
	DEFVAL { 2 }
	::= { e3ConfEntry 4 }

e3LineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
                e3OtherLineCoding (1),
		e3HDB3 (2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION

		"This variable describes the variety of Zero Code suppression used on this 
                interface, which in turn affects a number of its characteristics. e3HDB3 (1) 
                refers to the use of specified pattern of normal bits and bipolar violations 
                which are used to replaced sequences of zero bits of specified length. This 
                variable is defined in the rfc1407 configuration table as dsx3LineCoding."

	DEFVAL { 2 }
	::= { e3ConfEntry 5 }

e3SendCode OBJECT-TYPE
	SYNTAX	INTEGER {
		e3SendNoCode (1),
		e3SendLineCode (2),
		e3SendPayloadCode (3),
		e3SendResetCode (4),
		e3SendDS1LoopCode (5),
		e3SendTestPattern (6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates what type of code is being sent across the E3/E3 
		interface by the device. 
		The values mean:
		e3SendNoCode		sending looped or normal data
		e3SendLineCode		sending request for a line loopback
		e3SendPayloadCode	sending a request for a payload loopback (i.e. all 
					DS1/E1 in a E3/E3 frame)
		e3SendResetCode         sending a loopback deactivation request
		e3SendDS1LoopCode	requesting to loopback a particular DS1/E1 within a 
					E3/E3 frame
		e3SendTestPattern	sending a test pattern."
	DEFVAL { 1 }
	::= { e3ConfEntry 6 }

e3ReceiveCode OBJECT-TYPE
	SYNTAX	INTEGER {
		e3ReceiveNoCode (1),
		e3ReceiveLineCode (2),
		e3ReceivePayloadCode (3),
		e3ReceiveResetCode (4),
		e3ReceiveDS1LoopCode (5),
		e3ReceiveTestPattern (6)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of code that was received across the E3/E3 
		interface. 
		The values mean:
		e3ReceiveNoCode	receiving looped or normal data
		e3ReceiveLineCode	receiving request for a line loopback
		e3ReceivePayloadCode	receiving a request for a payload loopback (i.e. all  
					DS1/E1 in a E3/E3 frame)
		e3ReceiveResetCode	receiving a loopback deactivation request
		e3ReceiveDS1LoopCode	receiving a request to loopback a particular DS1/E1 
					within a E3/E3 frame
		e3ReceiveTestPattern	receiving a test pattern."
	DEFVAL { 1 }
	::= { e3ConfEntry 7 }

e3LoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		e3NoLoop (1), 
		e3CellLoop (2),
		e3PayloadLoop (3),
		e3DiagLoop (4),
                e3LineLoop (5),
		e3OtherLoop (6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the loopback configuration of the E3 interface. This 
		variable is defined in the rfc1407 configuration table as dsx3LoopbackConfig, 
		with slightly different values.
		e3NoLoop (1) means that the interface is not in a loopback state.
		e3CellLoop (2) means that cells that are processed by the receiving component 
		  are not written into the receive FIFO, but into the transmit FIFO for 
		  retransmission.
		e3PayloadLoop (3) means that the receive signal is looped back for retransmission
		  after it has passed through the port's reframing function.	
		e3DiagLoop (4) means that the transmit data stream is looped back to the receiver.
                e3LineLoop (5) means that the received data stream is reflected back to the sender.
		e3OtherLoop (6) means that the interface is in a loopback that is not defined 
		  here."
	DEFVAL { 1 }
	::= { e3ConfEntry 8 }

e3TxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming (1),
		localTiming (2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock."
	DEFVAL { 2 }
	::= { e3ConfEntry 9 }

e3RxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		descrambling(1),
		noDescrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information is being descrambled 
		on receiving. It should be set the same as the transmitting side." 
	DEFVAL { 2 }
	::= { e3ConfEntry 10 }

e3TxScrambling OBJECT-TYPE
	SYNTAX	INTEGER {
		scrambling(1),
		noScrambling(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates whether the information (48 octet payload) is being 
		scrambled before transmitting. It should be set the same as the receiving side."
	DEFVAL { 2 }
	::= { e3ConfEntry 11 }

e3LineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..2046)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A similar object is
		defined in the rfc1407 configuration table as dsx3LineStatus (the e3RxFERF bit 
		is not defined in rfc1407) . The variable contains loopback state information 
		and failure state information. It is a bit map represented as a sum. The 
		e3NoAlarm should be set if and only if no other flag is set.
		The various bit positions are:
		   1  e3NoAlarm
		   2  e3RxAIS		Receiving AIS failure state
		   4  e3TxAIS		Transmitting AIS
		   8  e3PllcpLOF	Receiving LOF failure state (G.751)
		  16  e3LOS		Receiving LOS failure state
		  32  e3LoopbackState	Looping the received signal
                  64  e3HcsLCD          Loss of Cell Delineation (G.832)
		 128  e3RxFERF		Receiving Far End Receive Failure
		 256  e3OtherFailure	any line status not defined here."
	DEFVAL { 1 }
	::= { e3ConfEntry 12 }

e3IdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the types of cells that  should be sent 
		in case there is no real data to send. According to the ATM Forum, 
		Unassigned cells should be sent (octet 1-3 are 0's, octet 4 is 
		0000xxx0, where x is 'don't care'). According to the CCITT 
		specifications, Idle cells should be sent (everything is '0' except 
		for the CLP bit which is '1'). By default, unassigned cells are 
		transmitted is case there is no data to send."
	DEFVAL { 1 }
	::= { e3ConfEntry 13 }

------------------------------------------------------------------------
-- The E3 Statistics Group

e3FramingTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E3FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E3 framing statistics information."
	::= { e3StatsGroup 1 }

e3FramingEntry OBJECT-TYPE
	SYNTAX	E3FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E3 framing statistics information."
	INDEX	{ e3FramingBoard, e3FramingModule, e3FramingPort }
	::= { e3FramingTable 1 }

E3FramingEntry ::=
	SEQUENCE {
		e3FramingBoard		INTEGER,
		e3FramingModule         INTEGER,
		e3FramingPort		INTEGER,

		e3FramingLOSs		Counter,
		e3FramingLCVs		Counter,
		e3FramingFERRs		Counter,
		e3FramingOOFs		Counter,
		e3FramingFERFs		Counter,
		e3FramingAISs		Counter,
		e3FramingBIP8s  	Counter,

		e3FramingFEBEs		Counter
	}

e3FramingBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e3FramingEntry 1 }

e3FramingModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e3FramingEntry 2 }

e3FramingPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e3FramingEntry 3 }

e3FramingLOSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Loss Of Signal (LOS) errors were detected 
		by the E3 Receive Framer block."
	::= { e3FramingEntry 4 }

e3FramingLCVs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line Code Violations (LCV) that were detected by the E3 
		Receive Framer block."
	::= { e3FramingEntry 5 }

e3FramingFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of E3 framing error (FERR) events."
	::= { e3FramingEntry 6 }

e3FramingOOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of E3 Out Of Frame (OOF) error events."
	::= { e3FramingEntry 7 }

e3FramingFERFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "In a G.832 (e3LineType == e3Framed) configured port, this variable relects 
                the number of Far End Receive  Failures.  In G.751 (e3LineType == e3Plcp) 
                it is the number of  Remote Alarm Indications."
	::= { e3FramingEntry 8 }

e3FramingAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Alarm Indication Signals (AIS) were 
		detected by the E3 Receive Framer block. AIS indicates that an upstream 
		failure has been detected by the far end."
	::= { e3FramingEntry 9 }

e3FramingBIP8s OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of E3 G.832 BIP-8 errors.  This counter is
only valid in G.832."
	::= { e3FramingEntry 10 }


e3FramingFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of E3 far end block error (FEBE) events."
	::= { e3FramingEntry 11 }

------------------------------------------------------------------------

e3PlcpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E3PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E3 Physical Layer Convergence Protocol (PLCP) statistics 
                information.  These statistics are only valid when the G.751 (PLCP) based 
                framing is being used by the E3.  They are not meaningful when G.832 HCS-based 
                framing is being used.  Check e3LineType for the current framing option."
	::= { e3StatsGroup 2 }

e3PlcpEntry OBJECT-TYPE
	SYNTAX	E3PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E3 PLCP statistics information."
	INDEX	{ e3PlcpBoard, e3PlcpModule, e3PlcpPort }
	::= { e3PlcpTable 1 }

E3PlcpEntry ::=
	SEQUENCE {
		e3PlcpBoard		INTEGER,
		e3PlcpModule		INTEGER,
		e3PlcpPort		INTEGER,

		e3PlcpFERRs		Counter,
		e3PlcpLOFs		Counter,
		e3PlcpBIP8s		Counter,
		e3PlcpFEBEs		Counter,
		e3PlcpYellows		Counter
	}

e3PlcpBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e3PlcpEntry 1 }

e3PlcpModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e3PlcpEntry 2 }

e3PlcpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e3PlcpEntry 3 }

e3PlcpFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Physical Layer Convergence Protocol (PLCP) octet error events."
	::= { e3PlcpEntry 4 }

e3PlcpLOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Loss Of Frame (LOF) errors were detected 
		by the PLCP (Physical Layer Convergence Protocol) receiver. LOF is declared 
		when an Out-Of-Frame state persists for more than 1ms. LOF is removed when 
		in-frame state persists for more than 12ms."
	::= { e3PlcpEntry 5 }

e3PlcpBIP8s OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of BIP-8 (Bit Interleaved Parity - 8) error events. The BIP-8 is 
		calculated over the Path Overhead field and the associated ATM cell of the 
		previous frame. A BIP-N is a method of error monitoring. An N bit code is 
		generated by the transmitting equipment in such a manner that the first bit 
		of the code provides even parity over the first bit of all N-bit sequences 
		in the previous VT SPE, the second bit provides even parity over the second 
		bits of all N-bit sequences within the specified portion, etc."
	::= { e3PlcpEntry 6 }

e3PlcpFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM Far End Block Error (FEBE) events."
	::= { e3PlcpEntry 7 }

e3PlcpYellows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of half-seconds in which Yellow alarm errors were detected by the 
		PLCP (Physical Layer Convergence Protocol) receiver. Yellow alarm is asserted 
		when 10 consecutive yellow signal bits are set to logical 1. Yellow signals 
		are used to alert upstream terminals of a downstream failure in order to 
		initiate trunk conditioning on the failure circuit."
	::= { e3PlcpEntry 8 }

------------------------------------------------------------------------

e3AtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E3AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E3 ATM statistics information."
	::= { e3StatsGroup 3 }

e3AtmEntry OBJECT-TYPE
	SYNTAX	E3AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E3 ATM statistics information."
	INDEX	{ e3AtmBoard, e3AtmModule, e3AtmPort }
	::= { e3AtmTable 1 }

E3AtmEntry ::=
	SEQUENCE {
		e3AtmBoard		INTEGER,
		e3AtmModule		INTEGER,
		e3AtmPort		INTEGER,

		e3AtmHCSs		Counter,
		e3AtmRxCells		Counter,
		e3AtmTxCells		Counter
	}

e3AtmBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e3AtmEntry 1 }

e3AtmModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e3AtmEntry 2 }

e3AtmPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e3AtmEntry 3 }

e3AtmHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of header check sequence (HCS) error events. The HCS is a CRC-8 
		calculation over the first 4 octets of the ATM cell header."
	::= { e3AtmEntry 4 }

e3AtmRxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM cells that were received."
	::= { e3AtmEntry 5 }

e3AtmTxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of non-null ATM cells that were transmitted."
	::= { e3AtmEntry 6 }

END













------------------------------------------------------------------------
-- @(#)$Id $
-- Copyright 1993, 1994, 1995 by Fore Systems, Inc.

Fore-DS1-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter, Gauge, IpAddress, TimeTicks	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	asx					FROM Fore-Switch-MIB;
	

------------------------------------------------------------------------
-- The implementation of the foreDs1 tables is mandatory
-- for all switches that have DS1 port module.

foreDs1			OBJECT IDENTIFIER ::= { asx 7 }
ds1ConfGroup		OBJECT IDENTIFIER ::= { foreDs1 1 }
ds1StatsGroup		OBJECT IDENTIFIER ::= { foreDs1 2 }


------------------------------------------------------------------------
-- The DS1 configuration Group

ds1ConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds1ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS1 switch port configuration information."
	::= { ds1ConfGroup 1 }

ds1ConfEntry OBJECT-TYPE
	SYNTAX	Ds1ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS1 configuration information for each port. 
		Not all RFC1406 configuration table variables are included, and some 
		are modified."
	INDEX	{ ds1ConfBoard, ds1ConfModule, ds1ConfPort }
	::= { ds1ConfTable 1 }

Ds1ConfEntry ::=
	SEQUENCE {
		ds1ConfBoard		INTEGER,
		ds1ConfModule		INTEGER,
		ds1ConfPort		INTEGER,
                ds1LineType             INTEGER,
		ds1LineCoding		INTEGER,
		ds1SendCode		INTEGER,
		ds1ReceiveCode		INTEGER,
		ds1LoopbackConfig	INTEGER,
		ds1TxClockSource	INTEGER,
		ds1LineStatus		INTEGER,
		ds1IdleUnassignedCells  INTEGER,
		ds1LineTypeFraming 	INTEGER,	
		ds1LineLength		INTEGER
}		


ds1ConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds1ConfEntry 1 }

ds1ConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds1ConfEntry 2 }

ds1ConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds1ConfEntry 3 }

ds1LineType OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1Other (1), 
		ds1ESF (2), 
		ds1D4 (3)
		} 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the variety of DS1 Line implementing 
		this circuit. The type of circuit affects the number of bits 
		per second that the circuit can reasonably carry, as well as 
		the interpretation of the usage and error statistics. This 
		variable is defined in the rfc1406 configuration table as 
		dsx1LineType. According to rfc1406, the different values are:
		ds1ESF           Extended SuperFrame DS1
		ds1D4		 AT&T D4 format DS1."
	::= { ds1ConfEntry 4 }


ds1LineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1Other (1), 
		ds1JBZS (2),
		ds1B8ZS (3),
		ds1HDB3 (4),
		ds1ZBTSI (5),
		ds1AMI (6)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the variety of Zero Code suppression used 
		on this link, which in turn affects a number of its characteristics. 
		ds1B8ZS (2) refers to the use of specified pattern of normal bits 
		and bipolar violations which are used to replaced sequences of eight 
		zero bits. This variable is defined in the rfc1406 configuration 
		table as dsx1LineCoding."
	::= { ds1ConfEntry 5 }

ds1SendCode OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1SendNoCode (1),
		ds1SendLineCode (2),
		ds1SendPayloadCode (3),
		ds1SendResetCode (4),
		ds1SendQRS (5),
		ds1Send511Pattern (6),
		ds1Send3in24Pattern (7),
		ds1SendOtherTestPattern (8)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates what type of code is being sent across the DS1
		interface by the device. 
		The values mean:
		ds1SendNoCode		sending looped or normal data
		ds1SendLineCode		sending request for a line loopback
		ds1SendPayloadCode	sending a request for a payload loopback
		ds1SendResetCode	sending a loopback termination request
		ds1SendQRS		sending a Quasi-Random Signal (QRS) test pattern
		ds1Send511Pattern	sending a 511 bit fixed test pattern
		ds1Send3in24Pattern	sending a fixed test pattern of 3 bits set in 24
		ds1SendTestPattern	sending a test pattern other than the above."
	::= { ds1ConfEntry 6 }

ds1ReceiveCode OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1ReceiveNoCode (1),
		ds1ReceiveLineCode (2),
		ds1ReceivePayloadCode (3),
		ds1ReceiveResetCode (4),
		ds1SendQRS (5),
		ds1Send511Pattern (6),
		ds1Send3in24Pattern (7),
		ds1SendOtherTestPattern (8)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of code that was received across the DS
		interface. 
		The values mean:
		ds1ReceiveNoCode	receiving looped or normal data
		ds1ReceiveLineCode	receiving request for a line loopback
		ds1ReceivePayloadCode	receiving a request for a payload loopback
		ds1ReceiveResetCode	receiving a loopback deactivation request
		ds1ReceiveQRS		receiving a Quasi-Random Signal (QRS) test pattern
		ds1Receive511Pattern	receiving a 511 bit fixed test pattern
		ds1Receive3in24Pattern	receiving a fixed test pattern of 3 bits set in 24
		ds1ReceiveTestPattern	receiving a test pattern other than the above."
	::= { ds1ConfEntry 7 }

ds1LoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1NoLoop (1), 
		ds1LineLoop (2),
		ds1PayloadLoop (3),
		ds1DiagLoop (4),
		ds1OtherLoop (5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the loopback configuration of the DS1 
		interface. This variable is defined in the rfc1406 configuration 
		table as dsx1LoopbackConfig, with slightly different values.
		ds1NoLoop (1) means that the interface is not in a loopback state.
		ds1LineLoop (2) means that cells that are processed by the receiving 
			component are not written into the receive FIFO, but into the 
			transmit FIFO for  retransmission.
		ds1PayloadLoop (3) means that the receive signal is looped back for 
			retransmission after it has passed through the port's reframing 
			function.	
		ds1DiagLoop (4) means that the transmit data stream is looped back to 
			the receiver.
		ds1OtherLoop (5) means that the interface is in a loopback that is not 
			defined here."
	DEFVAL { 1 }
	::= { ds1ConfEntry 8 }

ds1TxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming (1),
		localTiming (2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock. rxTiming(1) indicated that the 
		recovered receive clock is used as the transmit clock. localTiming(2)
		indicates that a local source clock is used as the transmit clock.
		To determine which local source clock is used advise the ntGlobalClock
		in the netmodTimingTable for this netmod (refer to the Fore-Switch-MIB 
		for more information)."
	DEFVAL { 2 }
	::= { ds1ConfEntry 9 }

ds1LineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..2046)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A similar 
		object is defined in the rfc1406 configuration table as dsx1LineStatus. 
		The variable contains loopback state information and failure state 
		information. It is a bit map represented as a sum. The ds1NoAlarm should 
		be set if and only if no other flag is set.
		The various bit positions are:
		   1  ds1NoAlarm
		   2  ds1RxFarEndLOF 	Rar end LOF (Receiving Yellow Alarm Indication)
		   4  ds1TxFarEndLOF	Near end sending LOF Indication
		   8  ds1RxAIS		Far end sending AIS
		  16  ds1TxAIS		Near end sending AIS
		  32  ds1LOF		Near end Loss Of Frame (Red Alarm)
		  64  ds1LOS		Near end Loss Of Signal 
		 128  ds1LoopbackState	Near end is in loopback mode
		 256  ds1RxTestCode	Receiving a test pattern
		 512  ds1OtherFailure	any line status not defined here."
	::= { ds1ConfEntry 12 }

ds1IdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the types of cells that should be sent 
		in case there is no real data to send. According to the ATM Forum, 
		Unassigned cells should be sent (octet 1-3 are 0's, octet 4 is 
		0000xxx0, where x is 'don't care'). According to the CCITT 
		specifications, Idle cells should be sent (everything is '0' except 
		for the CLP bit which is '1'). By default, unassigned cells are 
		transmitted is case there is no data to send."
	DEFVAL { 1 }
	::= { ds1ConfEntry 13 }

ds1LineTypeFraming OBJECT-TYPE
	SYNTAX	INTEGER {
		other (1),
		ds1Hcs (2),
                ds1Plcp (3)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the way ATM cells are constructed 
		from the DS1 stream. ds1Hcs(2) indicates that the ATM cells
		are constructed upon the Header Check Sequence (HCS) inside the
		ATM cell header. ds1Plcp(3) indicates that the ATM cells 
                are constructed from the DS1 PLCP (Physical Layer Convergence
                Protocol) bits."
	::= { ds1ConfEntry 14 }

ds1LineLength OBJECT-TYPE
	SYNTAX	INTEGER {
		ds1LineLt110 (1),
		ds1Line110-220 (2),
		ds1Line220-330 (3),
		ds1Line330-440 (4),
		ds1Line440-550 (5),
		ds1Line550-660 (6),
		ds1LineGt655 (7)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the length of the physical cable
	 	connected to the ds1 port. The user has to set this object to match
		the physical cable in order to get the netmod to receive the signal
		on the cable. The different values are:
		ds1LineLt110 (1) means the line is shorter than 110 ft,
		ds1Line110-220 (2) means the line length is between 110 and 220 ft,
		ds1Line220-330 (3) means the line length is between 220 and 330 ft,
		ds1Line330-440 (4) means the line length is between 330 and 440 ft,
		ds1Line440-550 (5) means the line length is between 440 and 550 ft,
		ds1Line550-660 (6) means the line length is between 550 and 660 ft,
		ds1LineGt655 (7) means the line is longer than 655 ft."
	DEFVAL { 1 }
	::= { ds1ConfEntry 15 }

------------------------------------------------------------------------
-- The DS1 Statistics Group

ds1FramingTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds1FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS1 framing statistics information."
	::= { ds1StatsGroup 1 }

ds1FramingEntry OBJECT-TYPE
	SYNTAX	Ds1FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS1 framing statistics information."
	INDEX	{ ds1FramingBoard, ds1FramingModule, ds1FramingPort }
	::= { ds1FramingTable 1 }

Ds1FramingEntry ::=
	SEQUENCE {
		ds1FramingBoard		INTEGER,
		ds1FramingModule	INTEGER,
		ds1FramingPort		INTEGER,

		ds1FramingLOSs		Counter,
		ds1FramingLCVs		Counter,
		ds1FramingFERRs		Counter,
		ds1FramingOOFs		Counter,
		ds1FramingAISs		Counter,

		ds1FramingB8ZSPatterns	Counter,
		ds1Framing8Zeros	Counter,
		ds1Framing16Zeros	Counter,
		ds1FramingYellowAlarms	Counter,
		ds1FramingRedAlarms	Counter,
		ds1FramingBEEs		Counter
	}

ds1FramingBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds1FramingEntry 1 }

ds1FramingModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds1FramingEntry 2 }

ds1FramingPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds1FramingEntry 3 }

ds1FramingLOSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Loss Of Signal (LOS) errors that have been detected." 
	::= { ds1FramingEntry 4 }

ds1FramingLCVs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line Code Violations (LCV) that have been detected."
	::= { ds1FramingEntry 5 }

ds1FramingFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Framing ERRor (FERR) events that have been detected."
	::= { ds1FramingEntry 6 }

ds1FramingOOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Out Of Frame (OOF) error events that have been detected."
	::= { ds1FramingEntry 7 }

ds1FramingAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Alarm Indication Signals (AIS) have been
		detected. AIS indicates that an upstream failure has been 
                detected by the far end."
	::= { ds1FramingEntry 8 }

ds1FramingB8ZSPatterns OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which B8ZS Pattern error events have been detected."
	::= { ds1FramingEntry 9 }

ds1Framing8Zeros OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which 8 Zeros error events have been detected."
	::= { ds1FramingEntry 10 }

ds1Framing16Zeros OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which 16 Zeros error events have been detected."
	::= { ds1FramingEntry 11 }


ds1FramingYellowAlarms OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Yellow Alarm events have been detected."
	::= { ds1FramingEntry 12 }


ds1FramingRedAlarms OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Red Alarm events have been detected."
	::= { ds1FramingEntry 13 }


ds1FramingBEEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Bit Encoding Error (BEE) events that have been detected."
	::= { ds1FramingEntry 14 }


------------------------------------------------------------------------
                
ds1PlcpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds1PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS1 Physical Layer Convergence Protocol (Procedure) statistics 
		information."
	::= { ds1StatsGroup 2 }


ds1PlcpEntry OBJECT-TYPE
	SYNTAX	Ds1PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS1 PLCP statistics information."
	INDEX	{ ds1PlcpBoard, ds1PlcpModule, ds1PlcpPort }
	::= { ds1PlcpTable 1 }


Ds1PlcpEntry ::=
	SEQUENCE {
		ds1PlcpBoard		INTEGER,
		ds1PlcpModule		INTEGER,
		ds1PlcpPort		INTEGER,

                ds1PlcpBIP8s            Counter,
                ds1PlcpFERRs            Counter,
                ds1PlcpFEBEs            Counter,
                ds1PlcpLOFs             Counter,
                ds1PlcpYellows          Counter
        }


ds1PlcpBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds1PlcpEntry 1 }


ds1PlcpModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds1PlcpEntry 2 }


ds1PlcpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds1PlcpEntry 3 }


ds1PlcpBIP8s OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of BIP-8 (Bit Interleaved Parity - 8) error events. The BIP-8 is 
		calculated over the Path Overhead field and the associated ATM cell of the 
		previous frame. A BIP-N is a method of error monitoring. An N bit code is 
		generated by the transmitting equipment in such a manner that the first bit 
		of the code provides even parity over the first bit of all N-bit sequences 
		in the previous VT SPE, the second bit provides even parity over the second 
		bits of all N-bit sequences within the specified portion, etc."
	::= { ds1PlcpEntry 4 }


ds1PlcpFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Physical Layer Convergence Protocol (PLCP) octet error events."
	::= { ds1PlcpEntry 5 }


ds1PlcpFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM Far End Block Error (FEBE) events."
	::= { ds1PlcpEntry 6 }


ds1PlcpLOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Loss Of Frame (LOF) errors were detected 
		by the PLCP (Physical Layer Convergence Protocol) receiver. LOF is declared 
		when an Out-Of-Frame state persists for more than 1ms. LOF is removed when 
		in-frame state persists for more than 12ms."
	::= { ds1PlcpEntry 7 }


ds1PlcpYellows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Yellow alarm errors were detected by the 
		PLCP (Physical Layer Convergence Protocol) receiver. Yellow alarm is asserted 
		when 10 consecutive yellow signal bits are set to logical 1. Yellow signals 
		are used to alert upstream terminals of a downstream failure in order to 
		initiate trunk conditioning on the failure circuit."
	::= { ds1PlcpEntry 8 }


------------------------------------------------------------------------


ds1AtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF Ds1AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of DS1 ATM statistics information."
	::= { ds1StatsGroup 3 }

ds1AtmEntry OBJECT-TYPE
	SYNTAX	Ds1AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing DS1 ATM statistics information."
	INDEX	{ ds1AtmBoard, ds1AtmModule, ds1AtmPort }
	::= { ds1AtmTable 1 }

Ds1AtmEntry ::=
	SEQUENCE {
		ds1AtmBoard		INTEGER,
		ds1AtmModule		INTEGER,
		ds1AtmPort		INTEGER,

		ds1AtmHCSs		Counter,
		ds1AtmRxCells		Counter,
		ds1AtmTxCells		Counter
	}

ds1AtmBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { ds1AtmEntry 1 }

ds1AtmModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { ds1AtmEntry 2 }

ds1AtmPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { ds1AtmEntry 3 }

ds1AtmHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of header check sequence (HCS) error events. The HCS is a CRC-8 
		calculation over the first 4 octets of the ATM cell header."
	::= { ds1AtmEntry 4 }

ds1AtmRxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM cells that were received."
	::= { ds1AtmEntry 5 }

ds1AtmTxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of non-null ATM cells that were transmitted."
	::= { ds1AtmEntry 6 }

END
------------------------------------------------------------------------
-- @(#)$Id $
-- Copyright 1993, 1994, 1995 by Fore Systems, Inc.

Fore-E1-MIB DEFINITIONS ::= BEGIN

IMPORTS
	Counter, Gauge, IpAddress, TimeTicks	FROM RFC1155-SMI
	OBJECT-TYPE				FROM RFC1212
	asx					FROM Fore-Switch-MIB;
	

------------------------------------------------------------------------
-- The implementation of the foreE1 tables is mandatory
-- for all switches that have E1 port module.

foreE1			OBJECT IDENTIFIER ::= { asx 8 }
e1ConfGroup		OBJECT IDENTIFIER ::= { foreE1 1 }
e1StatsGroup		OBJECT IDENTIFIER ::= { foreE1 2 }


------------------------------------------------------------------------
-- The E1 configuration Group

e1ConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E1ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E1 switch port configuration information."
	::= { e1ConfGroup 1 }

e1ConfEntry OBJECT-TYPE
	SYNTAX	E1ConfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E1 configuration information
		for each port.  Not all RFC1406 configuration table
		variables are included, and some are modified."
	INDEX	{ e1ConfBoard, e1ConfModule, e1ConfPort }
	::= { e1ConfTable 1 }

E1ConfEntry ::=
	SEQUENCE {
		e1ConfBoard		INTEGER,
		e1ConfModule		INTEGER,
		e1ConfPort		INTEGER,
		e1LineType		INTEGER,
		e1LineCoding		INTEGER,
		e1SendCode		INTEGER,
		e1ReceiveCode		INTEGER,
		e1LoopbackConfig	INTEGER,
		e1TxClockSource		INTEGER,
		e1LineStatus		INTEGER,
		e1IdleUnassignedCells	INTEGER,
		e1LineLength		INTEGER,
                e1LineTypeFraming       INTEGER
}		


e1ConfBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e1ConfEntry 1 }

e1ConfModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e1ConfEntry 2 }

e1ConfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e1ConfEntry 3 }

e1LineType OBJECT-TYPE
        SYNTAX  INTEGER {
                e1Other (1), 
		e1NoCRC (2),
		e1CRC (3),
		e1MF (4),
		e1CRCMF (5)
                } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This variable indicates the variety of E1 Line implementing 
                this circuit. The type of circuit affects the number of bits 
                per second that the circuit can reasonably carry, as well as 
                the interpretation of the usage and error statistics. This 
                variable is defined in the rfc1406 configuration table as 
                dsx1LineType. According to rfc1406, the different values are:
		e1NoCRC		CCITT recommendation G.704 (table a)
		e1CRC		CCITT recommendation G.704 (table b)
		e1MF		G.704(table a) with TS16 multifatming enabled
		e1MFCRC		G.704(table b) with TS16 multifatming enabled."
	::= { e1ConfEntry 4 }


e1LineCoding OBJECT-TYPE
	SYNTAX	INTEGER {
		e1Other (1), 
		e1HDB3 (2),
		e1AMI (3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable describes the variety of Zero Code suppression 
		used on this link, which in turn affects a number of its 
		characteristics. e1AMI(3) refers to a mode wherein no  zero  
		code suppression  is  present  and the line encoding does not 
		solve the problem directly.   In  this application, the higher
		layer must provide data which meets or exceeds the  pulse  
		density  re-quirements, such as inverting HDLC data.  This 
		variable is defined in the rfc1406 configuration table as 
		dsx1LineCoding."
	::= { e1ConfEntry 5 }

e1SendCode OBJECT-TYPE
	SYNTAX	INTEGER {
		e1SendNoCode (1),
		e1SendLineCode (2),
		e1SendPayloadCode (3),
		e1SendResetCode (4),
		e1SendQRS (5),
		e1Send511Pattern (6),
		e1Send3in24Pattern (7),
		e1SendOtherTestPattern (8)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates what type of code is being sent 
		across the E1 interface by the device. 	The values mean:
		e1SendNoCode		sending looped or normal data
		e1SendLineCode		sending request for a line loopback
		e1SendPayloadCode	sending a request for a payload 
					loopback
		e1SendResetCode		sending a loopback termination request
		e1SendQRS		sending a Quasi-Random Signal (QRS) 
					test pattern
		e1Send511Pattern	sending a 511 bit fixed test pattern
		e1Send3in24Pattern	sending a fixed test pattern of 3 bits
					set in 24
		e1SendOtherTestPattern	sending a test pattern other than the 
					above."
	::= { e1ConfEntry 6 }

e1ReceiveCode OBJECT-TYPE
	SYNTAX	INTEGER {
		e1ReceiveNoCode (1),
		e1ReceiveLineCode (2),
		e1ReceivePayloadCode (3),
		e1ReceiveResetCode (4),
		e1SendQRS (5),
		e1Send511Pattern (6),
		e1Send3in24Pattern (7),
		e1SendOtherTestPattern (8)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the type of code that was received 
		across the E1 interface. 
		The values mean:
		e1ReceiveNoCode	receiving looped or normal data
		e1ReceiveLineCode	receiving request for a line loopback
		e1ReceivePayloadCode	receiving a request for a payload 
					loopback
		e1ReceiveResetCode	receiving a loopback deactivation 
					request
		e1ReceiveQRS		receiving a Quasi-Random Signal (QRS) 
					test pattern
		e1Receive511Pattern	receiving a 511 bit fixed test pattern
		e1Receive3in24Pattern	receiving a fixed test pattern of 3 
					bits set in 24
		e1ReceiveOtherTestPattern receiving a test pattern other than 
					the above."
	::= { e1ConfEntry 7 }

e1LoopbackConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		e1NoLoop (1), 
		e1LineLoop (2),
		e1PayloadLoop (3),
		e1DiagLoop (4),
		e1OtherLoop (5)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the loopback configuration of the E1 
		interface. This variable is defined in the rfc1406 
		configuration table as dsx1LoopbackConfig, with slightly 
		different values.  
		e1NoLoop (1) means that the interface is not in a loopback 
			state.
		e1LineLoop (2) means that cells that are processed by the 
			receiving component are not written into the receive 
			FIFO, but into the transmit FIFO for  retransmission.
		e1PayloadLoop (3) means that the receive signal is looped 
			back for retransmission after it has passed through 
			the port's reframing function.	
		e1DiagLoop (4) means that the transmit data stream is looped 
			back to the receiver.
		e1OtherLoop (5) means that the interface is in a loopback 
			that is not defined here."
	DEFVAL { 1 }
	::= { e1ConfEntry 8 }

e1TxClockSource OBJECT-TYPE
	SYNTAX	INTEGER {
		rxTiming (1),
		localTiming (2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The source of the transmit clock. rxTiming(1) indicated that 
		the recovered receive clock is used as the transmit clock. 
		localTiming(2) indicates that a local source clock is used as 
		the transmit clock. To determine which local source clock is 
		used advise the ntGlobalClock in the netmodTimingTable for this
		netmod (refer to the Fore-Switch-MIB for more information)."
	DEFVAL { 2 }
	::= { e1ConfEntry 9 }

e1LineStatus OBJECT-TYPE
	SYNTAX	INTEGER (1..8191)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the Line Status of the interface. A 
		similar object is defined in the rfc1406 configuration table 
		as dsx1LineStatus. The variable contains loopback state 
		information and failure state information. It is a bit map 
		represented as a sum. The e1NoAlarm should be set if and only 
		if no other flag is set.
		The various bit positions are:
		   1  e1NoAlarm
		   2  e1RxFarEndLOF 	Far end LOF (Receiving Yellow Alarm 
					Indication)
		   4  e1TxFarEndLOF	Near end sending LOF Indication
		   8  e1RxAIS		Far end sending AIS
		  16  e1TxAIS		Near end sending AIS
		  32  e1LOF		Near end Loss Of Frame (Red Alarm)
		  64  e1LOS		Near end Loss Of Signal 
		 128  e1LoopbackState	Near end is in loopback mode
		 256  e1T16AIS		E1 TS16 AIS
		 512  e1RcvFarEndLOMF	Far end sending TS16 LOMFs
		1024  e1XmtFarEndLOMF	Near end sending TS16 LOMFs
		2048  e1RcvTestCode	Receiving a test pattern
		4096  e1OtherFailure	any line status not defined here."
	::= { e1ConfEntry 10 }

e1IdleUnassignedCells OBJECT-TYPE
	SYNTAX	INTEGER {
		unassigned(1),
		idle(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the types of cells that should be 
		sent in case there is no real data to send. According to the 
		ATM Forum, Unassigned cells should be sent (octet 1-3 are 0's,
		octet 4 is 0000xxx0, where x is 'don't care'). According to 
		the CCITT specifications, Idle cells should be sent 
		(everything is '0' except for the CLP bit which is '1'). By 
		default, unassigned cells are transmitted is case there is no 
		data to send."
	DEFVAL { 1 }
	::= { e1ConfEntry 11 }

e1LineLength OBJECT-TYPE
	SYNTAX	INTEGER {
		e1LineLt110 (1),
		e1Line110-220 (2),
		e1Line220-330 (3),
		e1Line330-440 (4),
		e1Line440-550 (5),
		e1Line550-660 (6),
		e1LineG703-75 (7),
		e1LineG703-120 (8)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable represents the length of the physical cable
	 	connected to the e1 port. The user has to set this object to 
		match the physical cable in order to get the netmod to receive
		the signal on the cable. The different values are:
		e1LineLt110 (1) means the line is shorter than 110 ft,
		e1Line110-220 (2) means the line is between 110 and 220 ft,
		e1Line220-330 (3) means the line is between 220 and 330 ft,
		e1Line330-440 (4) means the line is between 330 and 440 ft,
		e1Line440-550 (5) means the line is between 440 and 550 ft,
		e1Line550-660 (6) means the line is between 550 and 660 ft,
		e1LineG703-75 (7) G703 standard (75 ohm coaxial line),
		e1LineG703-120 (8) G703 standard (120 ohm symmetrical line)."
	DEFVAL { 1 }
	::= { e1ConfEntry 12 }

e1LineTypeFraming OBJECT-TYPE
	SYNTAX	INTEGER {
		other (1),
		e1Hcs (2),
                e1Plcp (3)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This variable indicates the way ATM cells are constructed 
		from the E1 stream. e1Hcs(2) indicates that the ATM cells
		are constructed upon the Header Check Sequence (HCS) inside the
		ATM cell header. e1Plcp(3) indicates that the ATM cells 
                are constructed from the E1 PLCP (Physical Layer Convergence
                Protocol) bits."
	::= { e1ConfEntry 13 }


------------------------------------------------------------------------
-- The E1 Statistics Group

e1FramingTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E1FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E1 framing statistics information."
	::= { e1StatsGroup 1 }

e1FramingEntry OBJECT-TYPE
	SYNTAX	E1FramingEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E1 framing statistics information."
	INDEX	{ e1FramingBoard, e1FramingModule, e1FramingPort }
	::= { e1FramingTable 1 }

E1FramingEntry ::=
	SEQUENCE {
		e1FramingBoard		INTEGER,
		e1FramingModule		INTEGER,
		e1FramingPort		INTEGER,

		e1FramingLCVs		Counter,
		e1FramingFERRs		Counter,
		e1FramingFEBEs		Counter,
		e1FramingCRCs		Counter,

		e1FramingOOFs		Counter,
		e1FramingLOSs		Counter,
		e1FramingAISs		Counter,
		e1FramingAISDs		Counter,
		e1FramingRedAlarms	Counter
	}

e1FramingBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e1FramingEntry 1 }

e1FramingModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e1FramingEntry 2 }

e1FramingPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e1FramingEntry 3 }

e1FramingLCVs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of Line Code Violations (LCV) that were detected 
		by the E1 Receive Framer block."
	::= { e1FramingEntry 4 }

e1FramingFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of E1 framing error (FERR) events."
	::= { e1FramingEntry 5 }

e1FramingFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of E1 far end block errors."
	::= { e1FramingEntry 6 }

e1FramingCRCs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number cyclic redundancy errors."
	::= { e1FramingEntry 7 }

e1FramingOOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of OOF (loss of basic frame alignment) errors."
	::= { e1FramingEntry 8 }

e1FramingLOSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of LOS (loss of signal) error events."
	::= { e1FramingEntry 9 }

e1FramingAISs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of AIS (alarm indication signal) error events."
	::= { e1FramingEntry 10 }


e1FramingAISDs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of AISD (unframed pattern of all ones) error events."
	::= { e1FramingEntry 11 }


e1FramingRedAlarms OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Red Alarm events."
	::= { e1FramingEntry 12 }


------------------------------------------------------------------------

e1PlcpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E1PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E1 Physical Layer Convergence Protocol (Procedure) statistics 
		information."
	::= { e1StatsGroup 2 }


e1PlcpEntry OBJECT-TYPE
	SYNTAX	E1PlcpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E1 PLCP statistics information."
	INDEX	{ e1PlcpBoard, e1PlcpModule, e1PlcpPort }
	::= { e1PlcpTable 1 }


E1PlcpEntry ::=
	SEQUENCE {
		e1PlcpBoard		INTEGER,
		e1PlcpModule		INTEGER,
		e1PlcpPort		INTEGER,

                e1PlcpBIP8s            Counter,
                e1PlcpFERRs            Counter,
                e1PlcpFEBEs            Counter,
                e1PlcpLOFs             Counter,
                e1PlcpYellows          Counter
        }


e1PlcpBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e1PlcpEntry 1 }


e1PlcpModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e1PlcpEntry 2 }


e1PlcpPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e1PlcpEntry 3 }


e1PlcpBIP8s OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of BIP-8 (Bit Interleaved Parity - 8) error events. The BIP-8 is 
		calculated over the Path Overhead field and the associated ATM cell of the 
		previous frame. A BIP-N is a method of error monitoring. An N bit code is 
		generated by the transmitting equipment in such a manner that the first bit 
		of the code provides even parity over the first bit of all N-bit sequences 
		in the previous VT SPE, the second bit provides even parity over the second 
		bits of all N-bit sequences within the specified portion, etc."
	::= { e1PlcpEntry 4 }


e1PlcpFERRs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Physical Layer Convergence Protocol (PLCP) octet error events."
	::= { e1PlcpEntry 5 }


e1PlcpFEBEs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM Far End Block Error (FEBE) events."
	::= { e1PlcpEntry 6 }


e1PlcpLOFs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Loss Of Frame (LOF) errors were detected 
		by the PLCP (Physical Layer Convergence Protocol) receiver. LOF is declared 
		when an Out-Of-Frame state persists for more than 1ms. LOF is removed when 
		in-frame state persists for more than 12ms."
	::= { e1PlcpEntry 7 }


e1PlcpYellows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds in which Yellow alarm errors were detected by the 
		PLCP (Physical Layer Convergence Protocol) receiver. Yellow alarm is asserted 
		when 10 consecutive yellow signal bits are set to logical 1. Yellow signals 
		are used to alert upstream terminals of a downstream failure in order to 
		initiate trunk conditioning on the failure circuit."
	::= { e1PlcpEntry 8 }


------------------------------------------------------------------------


e1AtmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF E1AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of E1 ATM statistics information."
	::= { e1StatsGroup 3 }

e1AtmEntry OBJECT-TYPE
	SYNTAX	E1AtmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table entry containing E1 ATM statistics information."
	INDEX	{ e1AtmBoard, e1AtmModule, e1AtmPort }
	::= { e1AtmTable 1 }

E1AtmEntry ::=
	SEQUENCE {
		e1AtmBoard		INTEGER,
		e1AtmModule		INTEGER,
		e1AtmPort		INTEGER,

		e1AtmHCSs		Counter,
		e1AtmRxCells		Counter,
		e1AtmTxCells		Counter
	}

e1AtmBoard OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The index of this port's switch board."
	::= { e1AtmEntry 1 }

e1AtmModule OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The network module of this port."
	::= { e1AtmEntry 2 }

e1AtmPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of this port."
	::= { e1AtmEntry 3 }

e1AtmHCSs OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of header check sequence (HCS) error events. 
		The HCS is a CRC-8 calculation over the first 4 octets 
		of the ATM cell header."
	::= { e1AtmEntry 4 }

e1AtmRxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of ATM cells that were received."
	::= { e1AtmEntry 5 }

e1AtmTxCells OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of non-null ATM cells that were transmitted."
	::= { e1AtmEntry 6 }

END
------------------------------------------------------------------------
-- @(#)$Id: ilmi.mib,v 1.3 1994/10/07 22:30:50 shavit Exp $

ATM-FORUM-MIB DEFINITIONS ::= BEGIN

IMPORTS
	enterprises, Counter, IpAddress        	FROM RFC1155-SMI 
	DisplayString               		FROM RFC1213-MIB
	OBJECT-TYPE                 		FROM RFC-1212;

------------------------------------------------------------------------

atmForum	    OBJECT IDENTIFIER ::= { enterprises 353 }

------------------------------------------------------------------------

		-- a subtree for defining administrative
		-- object identifiers
atmForumAdmin   OBJECT IDENTIFIER ::= { atmForum 1 }

		-- a subtree for defining UNI MIB object types 
atmForumUni     OBJECT IDENTIFIER ::= { atmForum 2 }


------------------------------------------------------------------------
-- Textual Conventions

-- All representations of ATM addresses in this MIB Module use 
-- the data type:

AtmAddress ::= OCTET STRING (SIZE (0 .. 32))

-- Note this data type is used only by the deprecated object 
-- atmfPortAddress. Another definition (a refined one) is
-- specified in the separate MIB for Address Registration.

-- Representations in this MIB Module of an ATM address
-- use the data type:

AtmAddress2 ::= OCTET STRING (SIZE (8 | 20))

-- Representations in this MIB Module of a network-prefix
-- for an ATM address use the data type:

NetPrefix ::= OCTET STRING (SIZE (8 | 13))

-- in both the AtmAddress2 and NetPrefix conventions, non-NSAP-encoded E.164
-- addresses are represented as 8 octets using the format specified in
-- section 5.1.3.1.4.
-- In contrast, an NSAP-encoded address is 20 octets, and an
-- NSAP-encoded network
-- prefix is 13 octets long.


------------------------------------------------------------------------
--		Object Identifier definitions

-- The following values are defined for use as possible values 
-- of the atmfPortTransmissionType object.

atmfTransmissionTypes OBJECT IDENTIFIER ::= { atmForumAdmin 2 }

-- unknown transmission type
atmfUnknownType  
		OBJECT IDENTIFIER ::= { atmfTransmissionTypes 1}

-- Sonet STS-3c physical layer at 155.52 Mbps 
atmfSonetSTS3c	
		OBJECT IDENTIFIER ::= { atmfTransmissionTypes 2 }

-- DS3 physical layer at 44.736 Mbps
atmfDs3		
		OBJECT IDENTIFIER ::= { atmfTransmissionTypes 3 }

-- 4B/5B encoding physical layer at 100 Mbps
atmf4B5B		
		OBJECT IDENTIFIER ::= { atmfTransmissionTypes 4 }

-- 8B/10B encoding physical layer at 155.52 Mbps 
atmf8B10B		
		OBJECT IDENTIFIER ::= { atmfTransmissionTypes 5 }


-- The following values are defined for use as possible values 
-- of the atmfPortMediaType object.

atmfMediaTypes OBJECT IDENTIFIER ::= { atmForumAdmin 3 }

-- unknown media type
atmfMediaUnknownType  
		OBJECT IDENTIFIER ::= { atmfMediaTypes 1 }

-- Coaxial cable
atmfMediaCoaxCable	
		OBJECT IDENTIFIER ::= { atmfMediaTypes 2 }

-- Single Mode fiber
atmfMediaSingleMode	
		OBJECT IDENTIFIER ::= { atmfMediaTypes 3 }

-- Multi Mode fiber
atmfMediaMultiMode	
		OBJECT IDENTIFIER ::= { atmfMediaTypes 4 }

-- Shielded Twisted Pair
atmfMediaStp	
		OBJECT IDENTIFIER ::= { atmfMediaTypes 5 }

-- Unshielded Twisted Pair
atmfMediaUtp	
		OBJECT IDENTIFIER ::= { atmfMediaTypes 6 }


-- The following values are defined for use as possible values 
-- of the atmfVpcTransmitTrafficDescriptorType, 
-- atmfVpcReceiveTrafficDescriptorType,
-- atmfVccTransmitTrafficDescriptorType and
-- atmfVccReceiveTrafficDescriptorType objects.

atmfTrafficDescrTypes OBJECT IDENTIFIER ::= { atmForumAdmin 4 }

-- The "None" Traffic Descriptor Type
atmfNoDescriptor 
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 1 }

--
atmfPeakRate
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 2 }
-- This type is no longer used

--
-- The No CLP/No SCR Type
atmfNoClpNoScr 
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 3 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameters #2, #3, #4 and #5 are unused

--
-- The CLP without Tagging/No SCR Type
atmfClpNoTaggingNoScr  
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 4 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameter #2 - peak cell rate in cells/second for CLP=0 traffic
-- Parameters #3, #4 and #5 are unused

--
-- The CLP with Tagging/No SCR Type
atmfClpTaggingNoScr
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 5 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameter #2 - peak cell rate in cells/second for 
--	CLP=0 traffic, excess tagged as CLP=1
-- Parameters #3, #4 and #5 are unused

--
-- The SCR/No CLP Type
atmfNoClpScr 
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 6 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameter #2 - sustainable cell rate in cells/second for CLP=0+1 traffic
-- Parameter #3 - maximum burst size in cells
-- Parameters #4 and #5 are unused

--
-- The CLP without Tagging/SCR Type
atmfClpNoTaggingScr
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 7 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameter #2 - sustainable cell rate in cells/second for CLP=0 traffic
-- Parameter #3 - maximum burst size in cells
-- Parameters #4 and #5 are unused

--
-- The CLP with Tagging/SCR Type
atmfClpTaggingScr
		OBJECT IDENTIFIER ::= { atmfTrafficDescrTypes 8 }
-- The use of the parameter vector for this type:
-- Parameter #1 - peak cell rate in cells/second for CLP=0+1 traffic
-- Parameter #2 - sustainable cell rate in cells/second for CLP=0
-- 	traffic, excess tagged as CLP=1
-- Parameter #3 - maximum burst size in cells
-- Parameters #4 and #5 are unused

------------------------------------------------------------------------
--			The MIB groups
atmfPhysicalGroup	OBJECT IDENTIFIER ::= { atmForumUni 1 }
atmfAtmLayerGroup	OBJECT IDENTIFIER ::= { atmForumUni 2 }
atmfAtmStatsGroup	OBJECT IDENTIFIER ::= { atmForumUni 3 }
atmfVpcGroup		OBJECT IDENTIFIER ::= { atmForumUni 4 }
atmfVccGroup		OBJECT IDENTIFIER ::= { atmForumUni 5 }

--  New MIB Groups

atmfAddressGroup        OBJECT IDENTIFIER ::= { atmForumUni 6 }
atmfNetPrefixGroup      OBJECT IDENTIFIER ::= { atmForumUni 7 }

------------------------------------------------------------------------
--			The Physical Port Group
-- This group is mandatory for all UNI devices.
--
-- The Physical Port Table

atmfPortTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmfPortEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"A table of physical layer status and parameter information for the 
		UNI's physical interface."
	::= { atmfPhysicalGroup 1 }

atmfPortEntry OBJECT-TYPE
	SYNTAX		AtmfPortEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"An entry in the table, containing information about the physical layer 
		of a UNI interface."
	INDEX	 { atmfPortIndex }
	::= { atmfPortTable 1 }

AtmfPortEntry ::=
	SEQUENCE {
		atmfPortIndex
			INTEGER,
		atmfPortAddress
			AtmAddress,
		atmfPortTransmissionType
			OBJECT IDENTIFIER,
		atmfPortMediaType
			OBJECT IDENTIFIER,
		atmfPortOperStatus
			INTEGER,
		atmfPortSpecific
			OBJECT IDENTIFIER,
		atmfPortMyIfName 
			DisplayString
	}

atmfPortIndex OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"A unique value which identifies this port. The value of 0 has the 
		special meaning of identifying the local UNI."
	::= { atmfPortEntry 1 }

atmfPortAddress OBJECT-TYPE
	SYNTAX		AtmAddress
	ACCESS		read-only
	STATUS		deprecated
	DESCRIPTION
		"This object should not be implemented except as required for backward 
		compatibility with version 2.0 of the UNI specification. The Address Group, 
		defined as part of the separate Address Registration MIB should be used 
		instead."
	::= { atmfPortEntry 2 }

atmfPortTransmissionType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The transmission type of this port. For example, for a port using the 
		Sonet STS-3c physical layer at 155.52 Mbs, this object would have the 
		Object Identifier value: atmfSonetSTS3c."
	::= { atmfPortEntry 3 }

atmfPortMediaType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of media being used on this port. For example, for a port using 
		coaxial cable, this object would have the Object Identifier value: 
		atmfMediaCoaxCable."
	::= { atmfPortEntry 4 }

atmfPortOperStatus OBJECT-TYPE
	SYNTAX		INTEGER {
				other(1),
				inService(2),
				outOfService(3),
				loopBack(4)
			}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The operational (i.e., actual) state of this port.
		The ILMI should not alarm on a physical interface for when the value of this 
		object is outOfService(3). This capability is useful if equipment is to be 
		disconnected, or for troubleshooting purposes.
		A value of loopBack(4) indicates that a local loopback is in place. "
	::= { atmfPortEntry 5 }

atmfPortSpecific  OBJECT-TYPE
	SYNTAX    OBJECT IDENTIFIER
	ACCESS    read-only
	STATUS    mandatory
	DESCRIPTION
		"This object 'points' to additional transmission and/or media specific 
		information relating to this port. In particular, this object's value 
		is the name of a specific instance of the first columnar object of a MIB 
		table with such additional information, where the specific instance is the 
		one which corresponds to this port.
		For example, for a DS3 interface, this object would contain the value, as 
		defined in RFC 1407:
			dsx3LineIndex.i
		where i would be the integer value uniquely identifying the DS3 interface 
		corresponding to this port.  If no additional transmission and/or media 
		specific information is available, this object has the value { 0 0 }."
	::= { atmfPortEntry 6 }

atmfPortMyIfName  OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"A textual name of this interface. If this systme is manageable through
		SNMP, and supports the object ifName, the value of this object must be
		identical with that of ifName for the ifEntry of the lowest level physical
		interface for this port. This interface must be uniquely names on this system
		to distinguish parallel links with a neighboring system. If this interface
		does not have a textual name, the value of this object is a zero length
		string."
	::= { atmfPortEntry 7 }


------------------------------------------------------------------------
 
-- Note: Typical UME will support only one of the following two objects

atmfMyIpNmAddress  OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"An IP Address to which a Network Management Station can send Network
		Management protocol, e.g. SNMP messages to UDP port 161, in order to
		access network management information concerning the operation of the
		ATM devide local to this UME."
	::= { atmfPhysicalGroup 2 }

-- atmfMyOsiNmNsapAddress  OBJECT-TYPE
-- 	SYNTAX		NsapAddress
-- 	ACCESS		read-only
-- 	STATUS		mandatory
--	DESCRIPTION
--		"An NSAP Address to which a Network Management Station can send Network
-- 		Management protocol messages in order to access network management 
--		information concerning the operation of the ATM devide local to this UME."
--	::= { atmfPhysicalGroup 3 }



------------------------------------------------------------------------
--			The ATM Layer Group
-- This group is mandatory for all UNI devices.
--
-- ATM-layer specific information for the UNI interface

atmfAtmLayerTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmfAtmLayerEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"A table of ATM layer status and parameter information for the UNI's 
		physical interface."
	::= { atmfAtmLayerGroup 1 }

atmfAtmLayerEntry OBJECT-TYPE
	SYNTAX		AtmfAtmLayerEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"An entry in the table, containing information about the ATM layer of a UNI 
		interface."
	INDEX	 { atmfAtmLayerIndex }
	::= { atmfAtmLayerTable 1 }

AtmfAtmLayerEntry ::=
	SEQUENCE {
		atmfAtmLayerIndex
			INTEGER,
		atmfAtmLayerMaxVPCs
			INTEGER,
		atmfAtmLayerMaxVCCs
			INTEGER,
		atmfAtmLayerConfiguredVPCs
			INTEGER,
		atmfAtmLayerConfiguredVCCs
			INTEGER,
		atmfAtmLayerMaxVpiBits
			INTEGER,
		atmfAtmLayerMaxVciBits
			INTEGER,
		atmfAtmLayerUniType
			INTEGER,
		atmfAtmLayerUniVersion
			INTEGER
	}

atmfAtmLayerIndex OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The unique value which identifies the UNI port. The value of 0 has the 
		special meaning of identifying the local UNI."
	::= { atmfAtmLayerEntry 1 }

atmfAtmLayerMaxVPCs OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The maximum number of switched and permanent VPCs supported on this UNI."
	::= { atmfAtmLayerEntry 2 }

atmfAtmLayerMaxVCCs OBJECT-TYPE
	SYNTAX		INTEGER (0..16777215)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The maximum number of switched and permanent VCCs supported on this UNI."
	::= { atmfAtmLayerEntry 3 }

atmfAtmLayerConfiguredVPCs OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The number of permanent VPCs configured for use on this UNI."
	::= { atmfAtmLayerEntry 4 }

atmfAtmLayerConfiguredVCCs OBJECT-TYPE
	SYNTAX		INTEGER (0..16777215)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The number of permanent VCCs configured for use on this UNI."
	::= { atmfAtmLayerEntry 5 }

atmfAtmLayerMaxVpiBits OBJECT-TYPE
	SYNTAX		INTEGER (0..8)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The number of active VPI bits on this interface."
	::= {atmfAtmLayerEntry 6 }

atmfAtmLayerMaxVciBits OBJECT-TYPE
	SYNTAX		INTEGER (0..16)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The number of active VCI bits on this interface."
	::= {atmfAtmLayerEntry 7 }

atmfAtmLayerUniType OBJECT-TYPE
	SYNTAX		INTEGER {public(1), private(2)}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of the ATM UNI, either public or private."
	::= { atmfAtmLayerEntry 8 }

atmfAtmLayerUniVersion OBJECT-TYPE
	SYNTAX		INTEGER {
				version2point0(1),
				version3point0(2),
				version3point1(3)
			}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"An indication of the latest version of the ATM Forum UNI Specification 
		that is supported on this UNI. If this value is not present, a version
		of the UNI earlier than 3.1 is supported. If a value greated than 
		version3point1 is persent, then UNI 3.1 communication should be attempt.

		If the peer UNE's value of this object is the same as, or later than the
		local UME's value, then the version corresponding to the local UME's
		value should be attempted. Otherwise, if the peer UME's value of this 
		object is earlier, and supported locally, then the local UME should attempt 
		the version corresponding to the peer UME's value. Otherwise, compatability 
		of the two UMEs cannot be assumed."
	::= { atmfAtmLayerEntry 9 }

------------------------------------------------------------------------
--			The ATM Statistics Group
-- This group is optional. However, if any objects in this group 
-- are supported, then all objects in the group must be supported. 
--
-- ATM-layer statistics for the UNI interface

atmfAtmStatsTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmfAtmStatsEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"A table of ATM layer statistics information for
		the UNI's physical interface."
	::= { atmfAtmStatsGroup 1 }

atmfAtmStatsEntry OBJECT-TYPE
	SYNTAX		AtmfAtmStatsEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"An entry in the table, containing statistics for the ATM layer of a 
		UNI interface."
	INDEX	 { atmfAtmStatsIndex }
	::= { atmfAtmStatsTable 1 }

AtmfAtmStatsEntry ::=
	SEQUENCE {
		atmfAtmStatsIndex
			INTEGER,
		atmfAtmStatsReceivedCells
			Counter,
		atmfAtmStatsDroppedReceivedCells
			Counter,
		atmfAtmStatsTransmittedCells
			Counter
	}
atmfAtmStatsIndex OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The unique value which identifies the UNI port. The value of 0 has the 
		special meaning of identifying the local UNI."
	::= { atmfAtmStatsEntry 1 }

atmfAtmStatsReceivedCells OBJECT-TYPE
	SYNTAX		Counter
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The accumulated number of  ATM cells received on this UNI which were 
		assigned and not dropped."
	::= { atmfAtmStatsEntry 2 }

atmfAtmStatsDroppedReceivedCells OBJECT-TYPE
	SYNTAX		Counter
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The accumulated number of ATM cells which were dropped for the reasons 
		defined in section 4.4.4.2."
	::= { atmfAtmStatsEntry 3 }

atmfAtmStatsTransmittedCells OBJECT-TYPE
	SYNTAX		Counter
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The accumulated number of assigned ATM cells which were transmitted across 
		this interface."
	::= { atmfAtmStatsEntry 4 }


------------------------------------------------------------------------
--			The Virtual Path Group
-- This group is mandatory for all UNI devices.
--
-- Information concerning Virtual Path Connections

atmfVpcTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmfVpcEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"A table of status and parameter information on the virtual path connections 
		which cross this UNI. These is one entry in this table for each permanent
		virtual path connection."
	::= { atmfVpcGroup 1 }

atmfVpcEntry OBJECT-TYPE
	SYNTAX		AtmfVpcEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"An entry in the table, containing information about a particular virtual path 
		connection."
	INDEX	 { atmfVpcPortIndex, atmfVpcVpi }
	::= { atmfVpcTable 1 }

AtmfVpcEntry ::=
	SEQUENCE {
		atmfVpcPortIndex
			INTEGER,
		atmfVpcVpi
			INTEGER,
		atmfVpcOperStatus
			INTEGER,
		atmfVpcTransmitTrafficDescriptorType
			OBJECT IDENTIFIER, 
		atmfVpcTransmitTrafficDescriptorParam1
			INTEGER,
		atmfVpcTransmitTrafficDescriptorParam2
			INTEGER,
		atmfVpcTransmitTrafficDescriptorParam3
			INTEGER,
		atmfVpcTransmitTrafficDescriptorParam4
			INTEGER,
		atmfVpcTransmitTrafficDescriptorParam5
			INTEGER,
		atmfVpcReceiveTrafficDescriptorType
			OBJECT IDENTIFIER, 
		atmfVpcReceiveTrafficDescriptorParam1
			INTEGER,
		atmfVpcReceiveTrafficDescriptorParam2
			INTEGER,
		atmfVpcReceiveTrafficDescriptorParam3
			INTEGER,
		atmfVpcReceiveTrafficDescriptorParam4
			INTEGER,
		atmfVpcReceiveTrafficDescriptorParam5
			INTEGER,
		atmfVpcQoSCategory
			INTEGER,
		atmfVpcTransmitQoSClass
			INTEGER,
		atmfVpcReceiveQoSClass
			INTEGER
	}

atmfVpcPortIndex OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The unique value which identifies the UNI port. The value of 0 has the 
		special meaning of identifying the local UNI."
	::= { atmfVpcEntry 1 }

atmfVpcVpi OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The VPI value of this Virtual Path Connection at the local UNI."
	::= { atmfVpcEntry 2 }

atmfVpcOperStatus OBJECT-TYPE
	SYNTAX INTEGER {
			unknown(1),
			end2endUp(2),
			end2endDown(3),
			localUpEnd2endUnknown(4),
			localDown(5)
		}
	ACCESS 		read-only
	STATUS 		mandatory
	DESCRIPTION
		"The present actual operational status of the VPC.

		A value of end2endUp(2) or end2endDown(3) would be used if the end-to-end 
		status is known. If only local status information is available, a value of 
		localUpEnd2endUnknown(4) or localDown(5) would be used."
		::= { atmfVpcEntry 3 }

atmfVpcTransmitTrafficDescriptorType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of traffic management, applicable to the transmit direction of 
		this VPC. The type may indicate none, or a type with one or more parameters. 
		These parameters are specified as a parameter vector, in the corresponding 
		instances of the objects: 
		atmfVpcTransmitTrafficDescriptorParam1, 
		atmfVpcTransmitTrafficDescriptorParam2, 
		atmfVpcTransmitTrafficDescriptorParam3, 
		atmfVpcTransmitTrafficDescriptorParam4, and 
		atmfVpcTransmitTrafficDescriptorParam5."
	::= { atmfVpcEntry 4 }

atmfVpcTransmitTrafficDescriptorParam1 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The first parameter of the transmit parameter vector for this VPC, used 
		according to the value of atmfVpcTransmitTrafficDescriptorType."
	::= { atmfVpcEntry 5 }

atmfVpcTransmitTrafficDescriptorParam2 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The second parameter of the transmit parameter vector for this VPC, used 
		according to the value of atmfVpcTransmitTrafficDescriptorType."
	::= { atmfVpcEntry 6 }

atmfVpcTransmitTrafficDescriptorParam3 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The third parameter of the transmit parameter vector for this VPC, used 
		according to the value of atmfVpcTransmitTrafficDescriptorType."
	::= { atmfVpcEntry 7 }

atmfVpcTransmitTrafficDescriptorParam4 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fourth parameter of the transmit parameter vector for this VPC, used 
		according to the value of atmfVpcTransmitTrafficDescriptorType."
	::= { atmfVpcEntry 8 }

atmfVpcTransmitTrafficDescriptorParam5 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fifth parameter of the transmit parameter vector for this VPC, used 
		according to the value of atmfVpcTransmitTrafficDescriptorType."
	::= { atmfVpcEntry 9 }

atmfVpcReceiveTrafficDescriptorType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of traffic management, applicable to the traffic in the receive 
		direction of this VPC. The type may indicate none, or a type with one or 
		more parameters. These parameters are specified as a parameter vector, in 
		the corresponding instances of the objects: 
		atmfVpcReceiveTrafficDescriptorParam1, 
		atmfVpcReceiveTrafficDescriptorParam2, 
		atmfVpcReceiveTrafficDescriptorParam3, 
		atmfVpcReceiveTrafficDescriptorParam4, and 
		atmfVpcReceiveTrafficDescriptorParam5."
	::= { atmfVpcEntry 10 }

atmfVpcReceiveTrafficDescriptorParam1 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The first parameter of the receive parameter vector for this VPC, used 
		according to the value of atmfVpcReceiveTrafficDescriptorType."
	::= { atmfVpcEntry 11 }

atmfVpcReceiveTrafficDescriptorParam2 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The second parameter of the receive parameter vector for this VPC, used 
		according to the value of atmfVpcReceiveTrafficDescriptorType."
	::= { atmfVpcEntry 12 }

atmfVpcReceiveTrafficDescriptorParam3 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The third parameter of the receive parameter vector for this VPC, used 
		according to the value of atmfVpcReceiveTrafficDescriptorType."
	::= { atmfVpcEntry 13 }

atmfVpcReceiveTrafficDescriptorParam4 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fourth parameter of the receive parameter vector for this VPC, used 
		according to the value of atmfVpcReceiveTrafficDescriptorType."
	::= { atmfVpcEntry 14 }

atmfVpcReceiveTrafficDescriptorParam5 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fifth parameter of the receive parameter vector for this VPC, used 
		according to the value of atmfVpcReceiveTrafficDescriptorType."
	::= { atmfVpcEntry 15 }

atmfVpcQoSCategory OBJECT-TYPE
	SYNTAX		INTEGER { 
				other(1),
				deterministic (2),
				statistical (3),
				unspecified (4)
			}
	ACCESS		read-only
	STATUS		deprecated
	DESCRIPTION
		"This object should not be implemented except as required for backward 
		compatibility with version 2.0 of the UNI specification."
	::= { atmfVpcEntry 16 }

atmfVpcTransmitQoSClass  OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS 		mandatory
	DESCRIPTION
		"The QoS Class, as defined in section 4 of  Appendix A, for the transmit 
		direction of this VPC connection at the local UNI." 
	::= { atmfVpcEntry 17 }

atmfVpcReceiveQoSClass  OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The QoS Class, as defined in section 4 of Appendix A, for the receive 
		direction of this VPC connection at the local UNI." 
	::= { atmfVpcEntry 18 }

------------------------------------------------------------------------
--			The Virtual Channel Group
-- This group is mandatory for all UNI devices.
--
-- Information concerning Virtual Channel Connections

atmfVccTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmfVccEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"A table of status and parameter information on the virtual channel 
		connections which are visible at this UNI. There is one entry in this 
		table for each permanent virtual channel connection, including reserved 
		VCC that are supported: e.g., signalling, OAM flows, and ILMI, but not 
		unassigned cells."
	::= { atmfVccGroup 1 }

atmfVccEntry OBJECT-TYPE
	SYNTAX		AtmfVccEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"An entry in the table, containing information about a particular virtual 
		channel connection."
	INDEX	 { atmfVccPortIndex, atmfVccVpi, atmfVccVci }
	::= { atmfVccTable 1 }

AtmfVccEntry ::=
	SEQUENCE {
		atmfVccPortIndex
			INTEGER,
		atmfVccVpi
			INTEGER,
		atmfVccVci
			INTEGER,
		atmfVccOperStatus
			INTEGER,
		atmfVccTransmitTrafficDescriptorType
			OBJECT IDENTIFIER, 
		atmfVccTransmitTrafficDescriptorParam1
			INTEGER,
		atmfVccTransmitTrafficDescriptorParam2
			INTEGER,
		atmfVccTransmitTrafficDescriptorParam3
			INTEGER,
		atmfVccTransmitTrafficDescriptorParam4
			INTEGER,
		atmfVccTransmitTrafficDescriptorParam5
			INTEGER,
		atmfVccReceiveTrafficDescriptorType
			OBJECT IDENTIFIER, 
		atmfVccReceiveTrafficDescriptorParam1
			INTEGER,
		atmfVccReceiveTrafficDescriptorParam2
			INTEGER,
		atmfVccReceiveTrafficDescriptorParam3
			INTEGER,
		atmfVccReceiveTrafficDescriptorParam4
			INTEGER,
		atmfVccReceiveTrafficDescriptorParam5
			INTEGER,
		atmfVccQoSCategory
			INTEGER,
		atmfVccTransmitQoSClass
			INTEGER,
		atmfVccReceiveQoSClass
			INTEGER
	}

atmfVccPortIndex OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The unique value which identifies the UNI port. The value of 0 has the 
		special meaning of identifying the local UNI."
	::= { atmfVccEntry 1 }

atmfVccVpi OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The VPI value of this Virtual Channel Connection at the local UNI."
	::= { atmfVccEntry 2 }

atmfVccVci OBJECT-TYPE
	SYNTAX		INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The VCI value of this Virtual Channel Connection at the local UNI."
	::= { atmfVccEntry 3 }

atmfVccOperStatus OBJECT-TYPE
	SYNTAX INTEGER {
			unknown(1), 
			end2endUp(2), 
			end2endDown(3), 
			localUpEnd2endUnknown(4),
			localDown(5)
			}
	ACCESS 	read-only
	STATUS 	mandatory
	DESCRIPTION
		"The present actual operational status of the VCC. A value of end2endUp(2) 
		or end2endUp(3) is used if the end to end status is known.

		If only local status is known a value of localUpEnd2endUnknown(4) or 
		localDown(5) is used."
	::= { atmfVccEntry 4 }

atmfVccTransmitTrafficDescriptorType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of traffic management, applicable to the transmit direction of 
		this VCC. The type may indicate none, or a type with one or more parameters. 
		These parameters are specified as a parameter vector, in the corresponding 
		instances of the objects: 
		atmfVccTransmitTrafficDescriptorParam1, 
		atmfVccTransmitTrafficDescriptorParam2, 
		atmfVccTransmitTrafficDescriptorParam3, 
		atmfVccTransmitTrafficDescriptorParam4, and 
		atmfVccTransmitTrafficDescriptorParam5."
	::= { atmfVccEntry 5 }

atmfVccTransmitTrafficDescriptorParam1 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The first parameter of the transmit parameter vector for this VCC, used 
		according to the value of atmfVccTransmitTrafficDescriptorType."
	::= { atmfVccEntry 6 }

atmfVccTransmitTrafficDescriptorParam2 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The second parameter of the transmit parameter vector for this VCC, used 
		according to the value of atmfVccTransmitTrafficDescriptorType."
	::= { atmfVccEntry 7 }

atmfVccTransmitTrafficDescriptorParam3 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The third parameter of the transmit parameter vector for this VCC, used 
		according to the value of atmfVccTransmitTrafficDescriptorType."
	::= { atmfVccEntry 8 }

atmfVccTransmitTrafficDescriptorParam4 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fourth parameter of the transmit parameter vector for this VCC, used 
		according to the value of atmfVccTransmitTrafficDescriptorType."
	::= { atmfVccEntry 9 }

atmfVccTransmitTrafficDescriptorParam5 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fifth parameter of the transmit parameter vector for this VCC, used 
		according to the value of atmfVccTransmitTrafficDescriptorType."
	::= { atmfVccEntry 10 }

atmfVccReceiveTrafficDescriptorType OBJECT-TYPE
	SYNTAX		OBJECT IDENTIFIER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The type of traffic management, applicable to the traffic in the receive 
		direction of this VCC. The type may indicate none, or a type with one or 
		more parameters. 
		These parameters are specified as a parameter vector, in the corresponding 
		instances of the objects: 
		atmfVccReceiveTrafficDescriptorParam1, 
		atmfVccReceiveTrafficDescriptorParam2, 
		atmfVccReceiveTrafficDescriptorParam3, 
		atmfVccReceiveTrafficDescriptorParam4, and 
		atmfVccReceiveTrafficDescriptorParam5."
	::= { atmfVccEntry 11 }

atmfVccReceiveTrafficDescriptorParam1 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The first parameter of the receive parameter vector for this VCC, used 
		according to the value of atmfVccReceiveTrafficDescriptorType."
	::= { atmfVccEntry 12 }

atmfVccReceiveTrafficDescriptorParam2 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The second parameter of the receive parameter vector for this VCC, used 
		according to the value of atmfVccReceiveTrafficDescriptorType."
	::= { atmfVccEntry 13 }

atmfVccReceiveTrafficDescriptorParam3 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The third parameter of the receive parameter vector for this VCC, used 
		according to the value of atmfVccReceiveTrafficDescriptorType."
	::= { atmfVccEntry 14 }

atmfVccReceiveTrafficDescriptorParam4 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fourth parameter of the receive parameter vector for this VCC, used 
		according to the value of atmfVccReceiveTrafficDescriptorType."
	::= { atmfVccEntry 15 }

atmfVccReceiveTrafficDescriptorParam5 OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The fifth parameter of the receive parameter vector for this VCC, used 
		according to the value of atmfVccReceiveTrafficDescriptorType."
	::= { atmfVccEntry 16 }

atmfVccQoSCategory OBJECT-TYPE
	SYNTAX		INTEGER { 
				other(1),
				deterministic (2),
				statistical (3),
				unspecified (4)
			}
	ACCESS		read-only
	STATUS		deprecated
	DESCRIPTION
		"This object should not be implemented except as required for backward 
		compatibility with version 2.0 of the UNI specification."
	::= { atmfVccEntry 17 }

 atmfVccTransmitQoSClass  OBJECT-TYPE
	SYNTAX		INTEGER (0..255)
	ACCESS		read-only
	STATUS 		mandatory
	DESCRIPTION
		"The QoS Class, as defined in section 4 of Appendix A, for the transmit 
		direction of this VCC connection at the local UNI."
	::= { atmfVccEntry 18 }

atmfVccReceiveQoSClass  OBJECT-TYPE
	SYNTAX		 INTEGER (0..255)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The QoS Class, as defined in section 4 of Appendix A, for the receive 
		direction of this VCC connection at the local UNI."
	::= { atmfVccEntry 19 }


------------------------------------------------------------------------
--                  The Network Prefix Table
--
-- The Network Prefix Table is implemented by the UNI Management
-- Entity on the user-side of the UNI

atmfNetPrefixTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AtmfNetPrefixEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "A table implemented by the UNI Management Entity on the user-side of an 
	        ATM UNI port, containing the network-prefix(es) for ATM-layer addresses 
		in effect on the user-side of the UNI."
        ::= { atmfNetPrefixGroup 1 }

atmfNetPrefixEntry OBJECT-TYPE
        SYNTAX  AtmfNetPrefixEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "Information about a single network-prefix for ATM-layer addresses in
		effect on the user-side of a UNI port.  Note that the index variable
		atmfNetPrefixPrefix is a variable-length string, and as such the rule 
		for variable-length strings in section 4.1.6 of RFC 1212 applies."
        INDEX   { atmfNetPrefixPort, atmfNetPrefixPrefix }
        ::= { atmfNetPrefixTable 1 }

AtmfNetPrefixEntry ::=
        SEQUENCE {
                atmfNetPrefixPort       INTEGER,
                atmfNetPrefixPrefix     NetPrefix,
                atmfNetPrefixStatus     INTEGER
        }

atmfNetPrefixPort OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "A unique value which identifies the UNI port for which the network 
		prefix for ATM addresses is in effect.  The value of 0 has the special 
		meaning of identifying the local UNI."
        ::= { atmfNetPrefixEntry 1 }

atmfNetPrefixPrefix  OBJECT-TYPE
        SYNTAX  NetPrefix
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "The network prefix for ATM addresses which is in effect on the 
		user-side of the ATM UNI port."
        ::= { atmfNetPrefixEntry 2 }

atmfNetPrefixStatus  OBJECT-TYPE
        SYNTAX  INTEGER { 
			valid(1), 
			invalid(2) 
		}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        	"An indication of the validity of the network prefix for ATM addresses 
		on the user-side of the UNI port.  To configure a new network prefix in 
		this table, the network-side must set the appropriate instance of this 
		object to the value valid(1).
		To delete an existing network prefix in this table, the network-side
		must set the appropriate instance of this object to the value invalid(2).

	        If circumstances occur on the user-side which cause a prefix to become 
		invalid, the user-side modifies the value of the appropriate instance of 
		this object to invalid(2).

	        Whenever the value of this object for a particular prefix becomes invalid(2), 
		the conceptual row for that prefix may be removed from the table at anytime, 
		either immediately or subsequently."
        ::= { atmfNetPrefixEntry 3 }

------------------------------------------------------------------------
--                     The Address Table
--
-- The Address Table is implemented by the UNI Management Entity
-- on the network-side of the UNI

atmfAddressTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AtmfAddressEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "A table implemented by the network-side of an ATM UNI port, containing the
		ATM-layer addresses in effect on the user-side of the UNI."
        ::= { atmfAddressGroup 1 }

atmfAddressEntry OBJECT-TYPE
        SYNTAX  AtmfAddressEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "Information about a single ATM-layer address in effect on the user-side 
		of a UNI port.  Note that the index variable atmfAddressAtmAddress is a 
		variable-length string, and as such the rule for variable-length strings 
		in section 4.1.6 of RFC 1212 applies."
        INDEX   { atmfAddressPort, atmfAddressAtmAddress }
        ::= { atmfAddressTable 1 }

AtmfAddressEntry ::=
        SEQUENCE {
                atmfAddressPort         INTEGER,
                atmfAddressAtmAddress   AtmAddress2,
                atmfAddressStatus       INTEGER
        }

atmfAddressPort OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "A unique value which identifies the UNI port for which the ATM address is 
		in effect.  The value of 0 has the special meaning of identifying the local 
		UNI."
        ::= { atmfAddressEntry 1 }

atmfAddressAtmAddress  OBJECT-TYPE
        SYNTAX  AtmAddress2
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
	        "The ATM address which is in effect on the user-side of the ATM UNI port."
        ::= { atmfAddressEntry 2 }

atmfAddressStatus  OBJECT-TYPE
        SYNTAX  INTEGER { 
			valid(1), 
			invalid(2) 
		}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
	        "An indication of the validity of the ATM address at the user-side of
		the UNI port.  To configure a new address in this table, the user-side 
		must set the appropriate instance of this object to the value valid(1).  
		To delete an existing address in this able, the user-side must set the 
		appropriate instance of this object to the value invalid(2).

	        If circumstances occur on the network-side which cause an address to 
		become invalid, the network-side modifies the value of the appropriate
		instance of this object to invalid(2).

	        Whenever the value of this object for a particular address becomes 
		invalid(2), the conceptual row for that address may be removed from the 
		table at anytime, either immediately or subsequently."
        ::= { atmfAddressEntry 3 }

END
