-- SWL3MGMT MIB Ver 0.02                           2002/07/30
--
-- 
-- Modified swL3IpFdbInfoTable  
-- Modified swL3IpDomainMgmt to swL3IpCtrlMgmt
-- Removed swL3IpFilterMgmt
-- SWL3MGMT MIB Ver 0.01                           2000/07/05

SWL3MGMT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        Counter32,MODULE-IDENTITY,OBJECT-TYPE,IpAddress,
        NOTIFICATION-TYPE
                                                  FROM SNMPv2-SMI
        PhysAddress,DisplayString,RowStatus,
        TruthValue       
                                                  FROM SNMPv2-TC
        privateMgmt     	                      FROM SWPRIMGMT-MIB;

    swL3MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "0007150000Z"
	    ORGANIZATION "enterprise, Inc."
	    CONTACT-INFO
	        "   Customer Service

		    Postal: 

		       Tel: 

		    E-mail: "
	    DESCRIPTION
		    "The Structure of Layer 3 Network Management Information for the
		    proprietary enterprise."
        ::= { privateMgmt 3 }

    NodeAddress             ::= OCTET STRING (SIZE(6))
    NetAddress              ::= OCTET STRING (SIZE(4))


    swL3DevMgmt             OBJECT IDENTIFIER ::= { swL3MgmtMIB 1 }
    swL3IpMgmt              OBJECT IDENTIFIER ::= { swL3MgmtMIB 2 }


    swL3IpCtrlMgmt          OBJECT IDENTIFIER ::= { swL3IpMgmt 1 }
    swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }
--  swL3IpFilterMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 3 }


-- ********************************************************************
--  swL3DevMgmt             OBJECT IDENTIFIER ::= { swL3MgmtMIB 1 }
-- ********************************************************************

    swL3DevCtrl             OBJECT IDENTIFIER ::= { swL3DevMgmt 1 }

    swL3DevCtrlRIPState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates Routing Information Protocol (RIP) 
            version 2 function is enabled or disabled."
        ::= { swL3DevCtrl 1 }
        
    swL3DevCtrlDVMRPState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DVMRP protocol is enabled or disabled."
        ::= { swL3DevCtrl 2 }
        

    swL3DevCtrlPIMDMState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates PIM-DM protocol is enabled or disabled."
        ::= { swL3DevCtrl 3 }


-- ********************************************************************
--  swL3IpCtrlMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 1 }
-- ********************************************************************

    swL3IpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3IpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contain IP interface information."
        ::= { swL3IpCtrlMgmt 1 }

    swL3IpCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3IpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about a specific IP interface."
        INDEX  { swL3IpCtrlIpAddr }
        ::= { swL3IpCtrlTable 1 }

    SwL3IpCtrlEntry ::= 
        SEQUENCE {
            swL3IpCtrlIpAddr
                IpAddress,
            swL3IpCtrlIfIndex
                INTEGER,
            swL3IpCtrlInterfaceName
                DisplayString,
            swL3IpCtrlIpSubnetMask
                IpAddress,
            swL3IpCtrlVlanName
                DisplayString,
            swL3IpCtrlMode
                INTEGER,
            swL3IpCtrlSecondary
                TruthValue,
            swL3IpCtrlState
                RowStatus,
            swL3IpCtrlOperState
                INTEGER

        }
        
    swL3IpCtrlIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The IP address of the interface. This object only can take the
            value of the unicast IP address."
        ::= { swL3IpCtrlEntry 1 }

    swL3IpCtrlIfIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object uniquely identifies the IP interface number in the
            swL3IpCtrlTable."
        ::= { swL3IpCtrlEntry 2 }
        
    swL3IpCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..12))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the name of the IP interface."
        ::= { swL3IpCtrlEntry 3 }
        
    swL3IpCtrlIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The IP net mask for this interface."
        ::= { swL3IpCtrlEntry 4 }

    swL3IpCtrlVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the IP control entry's VLAN name. The 
            VLAN name in each entry must be unique in the IP Control Table."
        ::= { swL3IpCtrlEntry 5 }

    swL3IpCtrlMode OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                manual(2),
                bootp(3),
                dhcp(4)
                }                
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the IP operation mode. 

            other(1) - this entry is currently in use but the conditions 
                under which it will remain so are different from each of the
                following values.
            manual(2) - the IP address will be set by manual.
            bootp(3) -  the IP address will be set automatically from BOOTP
                server.
            dhcp(4) - the IP address will be set automatically from DHCP
                server."
        ::= { swL3IpCtrlEntry 6 }

    swL3IpCtrlSecondary OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "When this is true(1) the IP address is the secondary IP.  When
            false(2), the IP address is the primary IP."
        ::= { swL3IpCtrlEntry 7 }

    swL3IpCtrlState OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This variable displays the status of the entry. The status used
            for creating, modifying, and deleting instances of the objects 
            in this table."
        ::= { swL3IpCtrlEntry 8 }
               
    swL3IpCtrlOperState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    up(2),
                    down(3)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The current operational state of the IP interface."
        ::= { swL3IpCtrlEntry 9 }
        


