QLOGIC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
        enterprises, Integer32, Counter32
        FROM SNMPv2-SMI;

        qlogic       MODULE-IDENTITY
        LAST-UPDATED "0403012359Z"
        ORGANIZATION "QLOGIC Corporation"
        CONTACT-INFO "QLOGIC Technical Support
              Postal: QLogic Corporation
                      6321 Bury Drive
                      Eden Prairie, MN 55346
                      US
                 Tel: +1 952 932 4040
                 Fax: +1 952 932 4018
              E-mail: support@QLogic.com"
     DESCRIPTION
        "This table replaces the fcFxPortPhysTable module
         defined in FIBRE-CHANNEL-FE-MIB.  It defines volatile
         control objects for ports in a QLogic SANbox switch."
       ::= { enterprises 1663 }

   qLogicOidTree         OBJECT IDENTIFIER ::= { qlogic 1 }
   qLogicExperimental    OBJECT IDENTIFIER ::= { qLogicOidTree 3 }
   qLogicExperimentalBase    OBJECT IDENTIFIER ::= { qLogicExperimental 0}
   qlSB2PortControl      OBJECT IDENTIFIER ::= { qLogicExperimental 10 }
   qlSB2PortStatus       OBJECT IDENTIFIER ::= { qLogicExperimental 11 }


  FcQlModuleIndex ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Represents the module index within a conceptual table."
    SYNTAX         Unsigned32

  FcQxPortIndex ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Represents the Port index within a conceptual table."
    SYNTAX         Unsigned32


