

DGS3324SR-SWL3MGMT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        Counter32,MODULE-IDENTITY,OBJECT-TYPE,IpAddress,
        NOTIFICATION-TYPE, Integer32, Unsigned32
                                                  FROM SNMPv2-SMI
        PhysAddress,TruthValue,DisplayString,RowStatus       
        							              FROM SNMPv2-TC
        dgs3324SR    	           			      FROM SW-PROJECTX-SRPRIMGMT-MIB
        TOSType, Metric, AreaID, RouterID,UpToMaxAge,
        HelloRange, PositiveInteger, Status, DesignatedRouterPriority
        										  FROM OSPF-MIB
    	InterfaceIndex                   		  FROM IF-MIB;

    swL3MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "0007150000Z"
	    ORGANIZATION " "
	    CONTACT-INFO
	        "     "
	    DESCRIPTION
		    "The Structure of Layer 3 Network Management Information for the
		    proprietary enterprise."
        ::= { dgs3324SR 3 }

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

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

    swL3RelayBootpMgmt      OBJECT IDENTIFIER ::= { swL3RelayMgmt 1 }
    swL3RelayDnsMgmt        OBJECT IDENTIFIER ::= { swL3RelayMgmt 2 }

-- ********************************************************************
--  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 }
        
    swL3DevCtrlOSPFState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates OSPF protocol is enabled or disabled."
        ::= { swL3DevCtrl 2 }
        
    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 3 }
        

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

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

-- ********************************************************************
--  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 (1..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. If the swL3IpFilterAddrCtrlState = dst-src-addr, then it
--            means there are two entries in swL3IpFilterAddrCtrlTable."
--        ::= { 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 }

-- ********************************************************************
--  swL3IpArpAgingTime        OBJECT IDENTIFIER ::= { swL3IpMgmt 4 }
-- ********************************************************************

    swL3IpArpAgingTime OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The timeout period in minutes for aging out dynamically learned
            arp information."
        ::= { swL3IpMgmt 4 }
        
    
    swL3IpStaticRouteTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
        "This entity's IP static Routing table."
        ::= { swL3IpMgmt 5 }

    swL3IpStaticRouteEntry OBJECT-TYPE
        SYNTAX   SwL3IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
           "A particular route to  a  particular  destination, under a particular policy.
           Once an entry be built,it shouldn't be modified.That is,it just support create and
           delete action."
        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(1),
                    backup(2)
                }
        MAX-ACCESS read-only
        STATUS   current
        DESCRIPTION
            "The routing state for  this  route.The value SHOULD be
            primary(1) or backup(2)."
        ::= { 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 }

-- ********************************************************************
--  swL3RelayBootpMgmt      OBJECT IDENTIFIER ::= { swL3RelayMgmt 1 }
-- ********************************************************************    

    swL3RelayBootpState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates BOOTP Relay function is enabled or 
            disabled."
        ::= { swL3RelayBootpMgmt 1 }
        
    swL3RelayBootpHopCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the maximum number of router hops that 
            the BOOTP packets can cross."
        ::= { swL3RelayBootpMgmt 2 }
        
    swL3RelayBootpTimeThreshold OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the minimum time in seconds within which
            the switch must relay the BOOTP request. If this time is 
            exceeded, the switch will drop the BOOTP packet."
        ::= { swL3RelayBootpMgmt 3 }
    
    swL3RelayBootpCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RelayBootpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifys the IP address as a destination to forward
            (relay) BOOTP packets to."
        ::= { swL3RelayBootpMgmt 4 }

    swL3RelayBootpCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3RelayBootpCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies the IP address as a destination
            to forward (relay) BOOTP packets to."
        INDEX  { swL3RelayBootpCtrlInterfaceName,  swL3RelayBootpCtrlServer}
        ::= { swL3RelayBootpCtrlTable 1 }

    SwL3RelayBootpCtrlEntry ::= 
        SEQUENCE {
            swL3RelayBootpCtrlInterfaceName
                DisplayString,
            swL3RelayBootpCtrlServer
                IpAddress,
            swL3RelayBootpCtrlState
                INTEGER    
        }

    swL3RelayBootpCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The name of the IP interface."
        ::= { swL3RelayBootpCtrlEntry 1 }
        
    swL3RelayBootpCtrlServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The BOOTP server IP address."
        ::= { swL3RelayBootpCtrlEntry 2 }

    swL3RelayBootpCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        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.
            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."
        ::= { swL3RelayBootpCtrlEntry 3 }


