-- *********************************************************************
-- *********************************************************************
-- ** Filename: PRVT-SWITCH-FIB-MIB
-- ** Project: T - Ethernet and Fast Ethernet IP Switches.
-- ** Purpose: Private MIB
-- *********************************************************************
-- (c) Copyright, 2001, BATM Advanced Communications. All rights reserved.
-- WARNING:
--
-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
--
-- This file is the property of BATM Advanced Communications.
-- BATM Advanced Communications retains all title and
-- ownership in the Specification, including any revisions.

-- BATM Advanced Communications grants all interested parties a non-exclusive
-- license to use and distribute an unmodified copy of this
-- Specification in connection with management of BATM Advanced Communications 
-- and Telco Systemsproducts, and without fee, provided that the following
-- conditions are met:
-- 1. Redistributions of this specification must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
-- 2. Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
-- 3. The name of the BATM Advanced Communications MAY NOT be used to endorse
-- or promote products derived from this specification without specific prior written
-- permission.
--
-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
-- WARRANTY, THE SPECIFICATIONS CONTAINED IN THIS FILE ARE
-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
-- INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
-- TO USE, THE SPECIFICATION CONTAINED IN THIS FILE.
-- *********************************************************************


PRVT-SWITCH-FIB-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
        FROM SNMPv2-SMI
    RowStatus, TruthValue, DisplayString, TEXTUAL-CONVENTION, MacAddress
        FROM SNMPv2-TC
    NOTIFICATION-GROUP
    	FROM SNMPv2-CONF
    ipNetToMediaIfIndex,ipNetToMediaPhysAddress,ipNetToMediaNetAddress 
    	FROM RFC1213-MIB

    ipSwitch   FROM PRVT-SWITCH-MIB;  


    prvtSwitchFIBMib MODULE-IDENTITY
    LAST-UPDATED "200801010000Z"
    ORGANIZATION "BATM Advanced Communication"
    CONTACT-INFO
        "BATM/Telco Systems Support team
				Email: 
				For North America: techsupport@telco.com
				For North Europe: support@batm.de, info@batm.de
				For the rest of the world: techsupport@telco.com"

    DESCRIPTION
        "The FIB MIB module controls the IP forwarding database 
        in L3 switches."

    -- revision history    
         REVISION     "200801010000Z"
     	 DESCRIPTION
		"Removed redefined OIDs in private vendor extension definitions." 
    REVISION     "200502180000Z"
	DESCRIPTION
					"Correction of the object descriptions." 
					
	REVISION     "200305080000Z"
	DESCRIPTION
					"Move to SMI-V2."

    REVISION     "200205210959Z"
    DESCRIPTION
        "Add new IP trap"

    REVISION     "200101210959Z"
    DESCRIPTION
        "Initial version."

    ::= { ipSwitch 3 }


    prvtSwitchFIBNotifications  OBJECT IDENTIFIER ::= { prvtSwitchFIBMib 0 }
    fib OBJECT IDENTIFIER ::= { prvtSwitchFIBMib 1 }
    prvtSwitchFIBConformance    OBJECT IDENTIFIER ::= { prvtSwitchFIBMib 3 }

    fibTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FibEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
        "This table controls the IP forwarding database."
	::= { fib 1 }

    fibEntry OBJECT-TYPE
	SYNTAX	FibEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	    ""
    INDEX { fibIP , fibMask }
	::= { fibTable 1 }

    FibEntry ::= SEQUENCE {
        fibIP             IpAddress,
        fibMask           IpAddress,
        fibProtocol       INTEGER,
        fibNextHop        IpAddress,
        fibNextHopMac     MacAddress,
	fibVID            INTEGER,
        fibOutPort        INTEGER,
        fibPriority       INTEGER,
        fibDiscardabilty  INTEGER,
        fibDSCP           OCTET STRING,
        fibRowStatus      RowStatus
    }

    fibIP OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object identifies the name of the IP address of the FIB entry."
    ::= { fibEntry 1 }

    fibMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object identifies the IP address mask of the FIB entry."
    ::= { fibEntry 2 }

    fibProtocol OBJECT-TYPE
    SYNTAX INTEGER {
	    other (1),
	    direct (2),
	    static (3),
	    icmp (4),
	    egp (5),
	    ggp (6),
	    hello (7),
	    rip (8),
	    ospf (13),
	    bgp (14),
	    arp (15),
	    remote (16),
	    unknown (100)
	    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object identifies the IP address learning protocol type of the FIB entry."
    ::= { fibEntry 3 }

    fibNextHop OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the next hop IP address of the FIB entry."
    ::= { fibEntry 4 }

    fibNextHopMac OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the next hop MAC address of the FIB entry."
    ::= { fibEntry 5 }

    fibVID OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the VLAN ID of the FIB entry."
    ::= { fibEntry 6 }

    fibOutPort OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the output interface number of the FIB entry."
    ::= { fibEntry 7 }

    fibPriority OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the FIB entry priority."
    ::= { fibEntry 8 }

    fibDiscardabilty OBJECT-TYPE
    SYNTAX INTEGER {
      discard (1),
      nondiscard (0)
      }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the FIB entry discardabilty."
    ::= { fibEntry 9 }

    fibDSCP OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object identifies the FIB entry DSCP."
    ::= { fibEntry 10 }

    fibRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object indicates the row status, and enables creation & deletion of 
        rows in this table. See SNMPv2-TC for more information."
    ::= { fibEntry 11 }

    newIP  NOTIFICATION-TYPE
         OBJECTS { ipNetToMediaIfIndex,ipNetToMediaPhysAddress,ipNetToMediaNetAddress }
         STATUS current
         DESCRIPTION
         "The newIP trap indicates that a new IP address was learnt by the switch
          in ifIndex ipNetToMediaIfIndex and a MAC address - in ipNetToMediaPhysAddress.
	 	  The IP address is given by ipNetToMediaNetAddress."
         ::= { prvtSwitchFIBNotifications 1}

-- *******************************************************************
--  Conformance Information
-- *******************************************************************

    prvtSwitchFIBMIBGroups       OBJECT IDENTIFIER ::= { prvtSwitchFIBConformance 2 }


    prvtSwitchFIBNotificationGroup NOTIFICATION-GROUP
    	NOTIFICATIONS {
    		newIP
    	}
	STATUS current
     	DESCRIPTION
        	"Private Notification Group."
     ::= { prvtSwitchFIBMIBGroups 3 }
END

