--  *****************************************************************
--  DLINKPRIME-SWITCHPORT-MIB.mib : Switch Port MIB
--
--  Copyright (c) 2014 D-Link Corporation, all rights reserved.
--
--  *****************************************************************
DLINKPRIME-SWITCHPORT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        TruthValue
                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP 
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        dlinkPrimeCommon
                FROM DLINK-ID-REC-MIB;
                
    dlinkPrimeSwitchPortMIB MODULE-IDENTITY    
        LAST-UPDATED "201405070000Z"
        ORGANIZATION "D-Link Corp."
        CONTACT-INFO
            "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
            "
        DESCRIPTION
            "This MIB module defines objects for per-port configuration which 
            are not covered by standard MIB(s)."
	
        REVISION "201405070000Z"
        DESCRIPTION
            " This is the first version of the MIB file
            "
        ::= { dlinkPrimeCommon 20 }

-- -----------------------------------------------------------------------------
    dpSwPortNotifications    OBJECT IDENTIFIER ::= { dlinkPrimeSwitchPortMIB 0 }
    dpSwPortObjects          OBJECT IDENTIFIER ::= { dlinkPrimeSwitchPortMIB 1 }
    dpSwPortConformance      OBJECT IDENTIFIER ::= { dlinkPrimeSwitchPortMIB 2 }


-- -----------------------------------------------------------------------------
-- Objects
-- -----------------------------------------------------------------------------         
     dpSwPortIfTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DpSwPortIfEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of physical port interface entries."
        ::= { dpSwPortObjects 1 }
        
    dpSwPortIfEntry OBJECT-TYPE
	    SYNTAX          DpSwPortIfEntry
	    MAX-ACCESS      not-accessible
	    STATUS          current
	    DESCRIPTION 
	        "An entry in dpSwPortIfTable contains port-specific configuration
		    which cannot be covered by standard MIBs (EtherLike or MAU-MIB)."
	    INDEX       { ifIndex }
	    ::= { dpSwPortIfTable 1 } 
	    
    DpSwPortIfEntry ::= SEQUENCE {            
        dpSwPortIfMdix               INTEGER,
        dpSwPortIfJumboFrameSize     Unsigned32,
        dpSwPortIfSpeedAutoDowngrade TruthValue
    }
   
    dpSwPortIfMdix OBJECT-TYPE
        SYNTAX      INTEGER { 
            auto(1), 
            normal(2), 
            cross(3) 
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION   
            "Uses the object to configure the state of Media-Dependent Interface
            Crossover (MDIX) of the port."
        DEFVAL      { auto }
        ::= { dpSwPortIfEntry 1 }
	
    dpSwPortIfJumboFrameSize OBJECT-TYPE
	    SYNTAX		    Unsigned32
	    MAX-ACCESS	    read-write
	    STATUS		    current
	    DESCRIPTION
			"The size of the largest packet which can be received on the
			interface(only support 9216 and 1518), specified in octets."
		DEFVAL      { 1518 }	
	    ::= { dpSwPortIfEntry 2 }

    dpSwPortIfSpeedAutoDowngrade OBJECT-TYPE
	    SYNTAX		TruthValue
	    MAX-ACCESS	    	read-write
	    STATUS		current
	    DESCRIPTION
			"This object indicates whether automatically downgrade the advertised
            speed in case a link cannot be established at the available speed. 
			"
		DEFVAL      { false }	
	    ::= { dpSwPortIfEntry 3 }	    
   
-- -----------------------------------------------------------------------------
-- Conformance
-- -----------------------------------------------------------------------------
    dpSwPortCompliances OBJECT IDENTIFIER ::= { dpSwPortConformance 1 }
		
	dpSwPortCompliance MODULE-COMPLIANCE
		STATUS          current
		DESCRIPTION 
			"The compliance statement for entities which implement the 
			DLINKPRIME-SWITCHPORT-MIB."
		MODULE -- this module
		MANDATORY-GROUPS { 
		    dpSwPortBasicGroup
		}		
	                        
        OBJECT          dpSwPortIfSpeedAutoDowngrade        
        MIN-ACCESS      read-only
        DESCRIPTION
            "It is compliant to implement this object as
            read-only. The write-access is only required
            when auto-downgrade feature is supported."
	    ::= { dpSwPortCompliances 1 }
		
	dpSwPortGroups OBJECT IDENTIFIER ::= { dpSwPortConformance 2 }
		
    dpSwPortBasicGroup OBJECT-GROUP
		OBJECTS { 
		    dpSwPortIfMdix,
		    dpSwPortIfJumboFrameSize,
		    dpSwPortIfSpeedAutoDowngrade
		}
		STATUS current
		DESCRIPTION 
			"This group contains the collection of fundamental port configuration
			objects which are not covered by standard MIBs."						
		::= { dpSwPortGroups 1 }
	
END