-- ********************************************************************
--  swL3RelayDnsMgmt        OBJECT IDENTIFIER ::= { swL3RelayMgmt 2 }
-- ********************************************************************

    swL3RelayDnsState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DNS Relay function is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 1 }
        
    swL3RelayDnsPrimaryServer OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the address of the primary DNS server."
        ::= { swL3RelayDnsMgmt 2 }
        
    swL3RelayDnsSecondaryServer OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the address of the secondary DNS server."
        ::= { swL3RelayDnsMgmt 3 }
    
    swL3RelayDnsCacheState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DNS Relay cache is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 4 }
        
    swL3RelayDnsStaticTableState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates DNS Relay static table is enabled or 
            disabled."
        ::= { swL3RelayDnsMgmt 5 }
        
    swL3RelayDnsCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RelayDnsCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table display the current DNS relay static table."
        ::= { swL3RelayDnsMgmt 6 }

    swL3RelayDnsCtrlEntry OBJECT-TYPE
        SYNTAX  SwL3RelayDnsCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information display the current DNS relay static 
            table."
        INDEX  { swL3RelayDnsCtrlDomainName,  swL3RelayDnsCtrlIpAddr}
        ::= { swL3RelayDnsCtrlTable 1 }

    SwL3RelayDnsCtrlEntry ::= 
        SEQUENCE {
            swL3RelayDnsCtrlDomainName
                DisplayString,
            swL3RelayDnsCtrlIpAddr
                IpAddress,
            swL3RelayDnsCtrlState
                INTEGER    
        }

    swL3RelayDnsCtrlDomainName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..32))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The domain name of the entry."
        ::= { swL3RelayDnsCtrlEntry 1 }
        
    swL3RelayDnsCtrlIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The IP address of the entry."
        ::= { swL3RelayDnsCtrlEntry 2 }

    swL3RelayDnsCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        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.
            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."
        ::= { swL3RelayDnsCtrlEntry 3 }


-- ********************************************************************
--  swL3Md5Table            OBJECT IDENTIFIER ::= { swL3MgmtMIB 4 }
-- ********************************************************************
    
    swL3Md5Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3Md5Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table display the current MD5 key table."
        ::= { swL3MgmtMIB 4 }

    swL3Md5Entry OBJECT-TYPE
        SYNTAX  SwL3Md5Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information display the current MD5 key table."
        INDEX  { swL3Md5KeyId}
        ::= { swL3Md5Table 1 }

    SwL3Md5Entry ::= 
        SEQUENCE {
            swL3Md5KeyId
                INTEGER,
            swL3Md5Key
                DisplayString,
            swL3Md5RowStatus
                RowStatus    
        }

    swL3Md5KeyId OBJECT-TYPE
        SYNTAX  INTEGER (1..255)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The MD5 key ID."
        ::= { swL3Md5Entry 1 }
        
    swL3Md5Key OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..16))
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An MD5 password of up to 16 bytes."
        ::= { swL3Md5Entry 2 }

    swL3Md5RowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3Md5Entry 3 }