-- ********************************************************************
--  swL3IpFdbMgmt           OBJECT IDENTIFIER ::= { swL3IpMgmt 2 }
-- ********************************************************************

    swL3IpFdbInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3IpFdbInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains forwarding and/or filtering information.
            This information is used by the switch in determining how to
            propagate the received IP packets."
        ::= { swL3IpFdbMgmt 1 }

    swL3IpFdbInfoEntry OBJECT-TYPE
        SYNTAX  SwL3IpFdbInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about a specific IP address for which the bridge 
            has some forwarding and/or filtering information."
        INDEX  { swL3IpFdbInfoIpAddr }
        ::= { swL3IpFdbInfoTable 1 }

    SwL3IpFdbInfoEntry ::= 
        SEQUENCE {
--            swL3IpFdbInfoRdIndex
--                INTEGER,
            swL3IpFdbInfoIpAddr
                IpAddress,
            swL3IpFdbInfoIpSubnetMask
                IpAddress,
            swL3IpFdbInfoPort
                INTEGER,
            swL3IpFdbInfoType
                INTEGER
        }

--    swL3IpFdbInfoRdIndex OBJECT-TYPE
--        SYNTAX  INTEGER(0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The object indicates the IP routing domain index, and should 
--            be associated with one of swL3IpDomainStatsIndex."
--        ::= { swL3IpFdbInfoEntry 1 }

    swL3IpFdbInfoIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A IP address for which switch has forwarding and/or filtering
            information."
        ::= { swL3IpFdbInfoEntry 1 }

    swL3IpFdbInfoIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A IP net mask for this interface.for which switch has 
            forwarding and/or filtering information."
        ::= { swL3IpFdbInfoEntry 2 }
        
    swL3IpFdbInfoPort OBJECT-TYPE
        SYNTAX  INTEGER(0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Either the value '0', or the port number of the port on which
            packet having a IP address equal to the value of the 
            corresponding instance of swL3IpFdbInfoIpAddr has been seen. A 
            value of '0' indicates that the port number has not been learned
            but that switch does have some forwarding/filtering information
            about this address."
        ::= { swL3IpFdbInfoEntry 3 }

    swL3IpFdbInfoType OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                static(2),
                dynamic(3)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The status of this entry."            
        ::= { swL3IpFdbInfoEntry 4 }

-- ********************************************************************
--  swL3IpFilterMgmt        OBJECT IDENTIFIER ::= { swL3IpMgmt 3 }
-- ********************************************************************

--  swL3IpFilterAddrConfig  OBJECT IDENTIFIER ::= { swL3IpFilterMgmt 1 }

--  swL3IpFilterAddrMaxSupportedEntries OBJECT-TYPE
--      SYNTAX  INTEGER(0..65535)
--      MAX-ACCESS  read-only
--      STATUS  current
--      DESCRIPTION
--          "Maximum number of entries in the IP address filtering table
--          (swL3IpFilterAddrCtrlTable) ."
--      ::= { swL3IpFilterAddrConfig 1 }

--  swL3IpFilterAddrCurrentTotalEntries OBJECT-TYPE
--      SYNTAX  INTEGER(0..65535)
--      MAX-ACCESS  read-only
--      STATUS  current
--      DESCRIPTION
--          "Current applied number of entries in the IP address filtering
--          table ."
--      ::= { swL3IpFilterAddrConfig 2 }

--  swL3IpFilterAddrCtrlTable OBJECT-TYPE
--      SYNTAX  SEQUENCE OF SwL3IpFilterAddrCtrlEntry
--      MAX-ACCESS  not-accessible
--      STATUS  current
--      DESCRIPTION
--          "This table defines information for the device to filter packets
--          with specific IP address (either as the DA and/or as the SA). 
--          The IP address can be a unicast address or multicast address. 
--          This table has higher priority than both static FDB table and 
--          IGMP table. It means that if a IP address appears on this table
--          also appears on the static FDB table, the device will use the
--          information provide by this table to process the packet."
--      ::= { swL3IpFilterAddrConfig 3 }

--  swL3IpFilterAddrCtrlEntry OBJECT-TYPE
--      SYNTAX  SwL3IpFilterAddrCtrlEntry
--      MAX-ACCESS  not-accessible
--      STATUS  current
--      DESCRIPTION
--          "A list of information about a specific unicast/multicast IP
--          address for which the switch has filtering information."
--      INDEX  { swL3IpFilterAddrIpAddr }
--      ::= { swL3IpFilterAddrCtrlTable 1 }

--  SwL3IpFilterAddrCtrlEntry ::= 
--      SEQUENCE {
--          swL3IpFilterAddrIpAddr
--              IpAddress,
--            swL3IpFilterAddrIpSktGE
--                INTEGER,
--            swL3IpFilterAddrIpSktLE
--                INTEGER,
--          swL3IpFilterAddrCtrlState
--              INTEGER
--      }

--  swL3IpFilterAddrIpAddr OBJECT-TYPE
--      SYNTAX  IpAddress
--      MAX-ACCESS  read-only
--      STATUS  current
--      DESCRIPTION
--          "This object indicates a unicast/multicast IP address for which
--          the switch has filtering information. But if the 
--          swL3IpFilterAddrCtrlState = src-addr, then the object can not be
--          a multicast IP address (Class D IP address)."
--      ::= { swL3IpFilterAddrCtrlEntry 1 }

--    swL3IpFilterAddrIpSktGE OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicates a socket number which the used socket
--            number should be greater than or equal to"
--        ::= { swL3IpFilterAddrCtrlEntry 2 }

--    swL3IpFilterAddrIpSktLE OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicates a socket number which the used socket
--            number should be less than or equal to"
--        ::= { swL3IpFilterAddrCtrlEntry 3 }

--  swL3IpFilterAddrCtrlState OBJECT-TYPE
--      SYNTAX  INTEGER {
--             other(1),
--             dst-addr(2),
--             src-addr(3),
--             dst-src-addr(4),
--             invalid(5)
--             }
--      MAX-ACCESS  read-write
--      STATUS  current
--      DESCRIPTION
--          "This object indicates the status of this entry. 

--          other(1) - this entry is currently in use but the conditions 
--              under which it will remain so are different from each of the
--              following values.
--          dst-addr(2) - recieved frames's destination address are 
--              currently used to be filtered as it meets with the IP 
--              address entry of the table.
--          src-addr(3) - recieved frames's source address are currently 
--              used to be filtered as it meets with the IP address entry of
--              the table.
--          dst-src-addr(4) - recieved frames's destination address or 
--              source address are currently used to be filtered as it meets
--              with the IP address entry of the table.
--          invalid(5) - writing this value to the object, and then the
--              corresponding entry will be removed from the table."
--      ::= { swL3IpFilterAddrCtrlEntry 2 }

    swL3IpStaticRouteTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
        "This entity's IP static Routing table."
        ::= { swL3IpMgmt 4 }

    swL3IpStaticRouteEntry OBJECT-TYPE
        SYNTAX   SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
           "A particular route to  a  particular  destination, under a particular policy."
        INDEX {
            swL3IpStaticRouteDest,
            swL3IpStaticRouteMask,
            swL3IpStaticRouteBkupState
            }
        ::= { swL3IpStaticRouteTable 1 }
    
    SwL3IpStaticRouteEntry ::=
        SEQUENCE {
            swL3IpStaticRouteDest
                IpAddress,
            swL3IpStaticRouteMask
                IpAddress,
            swL3IpStaticRouteBkupState
            	INTEGER,
            swL3IpStaticRouteNextHop
                IpAddress,
            swL3IpStaticRouteMetric
                INTEGER,
            swL3IpStaticRouteStatus
                INTEGER
        }
    
    swL3IpStaticRouteDest OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "The destination IP address of this route.
    
           This object may not take a Multicast (Class  D)
           address value.
    
           Any assignment (implicit or  otherwise)  of  an
           instance  of  this  object to a value x must be
           rejected if the bitwise logical-AND of  x  with
           the  value of the corresponding instance of the
           swL3IpStaticRouteMask object is not equal to x."
        ::= { swL3IpStaticRouteEntry 1 }
    
    swL3IpStaticRouteMask OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
           "Indicate the mask to be logical-ANDed with the
           destination  address  before  being compared to
           the value  in  the  swL3IpStaticRouteDest  field.
           For those  systems  that  do  not support arbitrary
           subnet masks, an agent constructs the value  of
           the  swL3IpStaticRouteMask  by  reference to the IP 
           Address Class.
    
           Any assignment (implicit or  otherwise)  of  an
           instance  of  this  object to a value x must be
           rejected if the bitwise logical-AND of  x  with
           the  value of the corresponding instance of the
           swL3IpStaticRouteDest object is not equal to 
           swL3IpStaticRouteDest."
        ::= { swL3IpStaticRouteEntry 2 }

    swL3IpStaticRouteBkupState OBJECT-TYPE
        SYNTAX   INTEGER {
                    primary(0),
                    backup(1)
                }
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
            "The routing state for  this  route.The value SHOULD be
            primary(0) or backup(1)."
        ::= { swL3IpStaticRouteEntry 3 }
        
    swL3IpStaticRouteNextHop OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
           "On remote routes, the address of the next sys-
           tem en route; Otherwise, 0.0.0.0."
        ::= { swL3IpStaticRouteEntry 4 }
    
    swL3IpStaticRouteMetric OBJECT-TYPE
        SYNTAX   INTEGER (1..65535)
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
            "The routing  metric  for  this  route."
        ::= { swL3IpStaticRouteEntry 5 }

    swL3IpStaticRouteStatus OBJECT-TYPE
        SYNTAX   INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.
 
            other(1) - this entry is currently in use but the conditions
                under which it will remain so are different from each of
                the following values.
            invalid(2) - writing this value to the object, and then the
                corresponding entry will be removed from the table.
            valid(3) - this entry is reside in the table."
        ::= { swL3IpStaticRouteEntry 6 }


END