------------------------------------------------------------------------------

     --  Port Control group

  -- the QxPort Physical Level table
  -- This table contains, one entry for each QxPort in the
  -- Fabric Element, the physical level status and parameters
  -- of the QxPorts.

  fcQxPortPhysTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF FcQxPortPhysEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A table that contains, one entry for each QxPort in the
          Fabric Element, physical level status and parameters of the
          QxPorts."
  ::= { qlSB2PortControl 1 }

  fcQxPortPhysEntry OBJECT-TYPE
      SYNTAX      FcQxPortPhysEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "An entry containing physical level status and parameters of
          a QxPort."
      INDEX { fcQlModuleIndex, fcQxPortIndex }
  ::= { fcQxPortPhysTable 1 }

  FcQxPortPhysEntry ::=

      SEQUENCE {
          fcQlModuleIndex
              FcQlModuleIndex,
          fcQxPortIndex
              FcQxPortIndex,
          fcQxPortPhysAdminStatus
              INTEGER,
          fcQxPortPhysOperStatus
              INTEGER
      }

  fcQlModuleIndex OBJECT-TYPE
      SYNTAX      FcQlModuleIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object identifies the module within the Fabric Element
          for which this entry contains information. This value is
          never greater than fcFeModuleCapacity."
  ::= { fcQxPortPhysEntry 1 }

  fcQxPortIndex OBJECT-TYPE
      SYNTAX      FcQxPortIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object identifies the QxPort within the module.  This
          number ranges from 1 to the value of fcFeModulePortCapacity
          for the associated module. The value remains constant for
          the identified QxPort until the module is re-initialized."
  ::= { fcQxPortPhysEntry 2 }

  fcQxPortPhysAdminStatus OBJECT-TYPE
      SYNTAX      INTEGER {
                      online  (1),  -- place port online
                      offline (2),  -- take port offline
                      testing (3)   -- initiate test procedures
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The desired state of the QxPort.  A management station may
          place the QxPort in a desired state by setting this object
          accordingly.  The testing(3) state indicates that no
          operational frames can be passed.  When a Fabric Element
          initializes, all QxPorts start with fcQxPortPhysAdminStatus
          in the offline(2) state.  As the result of either explicit
          management action or per configuration information
          accessible by the Fabric Element, fcQxPortPhysAdminStatus
          is then changed to either the online(1) or testing(3)
          states, or remains in the offline state."
  ::= { fcQxPortPhysEntry 3 }

  fcQxPortPhysOperStatus   OBJECT-TYPE
      SYNTAX      INTEGER {
          online       (1), -- Login may proceed
          offline      (2), -- Login cannot proceed
          testing      (3), -- port is under test
          linkFailure  (4)  -- failure after online/testing
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current operational status of the QxPort.  The
          testing(3) indicates that no operational frames can be
          passed.  If fcQxPortPhysAdminStatus is offline(2) then
          fcQxPortPhysOperStatus should be offline(2). If
          fcQxPortPhysAdminStatus is changed to online(1) then
          fcQxPortPhysOperStatus should change to online(1) if the
          QxPort is ready to accept Fabric Login request from the
          attached NxPort; it should proceed and remain in the link-
          failure(4) state if and only if there is a fault that
          prevents it from going to the online(1) state."
  ::= { fcQxPortPhysEntry 4 }


------------------------------------------------------------------------------

  -- the Status group

  -- This group consists of tables that contains operational
  -- status and established service parameters for the Fabric
  -- Element and the attached NxPorts.

  -- The QxPort Status table
  -- This table contains, one entry for each QxPort,
  -- the operational status and parameters of the FxPorts.

  fcQxPortStatusTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF FcQxPortStatusEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A table that contains, one entry for each QxPort in the
          Fabric Element, operational status and parameters of the
          QxPorts."
  ::= { qlSB2PortStatus 1 }

  fcQxPortStatusEntry OBJECT-TYPE
      SYNTAX      FcQxPortStatusEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "An entry containing operational status and parameters of a
          QxPort."
      INDEX { fcQlModuleIndex, fcQxPortIndex }
  ::= { fcQxPortStatusTable 1 }

  FcQxPortStatusEntry ::=

      SEQUENCE {
          fcQlModuleIndex
              FcQlModuleIndex,
          fcQxPortIndex
              FcQxPortIndex,
          fcQxPortOperMode
              INTEGER,
          fcQxPortAdminMode
              INTEGER
      }

  fcQlModuleIndex OBJECT-TYPE
      SYNTAX      FcQlModuleIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object identifies the module within the Fabric Element
          for which this entry contains information. This value is
          never greater than fcFeModuleCapacity."
  ::= { fcQxPortStatusEntry 1 }

  fcQxPortIndex OBJECT-TYPE
      SYNTAX      FcQxPortIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object identifies the QxPort within the module.  This
          number ranges from 1 to the value of fcFeModulePortCapacity
          for the associated module. The value remains constant for
          the identified QxPort until the module is re-initialized."
  ::= { fcQxPortStatusEntry 2 }

  fcQxPortOperMode    OBJECT-TYPE
      SYNTAX              INTEGER { unknown(1), ePort(2), fPort(3), flPort(4), gPort(5), glPort(6), donorPort(7) }
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
         "The current operational mode of the FxPort."
  ::= { fcQxPortStatusEntry 3 }

  fcQxPortAdminMode   OBJECT-TYPE
      SYNTAX              INTEGER { fPort(3), flPort(4), gPort(5), glPort(6), donorPort(7) }
      MAX-ACCESS          read-write
      STATUS              current
      DESCRIPTION
         "The desired operational mode of the FxPort."
  ::= { fcQxPortStatusEntry 4 }

------------------------------------------------------------------------------

-- Related traps 

    qlSB2PortLinkDown NOTIFICATION-TYPE 
        OBJECTS { fcQxPortPhysAdminStatus, fcQxPortPhysOperStatus } 
        STATUS  current
        DESCRIPTION 
            "A linkDown trap signifies that the SNMP entity, acting in
            an agent role, has detected that the fcQxPortPhysOperStatus
            object for one of its communication links has left the online
            state and transitioned to some other state.  The current state
            is indicated by the included value of fcQxPortPhysOperStatus."
        ::= { qLogicExperimentalBase 10 }

    qlSB2PortLinkUp NOTIFICATION-TYPE 
        OBJECTS { fcQxPortPhysAdminStatus, fcQxPortPhysOperStatus } 
        STATUS  current
        DESCRIPTION 
            "A linkUp trap signifies that the SNMP entity, acting in
            an agent role, has detected that the fcQxPortPhysOperStatus
            object for one of its communication links has entered the online
            state from some other state.  The current state is indicated by
            the included value of fcQxPortPhysOperStatus."
        ::= { qLogicExperimentalBase 11 }

END

-- End of Object Definitions
