--===========================================================================
-- Copyright (C) 2000 Paradyne Corporation
--

PDN-ETHER-MIB DEFINITIONS ::= BEGIN

IMPORTS
OBJECT-TYPE, MODULE-IDENTITY
FROM SNMPv2-SMI
OBJECT-GROUP
FROM SNMPv2-CONF
pdn-common
FROM PDN-HEADER-MIB
SwitchState, ManagementType,
ResetStates 
FROM PDN-TC
ifIndex
FROM RFC1213-MIB
ifMauEntry, ifMauIfIndex, ifMauIndex, ifJackIndex
FROM MAU-MIB
;

pdn-ether MODULE-IDENTITY
   LAST-UPDATED    "0205100000Z"
   ORGANIZATION    "Paradyne Corporation
		    MIB Working Group"

   CONTACT-INFO    "Paradyne Corporation
		    8545 126th Avenue North
		    Largo, FL 33733
		    www.paradyne.com

		    General Comments to: mibwg_team@paradyne.com

		    Editors
		    Wayne Jadoo
		    Prakash Easwar
		    Jesus A. Pinto
		    Dragana Gough
		    Clay Sikes"

  DESCRIPTION
     " This MIB contains objects that are used to configure
       ethernet interfaces."

   REVISION "0205100000Z"
   DESCRIPTION  "Added pdnIfJackTable. NOTE: please read the comments
                as to why the ifJackTable, in RFC 2668, was not augmented."

   REVISION "0201090000Z"
   DESCRIPTION  "Added pdnPortConfigMauExtTable to extend ipMauTable
		 from RFC 2668." 


   REVISION  "200108240000Z"
   DESCRIPTION "Add pdnPortConfigEthernetAutoNegotiateMode mib object.
                Add pdnPortCOnfigEthernetSpeed mib object."

   REVISION "200005020000Z"
   DESCRIPTION "Initial Release" 

   ::= { pdn-common 18 }




pdnPortConfigMIBObjects  OBJECT IDENTIFIER ::= { pdn-ether 1 }
pdnPortConfigMIBTraps    OBJECT IDENTIFIER ::= { pdn-ether 2 }
pdnPortConfigEthernet    OBJECT IDENTIFIER ::= { pdnPortConfigMIBObjects 1 }
pdnPortConfigGroups      OBJECT IDENTIFIER ::= { pdnPortConfigMIBObjects 2 }
pdnPortConfigMauExtMIBObject OBJECT IDENTIFIER ::= { pdnPortConfigMIBObjects 3 }
pdnPortConfigIfJackMIBObject OBJECT IDENTIFIER ::= { pdnPortConfigMIBObjects 4 }

-- Ethernet Type of Configuration
            
        pdnPortConfigEthernetTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF PdnPortConfigEthernetEntry
              MAX-ACCESS  not-accessible
              STATUS current 
              DESCRIPTION
                "A Table that contains information about 
                 the Ethernet port configuration"
              ::= { pdnPortConfigEthernet 1 }

        pdnPortConfigEthernetEntry OBJECT-TYPE
              SYNTAX  PdnPortConfigEthernetEntry
              MAX-ACCESS  not-accessible
              STATUS current 
              DESCRIPTION
                  "An entry that contains configuration 
                   information about an ethernet Port "
              INDEX  { ifIndex }
              ::= { pdnPortConfigEthernetTable 1 }

        PdnPortConfigEthernetEntry ::=
                SEQUENCE
                {
                   pdnPortConfigEthernetDuplexMode     SwitchState,
                   pdnPortConfigEthernetManageType     ManagementType,
                   pdnPortConfigEthernetResetState     ResetStates,
                   pdnPortConfigEthernetAutoNegotiate  SwitchState,
                   pdnPortConfigEthernetSpeed          INTEGER
                }

          pdnPortConfigEthernetDuplexMode OBJECT-TYPE
              SYNTAX   SwitchState
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                      "This object is used to enable or Disable 
                       Duplex Mode on an ethernet Port. This object
		       can not be enabled if the auto-negotiate 
		       mode is enabled"
                      
              DEFVAL { disabled } -- Disabled
              ::= { pdnPortConfigEthernetEntry 1  }
        
          pdnPortConfigEthernetManageType OBJECT-TYPE
              SYNTAX   ManagementType
              MAX-ACCESS   read-create
              STATUS  current 
              DESCRIPTION
                      "This object is used to Enable or 
                       Disable Inband or Outband Management."
                      
              DEFVAL { outband } 
              ::= { pdnPortConfigEthernetEntry 2  }

          pdnPortConfigEthernetResetState OBJECT-TYPE
              SYNTAX   ResetStates
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                      "This object is used to reset the ethernet port." 

              DEFVAL { noOp } -- No
              ::= { pdnPortConfigEthernetEntry 3  }

          pdnPortConfigEthernetAutoNegotiate OBJECT-TYPE
              SYNTAX   SwitchState
              MAX-ACCESS   read-create
              STATUS  current 
              DESCRIPTION
                      "This object is used to enable or disable
                       the auto-negotiate mode. Enabling this
		       mode will disable selection of the speed
		       and/or full duplex mode."
                      
              DEFVAL { enabled } -- Enabled
              ::= { pdnPortConfigEthernetEntry 4  }
 
          pdnPortConfigEthernetSpeed OBJECT-TYPE
              SYNTAX   INTEGER {
		tenBaseT 	(1),
		hundredBaseT 	(2)
	      }
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                      "This object corresponds to the speed of
                       the ethernet port. This object can not be
		       set if the auto-negotiate mode is enabled."
	      DEFVAL { tenBaseT } -- 10BaseT
                      
              ::= { pdnPortConfigEthernetEntry 5  }
 
        