-- ********************************************************************
--  swL3RouteRedistriTable          OBJECT IDENTIFIER ::= { swL3MgmtMIB 5 }
-- ********************************************************************
    
    swL3RouteRedistriTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3RouteRedistriEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Route redistribution allows routers on the network. That are 
            running different routing protocols to exchange routing 
            information. This is accomplished by comparing the routes stored
            in the vairous routers routing tables and assinging appropriate
            metrics. This information is then exchanged among the various 
            routers according to the individual routers current routing 
            protocol."
        ::= { swL3MgmtMIB 5 }

    swL3RouteRedistriEntry OBJECT-TYPE
        SYNTAX  SwL3RouteRedistriEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information display the route redistribution table."
        INDEX  { swL3RouteRedistriSrcProtocol, swL3RouteRedistriDstProtocol}
        ::= { swL3RouteRedistriTable 1 }

    SwL3RouteRedistriEntry ::= 
        SEQUENCE {
            swL3RouteRedistriSrcProtocol
                INTEGER,
            swL3RouteRedistriDstProtocol
                INTEGER,
            swL3RouteRedistriType
                INTEGER,
            swL3RouteRedistriMetric
                INTEGER,
            swL3RouteRedistriRowStatus
                RowStatus   
        }

    swL3RouteRedistriSrcProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    rip(2),
                    ospf(3),
                    static(4),
                    local(5)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Allows the selection of the protocol of the source device."
        ::= { swL3RouteRedistriEntry 1 }
        
    swL3RouteRedistriDstProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    rip(2),
                    ospf(3)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Allows the selection of the protocol of the destination device."
        ::= { swL3RouteRedistriEntry 2 }
        
    swL3RouteRedistriType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    all(2),
                    type-1(3),
                    type-2(4),
                    internal(5),
                    external(6),
                    inter-E1(7),
                    inter-E2(8),
                    extType1(9),
                    extType2(10)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Allows the selection of one of the methods for calcalculating 
            the metric value."
        ::= { swL3RouteRedistriEntry 3 }
        
    swL3RouteRedistriMetric OBJECT-TYPE
        SYNTAX  INTEGER (0..16777214)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Allows the entry of an OSPF interface cost. This is analogous 
            to a Hop Count in the RIP routing protocol. The value '0'
            indicates default value."
        ::= { swL3RouteRedistriEntry 4 }

    swL3RouteRedistriRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL3RouteRedistriEntry 5 }


-- ********************************************************************
--  swL3OspfHostTable          OBJECT IDENTIFIER ::= { swL3MgmtMIB 6 }
-- ********************************************************************
    
    swL3OspfHostTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL3OspfHostEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The list of Hosts, and their metrics, that the router will 
            advertise as host routes."
        ::= { swL3MgmtMIB 6 }
        
    swL3OspfHostEntry OBJECT-TYPE
        SYNTAX   SwL3OspfHostEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "A metric to be advertised, for a given type of service, when a
            given host is reachable."
        INDEX { swL3OspfHostIpAddress, swL3OspfHostTOS }
        ::= { swL3OspfHostTable 1 }

    SwL3OspfHostEntry ::=
        SEQUENCE {
            swL3OspfHostIpAddress
                IpAddress,
            swL3OspfHostTOS
                TOSType,
            swL3OspfHostMetric
                Metric,
            swL3OspfHostAreaID
                AreaID,
            swL3OspfHostStatus
                RowStatus
        }

    swL3OspfHostIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The IP Address of the Host."
        ::= { swL3OspfHostEntry 1 }

    swL3OspfHostTOS OBJECT-TYPE
        SYNTAX   TOSType
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The Type of Service of the route being configured."
        ::= { swL3OspfHostEntry 2 }

    swL3OspfHostMetric OBJECT-TYPE
        SYNTAX   Metric
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Metric to be advertised."
        ::= { swL3OspfHostEntry 3 }

    swL3OspfHostAreaID OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Area the Host Entry is to be found within. By default, the 
           area that a subsuming OSPF interface is in, or 0.0.0.0"
        ::= { swL3OspfHostEntry 4 }
        
    swL3OspfHostStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of the entry. Setting it to
           'invalid' has the effect of rendering it inoperative. The internal
           effect (row removal) is implementation dependent."
        ::= { swL3OspfHostEntry 5 }

-- ********************************************************************
--  swL3ospfVirtIfTable          OBJECT IDENTIFIER ::= { swL3MgmtMIB 7 }
-- ********************************************************************
--  OSPF Virtual Interface Table(from rfc1850,modify by Scott Sung)

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.

    swL3ospfVirtIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SwL3OspfVirtIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information about this router's virtual inter-
           faces."
       REFERENCE
          "OSPF Version  2,  Appendix  C.4   Virtual  link
          parameters"
      ::= { swL3MgmtMIB 7 }

    swL3ospfVirtIfEntry OBJECT-TYPE
        SYNTAX   SwL3OspfVirtIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information about a single Virtual Interface."
       INDEX { swL3ospfVirtIfAreaId, swL3ospfVirtIfNeighbor }
       ::= { swL3ospfVirtIfTable 1 }