-- Extention talbe to ifMauTable
-- to add ConfigXover object
 
        pdnPortConfigMauExtTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF PdnPortConfigMauExtEntry
              MAX-ACCESS  not-accessible
              STATUS current 
              DESCRIPTION
                "A Table that contains configuration information about 
                 the Ethernet port configuration and it extends standard
		 MAU table from RFC2668."
              ::= { pdnPortConfigMauExtMIBObject 1 }

        pdnPortConfigMauExtEntry OBJECT-TYPE
              SYNTAX  PdnPortConfigMauExtEntry
              MAX-ACCESS  not-accessible
              STATUS current 
              DESCRIPTION
                  "An entry that contains configuration 
                   information about an ethernet Port "
              AUGMENTS  { ifMauEntry }
              ::= { pdnPortConfigMauExtTable 1 }

        PdnPortConfigMauExtEntry ::=
                SEQUENCE
                {
                   pdnPortConfigXover    INTEGER 
		}

          pdnPortConfigXover OBJECT-TYPE
              SYNTAX  INTEGER  {
				mdi(1),
				mdix(2)
				}
              MAX-ACCESS   read-create
              STATUS  current 
              DESCRIPTION
                      "This object is used to configure 
		       if crossover or straightthrough cable is
		       used on ethernet interface if the interface
		       is not set for autonegotiontion."
              ::= { pdnPortConfigMauExtEntry 1  }

-- Augmentation of the ifJactTable in the 802.3 MAU MIB
-- RFC 2668
-- Originally I wanted to implement this table as an augmentation
-- of the ifJackTable in the 802.3 MAU MIB specified in RFC 2668 and 
-- call it pdnIfJackExtTable. However, the SNMP Research MIB Tools would
-- not successfully compile an augmentation of this table with an
-- object that is read-write because the ifJackTable only has
-- read-only objects. 
        pdnIfJackTable  OBJECT-TYPE
            SYNTAX      SEQUENCE OF PdnIfJackEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "This table conceptually extends the ifJackTable
                        but not as an augmentation. See the note above."
            ::= { pdnPortConfigIfJackMIBObject 1 }

        pdnIfJackEntry  OBJECT-TYPE
            SYNTAX      PdnIfJackEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "An entry that contains configuration information
                        about a jack."
            INDEX       { 
                            ifMauIfIndex,
                            ifMauIndex,
                            ifJackIndex
                        }
            ::= { pdnIfJackTable 1 }

        PdnIfJackEntry ::=
           SEQUENCE    {
                           pdnActiveJack        INTEGER
                       }

        pdnActiveJack   OBJECT-TYPE
            SYNTAX      INTEGER {
                            fiber(1),   -- Small Form-factor Pluggable (SFP)
                                        -- for fiber interfaces
                            rj45(2),    -- Copper wire interface
                            auto(3)     -- Automatically detects fiber(1) or
                                        -- rj45(2)
                        }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION "This object allows the jack type to be configured or a 
                        priority to be set. This applies to Ethernet interfaces
                        that may support more than one type of jack on an inter-
                        face and only one jack is valid at a time. Consider two
                        cases:

                        1. A product supports two types of jacks, a RJ45 copper-
                           wire interface and a SFP fiber interface. The product is 
                           required to have the user set the active jack or allow it 
                           to be auto detected. The values for this object that 
                           allow the requirement to be satisfied and their interp-
                           retation are as follows:
                           a. fiber(1) - The fiber jack is active and the others, 
                                         e.g. rj45, are ignored.
                           b. rj45(2)  - The rj45 jack is actie and the others, 
                                         eg.fiber, are ignored.
                           c. auto(3)  - Either jack can be used and it is up
                                         to the implementation to determine which
                                         jack has presedence when both jacks are
                                         active. This determination must be clearly
                                         documented in the SNMP Operational Speci-
                                         fication.
                            No default is specified for this MIB object so the default
                            value for this object must be clearly documented in the
                            SNMP Operational Specification.

                         2. A product supports two types of jacks, a RJ45 copper-
                            wire interface and s SFP fiber interface. The product is
                            required to have the user select which jack has priority
                            when both jacks are active. The values for this object
                            that allow the requirement to be satisfied and their 
                            interpretation are as follos:
                            a. fiber(1) - The fiber jack has priority.
                            b. rj45(2)  - The rj45 jack has priority.
                            c. auto(3)  - Not used."                                              
            ::= { pdnIfJackEntry 1 }


--CONFORMANCE INFORMATION

pdnPortConfigEthernetGroup OBJECT-GROUP
	OBJECTS {
                   pdnPortConfigEthernetDuplexMode,
                   pdnPortConfigEthernetManageType,
                   pdnPortConfigEthernetResetState,
                   pdnPortConfigEthernetAutoNegotiate,
                   pdnPortConfigEthernetSpeed
       }
       STATUS	current
       DESCRIPTION
	"This collection of objects is used to set mode
	 and rate on any ethernet interface."

       ::= { pdnPortConfigGroups 1 }

pdnPortConfigExtMauGroup OBJECT-GROUP
	OBJECTS {
                   pdnPortConfigXover
        }
       STATUS	current
       DESCRIPTION
	"This object is used to set xover mode
	 on any ethernet interface."

       ::= { pdnPortConfigGroups 2 }

pdnPortConfigExtIfJackGroup OBJECT-GROUP
    OBJECTS     {
                    pdnActiveJack
                }
    STATUS      current
    DESCRIPTION "This object is used to set active jack
                on any ethernet interface supporting more
                than one jack."

    ::= { pdnPortConfigGroups 3 }


END