SwL3OspfVirtIfEntry ::=
    SEQUENCE {
        swL3ospfVirtIfAreaId
            AreaID,
        swL3ospfVirtIfNeighbor
            RouterID,
        swL3ospfVirtIfTransitDelay
            UpToMaxAge,
        swL3ospfVirtIfRetransInterval
            UpToMaxAge,
        swL3ospfVirtIfHelloInterval
            HelloRange,
        swL3ospfVirtIfRtrDeadInterval
            PositiveInteger,
        swL3ospfVirtIfState
            INTEGER,
        swL3ospfVirtIfEvents
            Counter32,
        swL3ospfVirtIfAuthType
            INTEGER,
        swL3ospfVirtIfAuthKey
            OCTET STRING,
        swL3ospfVirtIfAuthKeyID
        	INTEGER,
        swL3ospfVirtIfStatus
            RowStatus
              }

    swL3ospfVirtIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  Transit  Area  that  the   Virtual   Link
           traverses.  By definition, this is not 0.0.0.0"
       ::= { swL3ospfVirtIfEntry 1 }

    swL3ospfVirtIfNeighbor OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
       ::= { swL3ospfVirtIfEntry 2 }

    swL3ospfVirtIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a link- state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { swL3ospfVirtIfEntry 3 }

    swL3ospfVirtIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion  and  link-state  request  packets.   This
           value  should  be well over the expected round-
           trip time."
       DEFVAL { 5 }
       ::= { swL3ospfVirtIfEntry 4 }

    swL3ospfVirtIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  the
           virtual neighbor."
       DEFVAL { 10 }
       ::= { swL3ospfVirtIfEntry 5 }

    swL3ospfVirtIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for the  virtual  neigh-
           bor."
       DEFVAL { 60 }
       ::= { swL3ospfVirtIfEntry 6 }

    swL3ospfVirtIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),            -- these use the same encoding
                    pointToPoint (4)     -- as the ospfIfTable
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "OSPF virtual interface states."
       DEFVAL   { down }
       ::= { swL3ospfVirtIfEntry 7 }

    swL3ospfVirtIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of state changes or error events on
           this Virtual Link"
       ::= { swL3ospfVirtIfEntry 8 }

    swL3ospfVirtIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The authentication type specified for a virtu-
           al  interface.  Additional authentication types
           may be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { swL3ospfVirtIfEntry 9 }

    swL3ospfVirtIfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(0..256))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "If Authentication Type is simplePassword,  the
           device  will left adjust and zero fill to 8 oc-
           tets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { swL3ospfVirtIfEntry 10 }
        
    swL3ospfVirtIfAuthKeyID OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The MD5 key ID."
       ::= { swL3ospfVirtIfEntry 11 }
       
    swL3ospfVirtIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { swL3ospfVirtIfEntry 12 }
     
--  OSPF Interface Table

--      The OSPF Interface Table augments the ipAddrTable
--             with OSPF specific information.

    swL3ospfIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SwL3OspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Interface Table describes the  inter-
           faces from the viewpoint of OSPF."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      ::= { swL3MgmtMIB 8 }

    swL3ospfIfEntry OBJECT-TYPE
        SYNTAX   SwL3OspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Interface Entry describes one  inter-
           face from the viewpoint of OSPF."
       INDEX { swL3ospfIfIpAddress, swL3ospfAddressLessIf }
       ::= { swL3ospfIfTable 1 }

SwL3OspfIfEntry ::=
    SEQUENCE {
        swL3ospfIfIpAddress
            IpAddress,
        swL3ospfAddressLessIf
            Integer32,
        swL3ospfIfAreaId
            AreaID,
        swL3ospfIfType
            INTEGER,
        swL3ospfIfAdminStat
            Status,
        swL3ospfIfRtrPriority
            DesignatedRouterPriority,
        swL3ospfIfTransitDelay
            UpToMaxAge,
        swL3ospfIfRetransInterval
            UpToMaxAge,
        swL3ospfIfHelloInterval
            HelloRange,
        swL3ospfIfRtrDeadInterval
            PositiveInteger,
        swL3ospfIfPollInterval
            PositiveInteger,
        swL3ospfIfState
            INTEGER,
        swL3ospfIfDesignatedRouter
            IpAddress,
        swL3ospfIfBackupDesignatedRouter
            IpAddress,
        swL3ospfIfEvents
            Counter32,
        swL3ospfIfMulticastForwarding
            INTEGER,
        swL3ospfIfDemand
            TruthValue,
        swL3ospfIfAuthType
            INTEGER,
        swL3ospfIfAuthKey
            OCTET STRING,
        swL3ospfIfAuthKeyID
        	INTEGER,
        swL3ospfIfStatus
            RowStatus
              }

    swL3ospfIfIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address of this OSPF interface."
       ::= { swL3ospfIfEntry 1 }

    swL3ospfAddressLessIf OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses,  and  the corresponding value of
           ifIndex for interfaces having no IP Address."
       ::= { swL3ospfIfEntry 2 }

    swL3ospfIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "A 32-bit integer uniquely identifying the area
           to  which  the  interface  connects.   Area  ID
           0.0.0.0 is used for the OSPF backbone."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { swL3ospfIfEntry 3 }

    swL3ospfIfType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    broadcast (1),
                    nbma (2),
                    pointToPoint (3),
                    pointToMultipoint (5)
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The OSPF interface type.

           By way of a default, this field may be intuited
           from the corresponding value of ifType.  Broad-
           cast LANs, such as  Ethernet  and  IEEE  802.5,
           take  the  value  'broadcast', X.25 and similar
           technologies take the value 'nbma',  and  links
           that  are  definitively point to point take the
           value 'pointToPoint'."
       ::= { swL3ospfIfEntry 4 }

    swL3ospfIfAdminStat OBJECT-TYPE
        SYNTAX   Status
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The OSPF  interface's  administrative  status.
           The  value formed on the interface, and the in-
           terface will be advertised as an internal route
           to  some  area.   The  value 'disabled' denotes
           that the interface is external to OSPF."
       DEFVAL { enabled }
       ::= { swL3ospfIfEntry 5 }

    swL3ospfIfRtrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The  priority  of  this  interface.   Used  in
           multi-access  networks,  this  field is used in
           the designated router election algorithm.   The
           value 0 signifies that the router is not eligi-
           ble to become the  designated  router  on  this
           particular  network.   In the event of a tie in
           this value, routers will use their Router ID as
           a tie breaker."
       DEFVAL { 1 }
       ::= { swL3ospfIfEntry 6 }

    swL3ospfIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a  link state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { swL3ospfIfEntry 7 }

    swL3ospfIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion and link-state request packets."
       DEFVAL { 5 }
       ::= { swL3ospfIfEntry 8 }

    swL3ospfIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  all
           routers attached to a common network."
       DEFVAL { 10 }
       ::= { swL3ospfIfEntry 9 }

    swL3ospfIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for all routers attached
           to a common network."
       DEFVAL { 40 }
       ::= { swL3ospfIfEntry 10 }

    swL3ospfIfPollInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The larger time interval, in seconds,  between
           the  Hello  packets  sent  to  an inactive non-
           broadcast multi- access neighbor."
       DEFVAL { 120 }
       ::= { swL3ospfIfEntry 11 }

    swL3ospfIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    loopback (2),
                    waiting (3),
                    pointToPoint (4),
                    designatedRouter (5),
                    backupDesignatedRouter (6),
                    otherDesignatedRouter (7)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The OSPF Interface State."
       DEFVAL { down }
       ::= { swL3ospfIfEntry 12 }

    swL3ospfIfDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of the Designated Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { swL3ospfIfEntry 13 }

    swL3ospfIfBackupDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  IP  Address  of  the  Backup   Designated
           Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { swL3ospfIfEntry 14 }

    swL3ospfIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of times this  OSPF  interface  has
           changed its state, or an error has occurred."
       ::= { swL3ospfIfEntry 15 }

    swL3ospfIfMulticastForwarding OBJECT-TYPE
        SYNTAX   INTEGER    {
                            blocked (1),        -- no multicast forwarding
                            multicast (2),        -- using multicast address
                            unicast (3)        -- to each OSPF neighbor
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The way multicasts should  forwarded  on  this
           interface;  not  forwarded,  forwarded  as data
           link multicasts, or forwarded as data link uni-
           casts.   Data link multicasting is not meaning-
           ful on point to point and NBMA interfaces,  and
           setting ospfMulticastForwarding to 0 effective-
           ly disables all multicast forwarding."
       DEFVAL { blocked }
       ::= { swL3ospfIfEntry 16 }

    swL3ospfIfDemand OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Indicates whether Demand OSPF procedures (hel-
           lo supression to FULL neighbors and setting the
           DoNotAge flag on proogated LSAs) should be per-
           formed on this interface."
       DEFVAL { false }
       ::= { swL3ospfIfEntry 17 }

    swL3ospfIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The authentication type specified for  an  in-
           terface.   Additional  authentication types may
           be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { swL3ospfIfEntry 18 }

    swL3ospfIfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Authentication Key.  If the Area's Author-
           ization  Type  is  simplePassword,  and the key
           length is shorter than 8 octets, the agent will
           left adjust and zero fill to 8 octets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment.

           When read, ospfIfAuthKey always returns an  Oc-
           tet String of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { swL3ospfIfEntry 19 }

    swL3ospfIfAuthKeyID OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The MD5 key ID."
       ::= { swL3ospfIfEntry 20 }

    swL3ospfIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { swL3ospfIfEntry 21 }
       

swL3RoutePreference	OBJECT IDENTIFIER ::= { swL3MgmtMIB 9 }
	
	swL3RoutePreferenceRIP OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of RIP."
        ::= { swL3RoutePreference 1 }

	swL3RoutePreferenceOSPFIntra OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of OSPF Intra."
        ::= { swL3RoutePreference 2 }
       
	swL3RoutePreferenceStatic OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of Static."
        ::= { swL3RoutePreference 3 }
        
    swL3RoutePreferenceLocal OBJECT-TYPE
        SYNTAX  INTEGER (0..999)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Used to read the route preference of Local."
        ::= { swL3RoutePreference 4 }    

	swL3RoutePreferenceOSPFInter OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of OSPF Inter."
        ::= { swL3RoutePreference 5 }
    
    swL3RoutePreferenceOSPFExtT1 OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of OSPFExtT1."
        ::= { swL3RoutePreference 6 }   
        
    swL3RoutePreferenceOSPFExtT2 OBJECT-TYPE
        SYNTAX  INTEGER (1..999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to configure the route preference of OSPF ExtT2."
        ::= { swL3RoutePreference 7 }         


-- ********************************************************************      
swL3PimMgmt	OBJECT IDENTIFIER ::= { swL3MgmtMIB 11 }
swL3PimCbsrInfoMgmt	OBJECT IDENTIFIER ::= { swL3PimMgmt 1 }

	swL3pimCbsrBootStrapPeriod OBJECT-TYPE
	    SYNTAX     Integer32 (1..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "At the elected BSR, this is the interval between originating Bootstrap
	            messages, and should be equal to 60 seconds."
	    ::= { swL3PimCbsrInfoMgmt 1 }
	    
	swL3pimCbsrHashMaskLen OBJECT-TYPE
	    SYNTAX     Integer32 (0..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "The length (in bits) of the mask to use in the hash function.
	            For IPv4 we recommend a value of 30. For IPv6 we recommand a value of 126."
	    ::= { swL3PimCbsrInfoMgmt 2 }
	            
	swL3pimCbsrTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF SwL3pimCbsrEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The PIM CBSR Table contains the cbsr related information, like 
	            interface and priority."
	    ::= { swL3PimCbsrInfoMgmt 3 }

	swL3pimCbsrEntry OBJECT-TYPE
	    SYNTAX     SwL3pimCbsrEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "An entry in the PIM CBSR Table."
	    INDEX      { swL3pimCbsrInterface }
	    ::= { swL3pimCbsrTable 1 }
	
	SwL3pimCbsrEntry ::= SEQUENCE {
	    swL3pimCbsrInterface	InterfaceIndex,
	    swL3pimCbsrPriority		Integer32
	}
	
	swL3pimCbsrInterface	OBJECT-TYPE
	    SYNTAX     InterfaceIndex
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The ifIndex value of this PIM interface."
	    ::= { swL3pimCbsrEntry 1 }
	
	swL3pimCbsrPriority OBJECT-TYPE
	    SYNTAX     Integer32 (-1..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "The preference value for the local interface as a candidate
	            bootstrap router.  The value of -1 is used to indicate that
	            the local interface is not a candidate BSR interface."
	    DEFVAL     { 0 }
	    ::= { swL3pimCbsrEntry 2 }


	        
	swL3pimCandidateRPMgmt OBJECT IDENTIFIER ::= { swL3PimMgmt 2 }	
	swL3pimCandidateRPHoldtime OBJECT-TYPE
	    SYNTAX     Integer32 (0..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "For C-RPs, this is the Holdtime specified in C-RP-Adv message, and
	            is used by the BSR to time out RPs. This should be set to 2.5 *
	            [C-RP-Adv-Period]. Default: 150 seconds."
	    ::= { swL3pimCandidateRPMgmt 1 }
	
	swL3pimCandidateRPPriority OBJECT-TYPE
	    SYNTAX     Integer32 (0..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "The 'priority' of the included RP, for the corresponding Encoded-Group
	            Address (if any), highest priority is '0' (i.e. the lower the value of the 
	            'Priority' field, the higher the priority). This field is stored at the BSR
	            upon receipt along with the RP address and corresponding Encoded-Group Address."
	    ::= { swL3pimCandidateRPMgmt 2 }
	    
	swL3pimCandidateRPWildcardPrefixCnt OBJECT-TYPE
	    SYNTAX     Integer32 (0..1)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "The number of enocded group addresses included in the message; indicating
	            the group prefixes for which the C-RP is advertising. A Prefix-Cnt of '0'
	            implies a prefix of 224.0.0.0 with mask length of 4; i.e. all multicast 
	            groups. If the C-RP is not configured with Group-prefix information, the
	            C-RP puts a default value of '0' in this field."
	    ::= { swL3pimCandidateRPMgmt 3 }
	
	swL3pimSptMgmt OBJECT IDENTIFIER ::= { swL3PimMgmt 3 }
	swL3pimLastHopSptThreshold OBJECT-TYPE
	    SYNTAX     DisplayString(SIZE(1..8))
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "Specifies a last hop router threshold."
	    ::= { swL3pimSptMgmt 1 }
	
	swL3pimRPSptThreshold OBJECT-TYPE
	    SYNTAX     DisplayString(SIZE(1..8))
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "Specifies an RP threshold."
	    ::= { swL3pimSptMgmt 2 }
	                      
	swL3pimRegChksumIncDataTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF SwL3pimRegChksumIncDataEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The PIM Register Checksum Including Data Table contains the PIM
	            register checksum including data information, like RP address and
	            state."
	    ::= { swL3PimMgmt 4 }

	swL3pimRegChksumIncDataEntry OBJECT-TYPE
	    SYNTAX     SwL3pimRegChksumIncDataEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "An entry in the PIM Register Checksum Including Data Table."
	    INDEX      { swL3SwL3pimRegChksumIncDataRpAddr }
	    ::= { swL3pimRegChksumIncDataTable 1 }
	
	SwL3pimRegChksumIncDataEntry ::= SEQUENCE {
	    swL3SwL3pimRegChksumIncDataRpAddr	IpAddress,
	    swL3SwL3pimRegChksumIncDataState	RowStatus
	}
	
	swL3SwL3pimRegChksumIncDataRpAddr	OBJECT-TYPE
	    SYNTAX     IpAddress
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "Specifies the RP address."
	    ::= { swL3pimRegChksumIncDataEntry 1 }
	
	swL3SwL3pimRegChksumIncDataState OBJECT-TYPE
	    SYNTAX     RowStatus
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION
	            "The state of register checksum including data for RPs."
	    ::= { swL3pimRegChksumIncDataEntry 2 }  

	swL3PimInfoMgmt	OBJECT IDENTIFIER ::= { swL3PimMgmt 5 }	      
	swL3pimRegisterProbeTime OBJECT-TYPE
	    SYNTAX     Integer32 (1..127)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "When null Registers are used, this is the time between sending a null
	            Register and the Register-Suppression-Timer expiring unless it is restarted
	            by receiving a Register-Stop. Thus, a null Register would be sent when the
	            Register-Suppression-Timer reaches this value. Default: 5 seconds."
	    ::= { swL3PimInfoMgmt 1 }
	    
	swL3pimRegisterSuppressionTime OBJECT-TYPE
	    SYNTAX     Integer32 (3..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "This is the mean interval between receiving a Register-Stop and allowing 
	            Registers to be sent again. A lower value means more frequent register bursts
	            at RP, while a higher value means longer join latency for new receiver. 
	            Default: 60 seconds."
	    ::= { swL3PimInfoMgmt 2 }
	            
	swL3pimInfoTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF SwL3pimInfoEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The PIM Information Table contains the PIM related information, like
	            DR priority."
	    ::= { swL3PimInfoMgmt 3 }

	swL3pimInfoEntry OBJECT-TYPE
	    SYNTAX     SwL3pimInfoEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "An entry in the PIM Information Table."
	    INDEX      { swL3pimInterface }
	    ::= { swL3pimInfoTable 1 }
	
	SwL3pimInfoEntry ::= SEQUENCE {
	    swL3pimInterface	InterfaceIndex,
	    swL3pimDRPriority		Unsigned32
	}
	
	swL3pimInterface	OBJECT-TYPE
	    SYNTAX     InterfaceIndex
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The ifIndex value of this PIM interface."
	    ::= { swL3pimInfoEntry 1 }
	
	swL3pimDRPriority OBJECT-TYPE
	    SYNTAX     Unsigned32 (0..4294967294)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	            "The DR Priority is a 32-bit unsigned number and the numerically larger
	            priority is always prefered. A router's idea of the current DR on an interface
	            can change when a PIM Hello message is received, when a neighbor timers out, 
	            or when a router's own DR priority changes."
--	    DEFVAL     { 0 }
	    ::= { swL3pimInfoEntry 2 }
	                      
-- The PIM Static-RP Table

	swL3pimStaticRPTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF SwL3pimStaticRPEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The PIM Static RP Table contains the PIM static RP related information, 
	            like group address, group mask, RP address and RP row status."
	    ::= { swL3PimMgmt 6 }
	
	swL3pimStaticRPEntry OBJECT-TYPE
	    SYNTAX     SwL3pimStaticRPEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "An entry in the PIM Static RP Table."
	    INDEX      { swL3pimStaticRPGroupAddress,
	                 swL3pimStaticRPGroupMask,
	                 swL3pimStaticRPAddress }
	    ::= { swL3pimStaticRPTable 1 }
	
	SwL3pimStaticRPEntry ::= SEQUENCE {
	    swL3pimStaticRPGroupAddress    IpAddress,
	    swL3pimStaticRPGroupMask       IpAddress,
	    swL3pimStaticRPAddress         IpAddress,
	    swL3pimStaticRPRowStatus       RowStatus
	}
	
	swL3pimStaticRPGroupAddress OBJECT-TYPE
	    SYNTAX     IpAddress
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The IP multicast group address which, when combined with
	            swL3pimStaticRPGroupMask, identifies a group prefix for which
	            the local router will advertise itself as a static RP."
	    ::= { swL3pimStaticRPEntry 1 }
	
	swL3pimStaticRPGroupMask OBJECT-TYPE
	    SYNTAX     IpAddress
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The multicast group address mask which, when combined with
	            swL3pimStaticRPGroupAddress, identifies a group prefix for which
	            the local router will advertise itself as a static RP."
	    ::= { swL3pimStaticRPEntry 2 }
	
	swL3pimStaticRPAddress OBJECT-TYPE
	    SYNTAX     IpAddress
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "The (unicast) address of the interface which will be
            	advertised as a static RP."
	    ::= { swL3pimStaticRPEntry 3 }
	
	swL3pimStaticRPRowStatus OBJECT-TYPE
	    SYNTAX     RowStatus
	    MAX-ACCESS read-create
	    STATUS     current
	    DESCRIPTION
	            "The status of this row, by which new entries may be
            	created, or old entries deleted from this table."
	    ::= { swL3pimStaticRPEntry 4 }	    
	                      
END
