--
-- Title: Fibre Channel Switch MIB, Version v5.3
--
-- This is specified based on SMIv2, mainly to ensure that the specification
-- can be parsed easily by off-the-shelf network management product in
-- the market.
--
-- The goal of this mib is to access the any Fibre Channel switch of
-- Brocade's family by using single SW-MIB file.
-- This mib file includes the traps for Silkworm Switch.
-- NOTE: Load BRCD_v5_0.mib file before loading this mib file.
--

SW-MIB DEFINITIONS ::= BEGIN
  IMPORTS
	DisplayString, TEXTUAL-CONVENTION
      FROM SNMPv2-TC
    Counter32, Integer32, IpAddress,
    OBJECT-TYPE, OBJECT-IDENTITY,
	MODULE-IDENTITY, NOTIFICATION-TYPE
      FROM SNMPv2-SMI
    FcWwn, SwDomainIndex, SwNbIndex, SwSensorIndex,
    SwPortIndex, SwTrunkMaster
      FROM Brocade-TC
    fcSwitch, bcsiModules
      FROM Brocade-REG-MIB;

  swMibModule MODULE-IDENTITY
    LAST-UPDATED "0408061830Z" -- Aug 06, 2004 6:30pm
    ORGANIZATION "Brocade Communications Systems, Inc.,"
    CONTACT-INFO "Customer Support Group
		  Brocade Communications Systems,
		  1745 Technology Drive,
		  San Jose, CA 95110 U.S.A
		  Tel: +1-408-392-6061
		  Fax: +1-408-392-6656
		  Email: support@Brocade.COM
		  WEB: www.brocade.com"
		

    DESCRIPTION	"The MIB module	is for Brocade's Fibre Channel Switch.
                 Copyright (c) 1996-2003 Brocade Communications Systems, Inc.
  				 All rights reserved."
    REVISION	"0301131430Z" -- Jan 13, 2003 2:30pm
    DESCRIPTION	"The initial version of this module."
    REVISION	"0307201430Z" -- July 20, 2003 2:30pm
    DESCRIPTION	"Added swIDIDMode to the swFabric group."
    REVISION	"0404151030Z" -- April 15, 2004 10:30am
    DESCRIPTION	"Added object for Trap Severity Level, swFwLastSeverityLevel.
                 Added the enumeration swFwResourceFlash for SwFwClassesAreas.
                 Deprecated the mib object swEventTrapLevel.
                 Updated the description of swGroupId and corrected the spell
                 mistakes.
                 Obsoleted the swFault Trap.
                 Added enumerations four-GB for swFCPortSpeed and unknown,
				 other for swFCPortType."
    REVISION	"0408061830Z" -- Aug 06, 2004 6:30pm
    DESCRIPTION	"Added swFCPortSpecifier object to swFCPortTable."
    REVISION	"0504292016Z" -- Apr 29, 2005 8:16pm
    DESCRIPTION	"Modified the #SUMMARY and #ARGUMENTS for swFabricWatchTrap"
	::=	{ bcsiModules 3 }

    sw		    OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for Brocade's Silkworm Series of
                    Fibre Channel Switches."
     ::= { fcSwitch 1 }

    sw28k		OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID for Brocade's Silkworm 2800 model Fibre Channel
                    Switch."
     ::= { fcSwitch 2 }

    sw21kN24k	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID for Brocade's Silkworm 2100 and 2400 series
                    model Fibre Channel Switch."
     ::= { fcSwitch 3 }

    sw20x0	    OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID for Brocade's Silkworm 20x0 series
                    model Fibre Channel Switch."
     ::= { fcSwitch 4 }

  SwSevType		::= TEXTUAL-CONVENTION
     STATUS  current
     DESCRIPTION   "The event trap level in conjunction with the an event's
                    severity level."
     SYNTAX  INTEGER {
               none            (0),
               critical        (1),
               error           (2),
               warning         (3),
               informational   (4),
               debug           (5)
            }

  -- various groups
  swSystem	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swSystem group."
     ::= { sw 1 }

  swFabric	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swFabric group."
     ::= { sw 2 }

  swModule	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swModule group."
     ::= { sw 3 }

  swAgtCfg	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swAgtCfg group."
     ::= { sw 4 }

  -- { sw 5 } is reserved
  swFCport	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swFCport group."
     ::= { sw 6 }

  swNs		OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swNs group."
     ::= { sw 7 }

  swEvent	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swEvent group."
     ::= { sw 8 }

  swFwSystem	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swFwSystem group."
     ::= { sw 10 }

  swEndDevice	OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swEndDevice group."
     ::= { sw 21 }

  swGroup       OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swGroup group."
     ::= { sw 22 }

  swBlmPerfMnt    OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swBlmPerfMnt (Bloom Performance
                    Monitor) group."
    ::= { sw 23 }

  swTrunk      OBJECT-IDENTITY
     STATUS  current
     DESCRIPTION   "The OID sub-tree for swTrunk group."
     ::= { sw 24 }   

  --
  -- the System Group (sw)
  --

  swCurrentDate		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current date information in displayable textual
		format."
  ::= { swSystem 1 }

  swBootDate		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The date and time when the system last booted, in
		displayable textual format."
  ::= { swSystem 2 }

  swFWLastUpdated	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The information indicates the date when the firmware
		was last updated, in displayable textual format."
  ::= { swSystem 3 }

  swFlashLastUpdated	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The information indicates the date when the FLASH
		was last updated, in displayable textual format."
  ::= { swSystem 4 }

  swBootPromLastUpdated	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The information indicates the date when the boot PROM
		was last updated, in displayable textual format."
  ::= { swSystem 5 }

  swFirmwareVersion	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..24))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current version of the firwmare."
  ::= { swSystem 6 }

  swOperStatus		OBJECT-TYPE
	SYNTAX		INTEGER {
			  online	(1),
			  offline	(2),
			  testing	(3),
			  faulty	(4)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current operational status of the switch.
		The states are as follow:
		o online(1) means the switch is accessible by an external
		  Fibre Channel port;
		o offline(2) means the switch is not accessible;
		o testing(3) means the switch is in a built-in test mode
		  and is not accessible by an external Fibre Channel port;
		o faulty(4) means the switch is not operational."
  ::= { swSystem 7 }

  swAdmStatus		OBJECT-TYPE
	SYNTAX		INTEGER {
			  online	(1),
			  offline	(2),
			  testing	(3),
			  faulty	(4),
			  reboot	(5),
			  fastboot(6),
			  switchReboot	(7)
			}
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The desired administrative status of the switch.
		A management station may place the switch in a desired
		state by setting this object accordingly. The states
		are as follow:
		o online(1) means set the switch to be accessible by an
		  external Fibre Channel port;
		o offline(2) means set the switch to be inaccessible;
		o testing(3) means set the switch to run the built-in test;
		o faulty(4) means set the switch to a 'soft' faulty
		  condition;
		o reboot(5) means set the switch to reboot in 1 second.
		o fastboot(6) means set the switch to fastboot in 1 second.
		Fastboot would cause the switch to boot but skip over the
		POST.
		o switchReboot(7) means set the current switch to reboot in
		  1 second.

                When the switch is in faulty state, only two states
                can be set: faulty and reboot/fastboot/switchReboot."

  ::= { swSystem 8 }

  swTelnetShellAdmStatus	OBJECT-TYPE
	SYNTAX			INTEGER {
				  unknown	(0),
				  terminated	(1)
				}
	MAX-ACCESS			read-write
	STATUS			current
	DESCRIPTION	"The desired administrative status of the Telnet
		shell. By setting it to terminated(1), the current
		Telnet shell task is deleted. When this variable instance
		is read, it reports the value last set through SNMP."
  ::= { swSystem 9 }

  swSsn			OBJECT-TYPE
        SYNTAX          DisplayString(SIZE (0..128))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "The soft serial number of the switch."
  ::= { swSystem 10 }

  -- FLASH administration
  -- the next 5 objects are related to firmware or config file management.
  --
  -- The underlying method in the transfer of the firmware or config file
  -- is based on either FTP or remote shell.
  -- If a password is provided, then FTP is used.
  -- If NO password is provided, then remote shell is used.
  --
  -- 2 steps to manage firmware or switch config file in the switch FLASH,
  -- (A1) set swFlashDLHost.0, swFlashDLUser.0 and swFlashDLFile.0 to
  --      appropriate
  --        host IP address in user dot notation (e.g. 192.168.1.7),
  --        user name (e.g. "administrator"), and
  --        file name of the firmware or config file (e.g. "/home/fcswh/v2.2")
  --      respectively;
  -- (A2) set swFlashDLPassword.0 to an appropriate value (e.g. "secret")
  --      if FTP is the desired method of transfer;
  -- (B) set swFlashDLAdmStatus.0 to swFwUpgrade(2), swCfUpload(3),
  --	   or swCfDownload(4) accordingly.
  --

  swFlashDLOperStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
			  unknown		(0),
			  swCurrent		(1),
			  swFwUpgraded		(2),
			  swCfUploaded		(3),
			  swCfDownloaded	(4),
			  swFwCorrupted 	(5)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The operational status of the FLASH.
		The operational states are as follow:
		o swCurrent(1) indicates that the FLASH contains the
		  current firmware image or config file;
		o swFwUpgraded(2) state indicates that it contains the image
		  upgraded from the swFlashDLHost.0.;
		o swCfUploaded(3) state indicates that the switch configuration
		  file has been uploaded to the host; and
		o swCfDownloaded(4) state indicates that the switch
		  configuration file has been downloaded from the host.
		o swFwCorrupted (5) state indicates that the firmware in the
		  FLASH of the switch is corrupted."
  ::= { swSystem 11 }

  swFlashDLAdmStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
			  swCurrent		(1),
			  swFwUpgrade		(2),
			  swCfUpload		(3),
			  swCfDownload		(4),
			  swFwCorrupted 	(5)
			}
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The desired state of the FLASH.
		A management station may place the FLASH in a desired
		state by setting this object accordingly:
		o swCurrent(1) indicates that the FLASH contains the
		  current firmware image or config file;
		o swFwUpgrade(2) means that the firmware in the	FLASH is to be
		  upgraded from the host specified;
		o swCfUpload(3) means that the switch config file is to be
		  uploaded to the host specified; or
		o swCfDownload(4) means that the switch config file is to be
		  downloaded from the host specified.
		o swFwCorrupted(5) state indicates that the firmware in the
		  FLASH is corrupted. This value is for informational purpose
		  only. However, set of swFlashDLAdmStatus to this value is
		  not allowed.

		The host is specified in swFlashDLHost.0. In addition,
		user name is specified in swFlashDLUser.0, and
		the file name specified in swFlashDLFile.0.

		Reference the user manual on the following commands,
		o firmwareDownload,
		o configUpload, and
		o configDownload."
  ::= { swSystem 12 }

  swFlashDLHost		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The name or IP address (in dot notation) of the host
			 to download or upload a relevant file to the FLASH."
  ::= { swSystem 13 }

  swFlashDLUser		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..64))
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The user name on the host to download or upload
			 a relevant file to or from the FLASH."
  ::= { swSystem 14 }

  swFlashDLFile		OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The name of the file to be downloaded or uploaded."
  ::= { swSystem 15 }

  swFlashDLPassword	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (0..100))
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The password to be used in for FTP transfer of
			 files in the download or upload operation."
  ::= { swSystem 16 }

  -- 17..19 are reserved

  swBeaconOperStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				on	(1),
				off	(2)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current operational status of the switch beacon.
			 When the beacon is on, the LEDs on the front panel
			 of the switch run alternately from left to right
			 and right to left. The color is yellow.
			 When the beacon is off, each LED will be in their
			 its regular status indicating color and state."
  ::= { swSystem 18 }

  swBeaconAdmStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				on	(1),
				off	(2)
			}
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The desired status of the switch beacon.
			 When the beacon is set to on, the LEDs on the front
			 panel of the switch run alternately from left to right
			 and right to left. The color is yellow.
			 When the beacon is set to off, each LED will be in
			 its regular status indicating color and state."
  ::= { swSystem 19 }

  swDiagResult	OBJECT-TYPE
	SYNTAX		INTEGER {
				sw-ok			(1),
				sw-faulty	    (2),
				sw-embedded-port-fault	(3)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The result of the power-on startup (POST)
			 diagnostics."
  ::= { swSystem 20 }

  -- operating environment sensors (temperature, fan, power supply...)
  swNumSensors		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of sensors inside the switch."
  ::= { swSystem 21 }

  swSensorTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF SwSensorEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"The table of sensor entries."
  ::= { swSystem 22 }

  swSensorEntry		OBJECT-TYPE
	SYNTAX		SwSensorEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry of the sensor information."
	INDEX		{ swSensorIndex }
  ::= { swSensorTable 1 }

  SwSensorEntry	::= SEQUENCE {
	swSensorIndex	SwSensorIndex,
	swSensorType	INTEGER,
	swSensorStatus	INTEGER,
	swSensorValue	Integer32,
	swSensorInfo	DisplayString(SIZE(0..255))
  }

  swSensorIndex		OBJECT-TYPE
	SYNTAX		SwSensorIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the sensor."
  ::= { swSensorEntry 1 }

  swSensorType		OBJECT-TYPE
	SYNTAX		INTEGER {
			  temperature	(1),
			  fan		(2),
			  power-supply	(3)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the sensor type."
  ::= { swSensorEntry 2 }

  swSensorStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
			  unknown	(1),
			  faulty	(2),
			  below-min	(3),
			  nominal	(4),
			  above-max	(5),
			  absent	(6)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current status of the sensor."
  ::= { swSensorEntry 3 }

  swSensorValue		OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current value (reading) of the sensor.
		The value, -2147483648, represents an unknown quantity.
		It also means that the sensor does not have the capability to
		measure the actual value. In V2.0, the temperature sensor
		value will be in Celsius; the fan value will be in RPM
		(revolution per minute); and the power supply sensor reading
		will be unknown."
  ::= { swSensorEntry 4 }

  swSensorInfo		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE(0..255))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Additional displayable information on the sensor.
		In V2.x, it contains the sensor type and number
		in textual format. For example, 'Temp 3', 'Fan 6'."
  ::= { swSensorEntry 5 }

  -- track changes string scalar
  swTrackChangesInfo	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Track changes string. For trap only"
  ::= { swSystem 23 }

  swID     OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The number of the logical switch (0/1)"
   ::= { swSystem 24 }

  swEtherIPAddress     OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The IP Address of the Ethernet interface of this logical
        switch."
    ::= { swSystem 25 }

  swEtherIPMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The IP Mask of the Ethernet interface of this logical switch."
    ::= { swSystem 26}

  swFCIPAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The IP Address of the FC interface of this logical switch."
    ::= { swSystem 27 }

  swFCIPMask    OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The IP Mask of the FC interface of this logical switch."
    ::= { swSystem 28 }

  --
  -- End of System Group
  --

  --
  -- Fabric Group
  --
  swDomainID	OBJECT-TYPE
	SYNTAX		SwDomainIndex
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The current Fibre Channel domain ID of the switch.
		To set a new value, the switch (swAdmStatus) must be in
		offline or testing state."
  ::= { swFabric 1 }

  swPrincipalSwitch	OBJECT-TYPE
	SYNTAX		INTEGER {
				yes	(1),
				no	(2)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object indicates whether the switch is
		the Principal switch as per FC-SW."
  ::= { swFabric 2 }

  -- swFabric 3..7 are reserved

  -- (immediate) Neighborhood ISL family
  --
  swNumNbs		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of Inter-Switch Links in the (immediate)
		neighborhood."
  ::= { swFabric 8 }

  swNbTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF SwNbEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"This table contains the ISLs in the immediate
		neighborhood of the switch."
  ::= { swFabric 9 }

  swNbEntry		OBJECT-TYPE
	SYNTAX		SwNbEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry containing each neighbor ISL parameters."
	INDEX		{ swNbIndex }
  ::= { swNbTable 1 }

  SwNbEntry		::= SEQUENCE {
	swNbIndex	SwNbIndex,
	swNbMyPort	SwPortIndex,
	swNbRemDomain	SwDomainIndex,
	swNbRemPort	SwPortIndex,
	swNbBaudRate	INTEGER,
	swNbIslState	INTEGER,
	swNbIslCost	Integer32 (0..2147483647),
        swNbRemPortName	OCTET STRING (SIZE (8))
  }

  swNbIndex		OBJECT-TYPE
	SYNTAX		SwNbIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the neighbor ISL entry."
  ::= { swNbEntry 1 }

  swNbMyPort		OBJECT-TYPE
	SYNTAX		SwPortIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This is the port that has an ISL to another switch."
  ::= { swNbEntry 2 }

  swNbRemDomain		OBJECT-TYPE
	SYNTAX		SwDomainIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This is the Fibre Channel domain on the other end
		of the ISL."
  ::= { swNbEntry 3 }

  swNbRemPort		OBJECT-TYPE
	SYNTAX		SwPortIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This is the port index on the other end of the ISL."
  ::= { swNbEntry 4 }

  swNbBaudRate		OBJECT-TYPE
	SYNTAX		INTEGER {
				other           (1),    -- none of below
				oneEighth       (2),    -- 155 Mbaud
				quarter         (4),    -- 266 Mbaud
				half            (8),    -- 532 Mbaud
				full            (16),   --   1 Gbaud
				double          (32),   --   2 Gbaud
				quadruple       (64)    --   4 Gbaud
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The baud rate of the ISL."
  ::= { swNbEntry 5 }

  swNbIslState		OBJECT-TYPE
	SYNTAX		INTEGER {
				-- sw-down		(0),
				sw-init		(1),
				sw-internal2	(2),
				sw-internal3	(3),
				sw-internal4	(4),
				sw-active	(5)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The current state of the ISL."
  ::= { swNbEntry 6 }

  swNbIslCost		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The current link cost of the ISL."
  ::= { swNbEntry 7 }

  swNbRemPortName	OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE (8))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The World_wide_Name of the remote port."
  ::= { swNbEntry 8 }

 -- Fabric member information
 --
  swFabricMemTable      OBJECT-TYPE
        SYNTAX          SEQUENCE OF SwFabricMemEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "This table contains information on the member 
                         switches of a fabric. This may not be available on
                         all versions of Fabric OS."
  ::= { swFabric 10 }

  swFabricMemEntry              OBJECT-TYPE
        SYNTAX          SwFabricMemEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "An entry containing each switch in the fabric."
        INDEX           { swFabricMemWwn }
  ::= { swFabricMemTable 1 }

  SwFabricMemEntry      ::= SEQUENCE {
        swFabricMemWwn          FcWwn,
        swFabricMemDid          SwDomainIndex,
        swFabricMemName         DisplayString (SIZE (0..255)),
        swFabricMemEIP          IpAddress,
        swFabricMemFCIP         IpAddress,
        swFabricMemGWIP         IpAddress,
        swFabricMemType         Integer32 (0..2147483647),
        swFabricMemShortVersion OCTET STRING (SIZE (0..24))
  }
  swFabricMemWwn        OBJECT-TYPE
        SYNTAX          FcWwn
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the World wide name of the
                         member switch."
  ::= { swFabricMemEntry 1 }

  swFabricMemDid  OBJECT-TYPE
        SYNTAX          SwDomainIndex
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the domain id of the member
                         switch."
  ::= { swFabricMemEntry 2 }

  swFabricMemName       OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the name of the member switch."
  ::= { swFabricMemEntry 3 }

  swFabricMemEIP        OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the ethernet IP address
                         of the member switch."
  ::= { swFabricMemEntry 4 }
  swFabricMemFCIP       OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the Fibre Channel IP address
                         of the member switch."
  ::= { swFabricMemEntry 5 }

  swFabricMemGWIP       OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the Gateway IP address
                         of the member switch."
  ::= { swFabricMemEntry 6 }

 swFabricMemType        OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the member switch type."
  ::= { swFabricMemEntry 7 }

  swFabricMemShortVersion       OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..24))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies Fabric OS version of
                         the member switch."
  ::= { swFabricMemEntry 8 }

  swIDIDMode	OBJECT-TYPE
	SYNTAX		INTEGER { enabled(1), disabled(2) }
	MAX-ACCESS		read-only
	STATUS		current
    DESCRIPTION "Status of Insistent Domain ID (IDID) mode. Status
                   indicating IDID mode is enabled or not."
  ::= { swFabric 11 }

  --
  -- SNMP Agent Configuration
  --

  -- swAgtCfg 1..10 are reserved

  swAgtCmtyTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF SwAgtCmtyEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"A table that contains, one entry for each Community,
		the access control and parameters of the Community."
  ::= { swAgtCfg 11 }

  swAgtCmtyEntry	OBJECT-TYPE
	SYNTAX		SwAgtCmtyEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry containing the Community parameters."
	INDEX	{ swAgtCmtyIdx }
  ::= { swAgtCmtyTable 1 }

  SwAgtCmtyEntry	::= SEQUENCE {
	swAgtCmtyIdx		Integer32 (1..6),
	swAgtCmtyStr		DisplayString (SIZE (2..16)),
	swAgtTrapRcp		IpAddress,
	swAgtTrapSeverityLevel		SwSevType
  }

  swAgtCmtyIdx		OBJECT-TYPE
	SYNTAX		Integer32 (1..6)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the SNMPv1 Community entry."
  ::= { swAgtCmtyEntry 1 }

  swAgtCmtyStr		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE (2..16))
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This is a Community string supported by the agent.
		If a new value is set successfully, it takes effect
		immediately."
  ::= { swAgtCmtyEntry 2 }

  swAgtTrapRcp		OBJECT-TYPE
	SYNTAX			IpAddress
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This is the trap recipient associated with the
		Community. If a new value is set successfully, it takes
		effect immediately."
  ::= { swAgtCmtyEntry 3 }

  swAgtTrapSeverityLevel		OBJECT-TYPE
	SYNTAX			SwSevType
	MAX-ACCESS		read-write
	STATUS		    current
	DESCRIPTION	"This is the trap severity level associated with the
		swAgtTrapRcp. The trap severity level in conjunction with
        the an event's severity level. When an event occurs and if its
        severity level is at or below the set value, the SNMP trap is
        sent to configured trap recipients. The severity level is
        limited to particular events. If a new value is set successfully,
        it takes effect immediately."
  ::= { swAgtCmtyEntry 4 }

  --
  -- End of SNMP Agent Configuration Group
  --

  --
  -- Fibre Channel Port Group
  -- This group contains information about the physical state,
  -- operational status, performance and error statistics of each
  -- Fibre Channel port on the switch. A Fibre Channel port is one which
  -- supports the Fibre Channel protocol. E.g. F_Port, E_Port, FL_Port.
  --

  swFCPortCapacity	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The maximum number of Fibre Channel ports on this
		switch. It includes G_Port, F_Port, FL_Port and any other
		types of Fibre Channel port."
  ::= { swFCport 1 }

  swFCPortTable		OBJECT-TYPE
	SYNTAX		SEQUENCE OF SwFCPortEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"A table that contains, one entry for each switch port,
		configuration and service parameters of the port."
  ::= { swFCport 2 }

  swFCPortEntry		OBJECT-TYPE
	SYNTAX		SwFCPortEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry containing the configuration and service
		parameters of the switch port."
	INDEX	{ swFCPortIndex }
	::= { swFCPortTable 1 }

  SwFCPortEntry		::= SEQUENCE {
	swFCPortIndex		SwPortIndex,
	swFCPortType		INTEGER,
	swFCPortPhyState	INTEGER,
	swFCPortOpStatus	INTEGER,
	swFCPortAdmStatus	INTEGER,

	swFCPortLinkState	INTEGER,
	swFCPortTxType		INTEGER,

	-- the rest is mapped to gstat_t
	swFCPortTxWords		Counter32,
	swFCPortRxWords		Counter32,
	swFCPortTxFrames	Counter32,
	swFCPortRxFrames	Counter32,
	swFCPortRxC2Frames	Counter32,
	swFCPortRxC3Frames	Counter32,
	swFCPortRxLCs		Counter32,
	swFCPortRxMcasts	Counter32,
	swFCPortTooManyRdys	Counter32,
	swFCPortNoTxCredits	Counter32,
	swFCPortRxEncInFrs	Counter32,
	swFCPortRxCrcs		Counter32,
	swFCPortRxTruncs	Counter32,
	swFCPortRxTooLongs	Counter32,
	swFCPortRxBadEofs	Counter32,
	swFCPortRxEncOutFrs	Counter32,
	swFCPortRxBadOs		Counter32,
	swFCPortC3Discards	Counter32,
	swFCPortMcastTimedOuts	Counter32,
	swFCPortTxMcasts	Counter32,

	-- LIP statistics
	swFCPortLipIns		Counter32,
	swFCPortLipOuts		Counter32,
	swFCPortLipLastAlpa	OCTET STRING (SIZE(4)),

	-- new for V2.1
	swFCPortWwn		OCTET STRING,

	-- new for V3.0
	swFCPortSpeed       INTEGER,

	-- new for Port Name Feature.
	swFCPortName       DisplayString(SIZE(0..32)),

	-- new for PortSpecifier Feature.
	swFCPortSpecifier    DisplayString
  }

  swFCPortIndex		OBJECT-TYPE
	SYNTAX		SwPortIndex
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the switch port index.
		Note that the value of a port index is 1 higher than the
		port number labeled on the front panel.
		E.g. port index 1 correspond to port number 0."
  ::= { swFCPortEntry 1 }

  swFCPortType		OBJECT-TYPE
	SYNTAX		INTEGER {
			  stitch	(1),
			  flannel	(2),
			  loom		(3),
			  bloom		(4),
			  rdbloom	(5),
			  wormhole	(6),
			  other	    (7),
			  unknown	(8)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the type of switch port.
			 It may be of type stitch(1), flannel(2), loom(3) , bloom(4),rdbloom(5) or wormhole(6)."
  ::= { swFCPortEntry 2 }

  swFCPortPhyState	OBJECT-TYPE
	SYNTAX		INTEGER {
			  noCard	(1),
			  noTransceiver	(2),
			  laserFault	(3),
			  noLight	(4),
			  noSync	(5),
			  inSync	(6),
			  portFault	(7),
			  diagFault	(8),
			  lockRef	(9)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the physical state of
		the port:
			noCard(1)	no card present in this switch slot;
			noTransceiver(2)	no Transceiver module in this port.
								noGbic(2) was used previously. Transceiver
								is the generic name for GBIC, SFP etc.;
			laserFault(3)	the module is signaling a laser fault
					(defective Transceiver);
			noLight(4)	the module is not receiving light;
			noSync(5)	the module is receiving light but is
					out of sync;
			inSync(6)	the module is receiving light and is
					in sync;
			portFault(7)	the port is marked faulty (defective
					Transceiver, cable or device);
			diagFault(8)	the port failed diagnostics (defective
					G_Port or FL_Port card or motherboard);
			lockRef(9)	the port is locking to the reference
					signal.
		"
  ::= { swFCPortEntry 3 }

  swFCPortOpStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
			  unknown	(0),
			  online	(1),
			  offline	(2),
			  testing	(3),
			  faulty	(4)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the operational status of
		the port. The online(1) state indicates that user frames
		can be passed. The unknown(0) state indicates that likely
		the port module is physically absent (see swFCPortPhyState)."
  ::= { swFCPortEntry 4 }

  swFCPortAdmStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
			  online	(1),
			  offline	(2),
			  testing	(3),
			  faulty	(4)
			}
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"The desired state of the port. A management station
                may place the port in a desired state by setting this
                object accordingly.  The testing(3) state indicates that
                no user frames can be passed. As the result of
                either explicit management action or per configuration
                information accessible by the switch, swFCPortAdmStatus is
		then changed to either the online(1) or testing(3)
		states,	or remains in the offline(2) state."
  ::= { swFCPortEntry 5 }

  swFCPortLinkState	OBJECT-TYPE
	SYNTAX		INTEGER {
			  enabled	(1),
			  disabled	(2),
			  loopback	(3)
			}
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This object indicates the link state of the port.
		The value may be:
		  enabled(1) - port is allowed to participate in the FC-PH
			protocol with its attached port (or ports if it is
			in a FC-AL loop);
		  disabled(2) - the port is not allowed to participate in
			the FC-PH protocol with its attached port(s);
		  loopback(3) - the port may transmit frames through an
			internal path to verify the health of the transmitter
			and receiver path.

		Note that when the port's link state changes, its
		operational status (swFCPortOpStatus) will be affected."
  ::= { swFCPortEntry 6 }

  swFCPortTxType	OBJECT-TYPE
	SYNTAX		INTEGER {
			  unknown	(1),
			  lw		(2),
			  sw		(3),
			  ld		(4),
			  cu		(5)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object indicates the media transmitter type of
		the port. The value may be:
		  unknown(1)		cannot determined to the port driver
		  lw(2)			long wave laser
		  sw(3)			short wave laser
		  ld(4)			long wave LED
		  cu(5)			copper (electrical)."
  ::= { swFCPortEntry 7 }

  -- counters
  swFCPortTxWords	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Fibre Channel
		words that the port has transmitted."
  ::= { swFCPortEntry 11 }

  swFCPortRxWords	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Fibre Channel
		words that the port has received."
  ::= { swFCPortEntry 12 }

  swFCPortTxFrames	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of (Fibre Channel)
		frames that the port has transmitted."
  ::= { swFCPortEntry 13 }

  swFCPortRxFrames	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of (Fibre Channel)
		frames that the port has received."
  ::= { swFCPortEntry 14 }

  swFCPortRxC2Frames	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Class 2
		frames that the port has received."
  ::= { swFCPortEntry 15 }

  swFCPortRxC3Frames	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Class 3
		frames that the port has received."
  ::= { swFCPortEntry 16 }

  swFCPortRxLCs		OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Link Control
		frames that the port has received."
  ::= { swFCPortEntry 17 }

  swFCPortRxMcasts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Multicast
		frames that the port has received."
  ::= { swFCPortEntry 18 }

  swFCPortTooManyRdys	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of times when RDYs
		 exceeds the frames received."
  ::= { swFCPortEntry 19 }

  swFCPortNoTxCredits	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of times when the
		 transmit credit has reached zero."
  ::= { swFCPortEntry 20 }

  swFCPortRxEncInFrs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of encoding error or
		disparity error inside frames received."
  ::= { swFCPortEntry 21 }

  swFCPortRxCrcs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of CRC errors
		detected for frames received."
  ::= { swFCPortEntry 22 }

  swFCPortRxTruncs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of truncated
		frames that the port has received."
  ::= { swFCPortEntry 23 }

  swFCPortRxTooLongs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of received frames that
		are too long."
  ::= { swFCPortEntry 24 }

  swFCPortRxBadEofs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of received frames that
		have bad EOF delimiter."
  ::= { swFCPortEntry 25 }

  swFCPortRxEncOutFrs	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of encoding error or
		disparity error outside frames received."
  ::= { swFCPortEntry 26 }

  swFCPortRxBadOs		OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of invalid Ordered
		Sets received."
  ::= { swFCPortEntry 27 }

  swFCPortC3Discards	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Class 3
		frames that the port has discarded."
  ::= { swFCPortEntry 28 }

  swFCPortMcastTimedOuts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Multicast
		frames that has been timed out."
  ::= { swFCPortEntry 29 }

  swFCPortTxMcasts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Multicast
		frames that has been transmitted."
  ::= { swFCPortEntry 30 }

  -- LIP statistics
  swFCPortLipIns	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Loop Initializations
		that has been initiated by loop devices attached."
  ::= { swFCPortEntry 31 }

  swFCPortLipOuts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object counts the number of Loop Initializations
		that has been initiated by the port."
  ::= { swFCPortEntry 32 }

  swFCPortLipLastAlpa	OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(4))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object indicates the Physical Address (AL_PA)
		of the loop device that initiated the last
		Loop Initialization."
  ::= { swFCPortEntry 33 }

  swFCPortWwn		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(8))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The World_wide_Name of the Fibre Channel port.
		The contents of an instance are in the IEEE extended format
		as specified in FC-PH; the 12-bit port identifier represents
		the port number within the switch."
  ::= { swFCPortEntry 34 }

 swFCPortSpeed     OBJECT-TYPE
    SYNTAX      INTEGER
				{
					one-GB   (1),
					two-GB   (2),
					auto-Negotiate (3),
					four-GB (4)
				}
	MAX-ACCESS      read-write
	STATUS      current
	DESCRIPTION "The desired baud rate for the port. It can have the
		values of 1GB (1), 2GB (2), Auto-Negotiate (3) or 4GB (4).
		Some of the above values may not be supported by all type of 
		switches."
  ::= { swFCPortEntry 35 }

 swFCPortName     OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..32))
	MAX-ACCESS      read-only
	STATUS      current
	DESCRIPTION "A string indicates the name of the addressed port.
                 The names should be persistent across switch reboots.
                 Port names do not have to be unique within a switch or
                 within a fabric."
  ::= { swFCPortEntry 36 }

 swFCPortSpecifier     OBJECT-TYPE
    SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "This string indicates the physical port number of the addressed port.
				The format of the string is: <slot>/port, where 'slot' being
				present only for bladed systems. 
				"
  ::= { swFCPortEntry 37 }

  --
  -- End of Fibre Channel Port group
  --



  --
  -- The Name Server Database group
  --

  swNsLocalNumEntry	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of local Name Server entries."
  ::= { swNs 1 }

  swNsLocalTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF SwNsEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"The table of local Name Server entries."
  ::= { swNs 2 }

  swNsLocalEntry	OBJECT-TYPE
	SYNTAX		SwNsEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry of the local Name Server database."
	INDEX		{ swNsEntryIndex }
  ::= { swNsLocalTable 1 }

  SwNsEntry ::= SEQUENCE {
	swNsEntryIndex	Integer32 (0..2147483647),
	swNsPortID	OCTET STRING(SIZE(4)),
	swNsPortType	INTEGER,
	swNsPortName	FcWwn,
	swNsPortSymb	OCTET STRING,
	swNsNodeName	FcWwn,
	swNsNodeSymb	OCTET STRING,
	swNsIPA		OCTET STRING,
	swNsIpAddress	OCTET STRING,
	swNsCos		INTEGER,
	swNsFc4		OCTET STRING,
	swNsIpNxPort    OCTET STRING(SIZE(16)),
    swNsWwn         OCTET STRING(SIZE(8)),
    swNsHardAddr    OCTET STRING(SIZE(3))
  }

  swNsEntryIndex	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Name Server database entry."
  ::= { swNsLocalEntry 1 }

  swNsPortID		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(4))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Fibre Channel port address
		ID of the entry."
  ::= { swNsLocalEntry 2 }

  swNsPortType		OBJECT-TYPE
	SYNTAX		INTEGER {
			--  unknown	(0),
			  nPort		(1),
			  nlPort	(2)
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the type of port: N_Port,
		NL_Port, etc., for this entry. The type is defined in FC-GS-2."
  ::= { swNsLocalEntry 3 }

  swNsPortName		OBJECT-TYPE
	SYNTAX		FcWwn
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Fibre Channel World_wide
		Name of the port entry."
  ::= { swNsLocalEntry 4 }

  swNsPortSymb		OBJECT-TYPE
	SYNTAX		OCTET STRING(SIZE(0..255))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the contents of a Symbolic Name
		of the port entry. In FC-GS-2, a Symbolic Name consists of
		a byte array of 1 through 255 bytes, and the first byte of the
		array specifies the length of its 'contents'.
		This object variable corresponds to the 'contents' of the
		Symbolic Name, without the first byte."
  ::= { swNsLocalEntry 5 }

  swNsNodeName		OBJECT-TYPE
	SYNTAX		FcWwn
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Fibre Channel World_wide
		Name of the associated node as defined in FC-GS-2."
  ::= { swNsLocalEntry 6 }

  swNsNodeSymb		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(0..255))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the contents of a Symbolic Name
		of the the node associated with the entry. In FC-GS-2,
		a Symbolic Name consists of a byte array of 1 through 255
		bytes, and the first byte of the array specifies the length
		of its 'contents'.
		This object variable corresponds to the 'contents' of the
		Symbolic Name, without the first byte (specifying the length)."
  ::= { swNsLocalEntry 7 }

  swNsIPA		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(8))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Initial Process Associator
		of the node for the entry as defined in FC-GS-2."
  ::= { swNsLocalEntry 8 }

  swNsIpAddress		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(16))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the IP address of the node
		for the entry as defined in FC-GS-2. The format of the address
		is in IPv6."
  ::= { swNsLocalEntry 9 }

  swNsCos		OBJECT-TYPE
	SYNTAX		INTEGER {
		--	  class-unknown	(0),
			  class-F	(1),
			  class-1	(2),
			  class-F-1	(3),
			  class-2	(4),
			  class-F-2	(5),
			  class-1-2	(6),
			  class-F-1-2	(7),
			  class-3	(8),
			  class-F-3	(9),
			  class-1-3	(10),
			  class-F-1-3	(11),
			  class-2-3	(12),
			  class-F-2-3	(13),
			  class-1-2-3	(14),
			  class-F-1-2-3	(15)
			-- more to enumerate in future.
			}
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the class of services supported
		by the port. The value is a bit-map defined as follows:
		o bit 0 is class F,
		o bit 1 is class 1,
		o bit 2 is class 2,
		o bit 3 is class 3,
		o bit 4 is class 4, etc."
  ::= { swNsLocalEntry 10 }

  swNsFc4		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE (32))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the FC-4s supported
		by the port as defined in FC-GS-2."
  ::= { swNsLocalEntry 11 }

  swNsIpNxPort            OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(16))
	MAX-ACCESS      read-only
	STATUS      current
	DESCRIPTION     "The object identifies IpAddress of the Nx_port for the entry."
  ::= { swNsLocalEntry 12 }

  swNsWwn       OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(8))
	MAX-ACCESS      read-only
	STATUS      current
	DESCRIPTION     "The object identifies the World Wide Name (WWN) of the Fx_port
					 for the entry."
  ::= { swNsLocalEntry 13 }

  swNsHardAddr            OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(3))
	MAX-ACCESS      read-only
	STATUS      current
	DESCRIPTION     "The object identifies the 24-bit hard address of the node
				     for the entry."
 ::= { swNsLocalEntry 14 }

  --
  -- End of Fibre Channel Name Server group
  --

  -- #######################################################################
  --
  -- Event Group - to map the errLog
  --
  -- NOTE
  -- Logically, swEventTable is separate from the error log since it is
  -- essentially a view of the error log within a particular time window.
  -- The value of swEventIndex shall indicate the event number that has  
  -- occurred since the switch booted. The value will range from 1 through
  -- 2147383647 (2^31 - 1).
  --
  -- #######################################################################
 
  swEventTrapLevel      OBJECT-TYPE
        SYNTAX          INTEGER {
			  none		(0),
                          critical      (1),
                          error         (2),
                          warning       (3),
                          informational (4),
                          debug         (5)
                        }
        MAX-ACCESS          read-write
        STATUS          deprecated
        DESCRIPTION     "swAgtTrapSeverityLevel, in absence of
		swEventTrapLevel, specifies the Trap Severity Level of each
		defined trap recipient host.
		This object specifies the swEventTrap level in
		conjunction with an event's severity level. When an event
		occurs and if its severity level is at or below the value
		specified by this object instance, the agent will send
		the associated swEventTrap to configured recipients."
  ::= { swEvent 1 }
 
  -- { swEvent 2..3 are reserved }
 
  swEventNumEntries     OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "The number of entries in the Event Table."
  ::= { swEvent 4 }
 
  swEventTable          OBJECT-TYPE
        SYNTAX          SEQUENCE OF SwEventEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "The table of event entries."
  ::= { swEvent 5 }
 
  swEventEntry          OBJECT-TYPE
        SYNTAX          SwEventEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "An entry of the event table."
        INDEX           { swEventIndex }
 
  ::= { swEventTable 1 }
 
  SwEventEntry          ::= SEQUENCE {
        swEventIndex		Integer32 (0..2147483647),
        swEventTimeInfo		DisplayString (SIZE (0..64)),
        swEventLevel		INTEGER,
	swEventRepeatCount	Integer32 (0..2147483647),
        swEventDescr		DisplayString
  }

  swEventIndex          OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the event entry."
  ::= { swEventEntry 1 }
 
  swEventTimeInfo       OBJECT-TYPE
        SYNTAX          DisplayString(SIZE (0..64))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the date and time when this
                event occurred, in textual format."
  ::= { swEventEntry 2 }
 
  swEventLevel          OBJECT-TYPE
        SYNTAX          INTEGER {
                          critical      (1),
                          error         (2),
                          warning       (3),
			  informational	(4),
                          debug         (5)
                        }
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the severity level of this
		event entry."
  ::= { swEventEntry 3 }
 
  swEventRepeatCount	OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies how many times this particular
		event has occurred."
  ::= { swEventEntry 4 }
 
  swEventDescr          OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS          read-only
        STATUS          current
         DESCRIPTION     "This object identifies the textual description of
                the event."
  ::= { swEventEntry 5 }
 
  --
  -- End of Fibre Channel Event Group
  --

  --
  -- swFwSystem
  -- Fabric Watch subsystem
  -- ###########################################################################
  -- Fabric Watch subsystem consists of two tables
  -- SwFwClassAreaEntry contains control information for a particular class/area's
  -- thresholds. These thresholds are contained in SwFwThresholdEntry.
  -- ###########################################################################

  -- valid action matrix
  SwFwActs ::= INTEGER {
				swFwNoAction(0),
				swFwErrlog(1),
				swFwSnmptrap(2),
				swFwErrlogSnmptrap(3),
				swFwPortloglock(4),
				swFwErrlogPortloglock(5),
				swFwSnmptrapPortloglock(6),
				swFwErrlogSnmptrapPortloglock(7),
				swFwRn(8),
				swFwElRn(9),
				swFwStRn(10),
				swFwElStRn(11),
				swFwPlRn(12),
				swFwElPlRn(13),
				swFwStPlRn(14),
				swFwElStPlRn(15),
				swFwMailAlert(16),
				swFwMailAlertErrlog(17),
				swFwMailAlertSnmptrap(18),
				swFwMailAlertErrlogSnmptrap(19),
				swFwMailAlertPortloglock(20),
				swFwMailAlertErrlogPortloglock(21),
				swFwMailAlertSnmptrapPortloglock(22),
				swFwMailAlertErrlogSnmptrapPortloglock(23),
				swFwMailAlertRn(24),
				swFwElMailAlertRn(25),
				swFwMailAlertStRn(26),
				swFwMailAlertElStRn(27),
				swFwMailAlertPlRn(28),
				swFwMailAlertElPlRn(29),
				swFwMailAlertStPlRn(30),
				swFwMailAlertElStPlRn(31)
				}

  -- variable for threshold values or action matrix level
  SwFwLevels ::= INTEGER {
				swFwReserved(1),
				swFwDefault(2),
				swFwCustom(3)
				}

  -- classes and areas index
  SwFwClassesAreas ::=	INTEGER {
				swFwEnvTemp(1),
				swFwEnvFan(2),
				swFwEnvPs(3),
				swFwTransceiverTemp(4),
				swFwTransceiverRxp(5),
				swFwTransceiverTxp(6),
				swFwTransceiverCurrent(7),
				swFwPortLink(8),
				swFwPortSync(9),
				swFwPortSignal(10),
				swFwPortPe(11),
				swFwPortWords(12),
				swFwPortCrcs(13),
				swFwPortRXPerf(14),
				swFwPortTXPerf(15),
				swFwPortState(16),
				swFwFabricEd(17),
				swFwFabricFr(18),
				swFwFabricDi(19),
				swFwFabricSc(20),
				swFwFabricZc(21),
				swFwFabricFq(22),
				swFwFabricFl(23),
				swFwFabricGs(24),
				swFwEPortLink(25),
				swFwEPortSync(26),
				swFwEPortSignal(27),
				swFwEPortPe(28),
				swFwEPortWords(29),
				swFwEPortCrcs(30),
				swFwEPortRXPerf(31),
				swFwEPortTXPerf(32),
				swFwEPortState(33),
				swFwFCUPortLink(34),
				swFwFCUPortSync(35),
				swFwFCUPortSignal(36),
				swFwFCUPortPe(37),
				swFwFCUPortWords(38),
				swFwFCUPortCrcs(39),
				swFwFCUPortRXPerf(40),
				swFwFCUPortTXPerf(41),
				swFwFCUPortState(42),
				swFwFOPPortLink(43),
				swFwFOPPortSync(44),
				swFwFOPPortSignal(45),
				swFwFOPPortPe(46),
				swFwFOPPortWords(47),
				swFwFOPPortCrcs(48),
				swFwFOPPortRXPerf(49),
				swFwFOPPortTXPerf(50),
				swFwFOPPortState(51),
				swFwPerfALPACRC(52),
			    swFwPerfEToECRC(53),
			    swFwPerfEToERxCnt(54),
			    swFwPerfEToETxCnt(55),
			    swFwPerffltCusDef(56),
			    swFwTransceiverVoltage(57),
			    swFwSecTelnetViolations(58),
			    swFwSecHTTPViolations(59),
			    swFwSecAPIViolations(60),
			    swFwSecRSNMPViolations(61),
			    swFwSecWSNMPViolations(62),
			    swFwSecSESViolations(63),
			    swFwSecMSViolations(64),
			    swFwSecSerialViolations(65),
			    swFwSecFPViolations(66),
			    swFwSecSCCViolations(67),
			    swFwSecDCCViolations(68),
			    swFwSecLoginViolations(69),
			    swFwSecInvaledTS(70),
			    swFwSecInvalidSign(71),
			    swFwSecInvalidCert(72),
			    swFwSecSlapFail(73),
			    swFwSecSlapBadPkt(74),
			    swFwSecTSOutSync(75),
			    swFwSecNoFcs(76),
			    swFwSecIncompDB(77),
			    swFwSecIllegalCmd(78),
				swFwSAMTotalDownTime(79),
				swFwSAMTotalUpTime(80),
				swFwSAMDurationOfOccur(81),
				swFwSAMFreqOfOccur(82),
				swFwResourceFlash(83)
				}

  -- write only variable for applying or canceling
  -- values or action matrix changes
  SwFwWriteVals	::= INTEGER {
				swFwCancelWrite(1),
				swFwApplyWrite(2)
				}

  -- timebase for thresholds
  SwFwTimebase ::= INTEGER {
				swFwTbNone(1),
				swFwTbSec(2),
				swFwTbMin(3),
				swFwTbHour(4),
				swFwTbDay(5)
				}

  -- status for thresholds
  SwFwStatus ::= INTEGER {
				disabled(1),
				enabled(2)
				}

  -- possible events available
  SwFwEvent ::= INTEGER {
				started(1),
				changed(2),
				exceeded(3),
				below(4),
				above(5),
				inBetween(6)
				}
 
  -- behavior type for thresholds
  SwFwBehavior ::= INTEGER {
				triggered(1),
				continuous(2)
				}

  -- state type for last events
  SwFwState ::= INTEGER {
				swFwInformative(1),
				swFwNormal(2),
				swFwFaulty(3)
				}

  -- license state
  SwFwLicense ::= INTEGER {
				swFwLicensed(1),
				swFwNotLicensed(2)
				}

  -- This is the first of the elements declared for Fabric Watch :
  -- one scalar & two tables
  -- A scalar, swFwFabricWatchLicense is used to tell is if the switch has
  -- proper license for Fabric Watch. Please refer to Fabric Watch 
  -- documentation for further information.
  -- One table contains classArea information such as threshold unit string,
  -- time base, low thresholds, etc. The other table contains individual
  -- threshold information such as name, label, last event, etc.
  -- Please refer to Fabric Watch documentation for further information.

  -- license scalar
  swFwFabricWatchLicense	OBJECT-TYPE
	SYNTAX		SwFwLicense
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"tells if licensed or not."
  ::= { swFwSystem 1 }

  -- classArea table
  swFwClassAreaTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF	SwFwClassAreaEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"The table of classes and areas."
  ::= { swFwSystem 2 }

  swFwClassAreaEntry	OBJECT-TYPE
	SYNTAX		SwFwClassAreaEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry of the classes and areas."
	INDEX		{ swFwClassAreaIndex }
  ::= { swFwClassAreaTable 1 }

  SwFwClassAreaEntry ::= SEQUENCE {
	swFwClassAreaIndex		SwFwClassesAreas,
	swFwWriteThVals			SwFwWriteVals,
	swFwDefaultUnit			DisplayString,
	swFwDefaultTimebase		SwFwTimebase,
	swFwDefaultLow			Integer32 (0..2147483647),
	swFwDefaultHigh			Integer32 (0..2147483647),
	swFwDefaultBufSize		Integer32 (0..2147483647),
	swFwCustUnit			DisplayString,
	swFwCustTimebase		SwFwTimebase,
	swFwCustLow				Integer32 (0..2147483647),
	swFwCustHigh			Integer32 (0..2147483647),
	swFwCustBufSize			Integer32 (0..2147483647),
	swFwThLevel				SwFwLevels,
	swFwWriteActVals		SwFwWriteVals,
	swFwDefaultChangedActs	SwFwActs,
	swFwDefaultExceededActs	SwFwActs,
	swFwDefaultBelowActs	SwFwActs,
	swFwDefaultAboveActs	SwFwActs,
	swFwDefaultInBetweenActs        SwFwActs,
	swFwCustChangedActs		SwFwActs,
	swFwCustExceededActs	SwFwActs,
	swFwCustBelowActs		SwFwActs,
	swFwCustAboveActs		SwFwActs,
	swFwCustInBetweenActs           SwFwActs,
	swFwValidActs			SwFwActs,
	swFwActLevel			SwFwLevels
	}

  swFwClassAreaIndex	OBJECT-TYPE
	SYNTAX		SwFwClassesAreas
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object identifies the class type."
  ::= { swFwClassAreaEntry 1 }

  -- this variable is used to apply or cancel
  -- changes made to swFwCustUnit, swFwCustTimebase, swFwCustLow,
  -- swFwCustHigh, swFwCustBufSize.
  -- read of this variable will always return cancel.
  swFwWriteThVals	OBJECT-TYPE
	SYNTAX		SwFwWriteVals
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This object is set to apply the value changes."
  ::= { swFwClassAreaEntry 2 }

  -- {swFwDefaultUnit, swFwDefaultTimebase, swFwDefaultMin, and swFwDefaultMax}
  -- {swFwCustUnit, swFwCustTimebase, swFwCustMin, and swFwCustMax}
  -- are grouped together to be applied to give threshold areas as in 
  --- Default and Cust. Which of default, or custom groups applies depends
  --- on swFwThLevel.
  swFwDefaultUnit		OBJECT-TYPE	
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"A Default unit string name for a threshold area."
  ::= { swFwClassAreaEntry 3 }

  swFwDefaultTimebase	OBJECT-TYPE
	SYNTAX		SwFwTimebase
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"A Default timebase for the current threshold counter."
  ::= { swFwClassAreaEntry 4 }

  swFwDefaultLow		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"A Default low threshold value."
  ::= { swFwClassAreaEntry 5 }

  swFwDefaultHigh		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"A Default high threshold value."
  ::= { swFwClassAreaEntry 6 }

  swFwDefaultBufSize		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"A Default buffer size value."
  ::= { swFwClassAreaEntry 7 }

  swFwCustUnit	OBJECT-TYPE	
	SYNTAX		DisplayString
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A custom unit string name for a threshold area."
  ::= { swFwClassAreaEntry 8 }

  swFwCustTimebase	OBJECT-TYPE
	SYNTAX		SwFwTimebase
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A custom timebase for the current threshold counter."
  ::= { swFwClassAreaEntry 9 }

  swFwCustLow		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A custom low threshold value."
  ::= { swFwClassAreaEntry 10 }

  swFwCustHigh		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A custom high threshold value."
  ::= { swFwClassAreaEntry 11 }

  swFwCustBufSize		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A custom buffer size value."
  ::= { swFwClassAreaEntry 12 }

  -- swFwThLevel is used to point to current level for classArea
  -- values. It is either default or custom.
  swFwThLevel		OBJECT-TYPE
	SYNTAX		SwFwLevels
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A level where all the threshold values are set at."
  ::= { swFwClassAreaEntry 13 }

  -- this variable is used to apply or cancel
  -- changes made to swFwCustUnit, swFwCustTimebase, swFwCustLow,
  -- swFwCustHigh, swFwCustBufSize.
  -- read of this variable will always return cancel.
  swFwWriteActVals	OBJECT-TYPE
	SYNTAX		SwFwWriteVals
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This object is set to apply act value changes."
  ::= { swFwClassAreaEntry 14 }

  -- {swFwDefaultChangedActs, swFwDefaultExceededActs, swFwDefaultBelowActs, 
  -- and swFwDefaultAboveActs} and {swFwCustChangedActs, swFwCustExceededActs, 
  -- swFwCustBelowActs, and swFwCustAboveActs} are grouped together to be 
  -- applied to give threshold areas as in default and cust. Which of 
  -- default, or custom groups applies depends on swFwThLevel.
  swFwDefaultChangedActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Default action matrix for changed event."
  ::= { swFwClassAreaEntry 15 }
	
  swFwDefaultExceededActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Default action matrix for exceeded event."
  ::= { swFwClassAreaEntry 16 }
	
  swFwDefaultBelowActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Default action matrix for below event."
  ::= { swFwClassAreaEntry 17 }
	
  swFwDefaultAboveActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Default action matrix for above event."
  ::= { swFwClassAreaEntry 18 }

  swFwDefaultInBetweenActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Default action matrix for in-between event."
  ::= { swFwClassAreaEntry 19 }

  swFwCustChangedActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"custom action matrix for changed event."
  ::= { swFwClassAreaEntry 20 }
	
  swFwCustExceededActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"custom action matrix for exceeded event."
  ::= { swFwClassAreaEntry 21 }
	
  swFwCustBelowActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"custom action matrix for below event."
  ::= { swFwClassAreaEntry 22 }
	
  swFwCustAboveActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"custom action matrix for above event."
  ::= { swFwClassAreaEntry 23 }

  swFwCustInBetweenActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"custom action matrix for in-between event."
  ::= { swFwClassAreaEntry 24 }

  swFwValidActs	OBJECT-TYPE
	SYNTAX		SwFwActs
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"matrix of valid acts for an class/area."
  ::= { swFwClassAreaEntry 25 }

  -- swFwActLevel is used to point to current level for classArea
  -- action matrix. It is either default or custom.
  swFwActLevel	OBJECT-TYPE
	SYNTAX		SwFwLevels
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A level where all the actions are set at."
  ::= { swFwClassAreaEntry 26 }

  -- table for individual threshold
  swFwThresholdTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF	SwFwThresholdEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"The table of individual thresholds."
  ::= { swFwSystem 3 }

  swFwThresholdEntry	OBJECT-TYPE
	SYNTAX		SwFwThresholdEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry of an individual threshold."
	INDEX		{ swFwClassAreaIndex, swFwThresholdIndex }
  ::= { swFwThresholdTable 1 }

  SwFwThresholdEntry ::= SEQUENCE {
	swFwThresholdIndex		Integer32 (0..2147483647),
	swFwStatus				SwFwStatus,
	swFwName				DisplayString(SIZE(0..32)),
	swFwLabel				DisplayString(SIZE(0..70)),
	swFwCurVal				Integer32 (0..2147483647),
	swFwLastEvent			SwFwEvent,
	swFwLastEventVal		Integer32 (0..2147483647),
	swFwLastEventTime		DisplayString(SIZE(0..32)),
	swFwLastState			SwFwState,
	swFwBehaviorType		SwFwBehavior,
	swFwBehaviorInt			Integer32 (0..2147483647),
	swFwLastSeverityLevel	SwSevType
	}	

  swFwThresholdIndex	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only	
	STATUS		current
	DESCRIPTION	"This object identifies the element index of
				an threshold."
  ::= { swFwThresholdEntry 1 }

  swFwStatus		OBJECT-TYPE
	SYNTAX		SwFwStatus
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"This object identifies if an threshold is
				enabled or disabled."
  ::= { swFwThresholdEntry 2 }

  swFwName		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE(0..32))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a name of the threshold."
  ::= { swFwThresholdEntry 3 }

  swFwLabel		OBJECT-TYPE
	SYNTAX		DisplayString(SIZE(0..70))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a label of the threshold."
  ::= { swFwThresholdEntry 4 }

  swFwCurVal		OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a current counter of the threshold."
  ::= { swFwThresholdEntry 5 }

  swFwLastEvent	OBJECT-TYPE
	SYNTAX		SwFwEvent
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a last event type of the threshold."
  ::= { swFwThresholdEntry 6 }

  swFwLastEventVal	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a last event value of the threshold."
  ::= { swFwThresholdEntry 7 }

  swFwLastEventTime	OBJECT-TYPE
	SYNTAX		DisplayString(SIZE(0..32))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a last event time of the threshold."
  ::= { swFwThresholdEntry 8 }

  swFwLastState	OBJECT-TYPE
	SYNTAX		SwFwState
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"This object is a last event state of the threshold."
  ::= { swFwThresholdEntry 9 }

  swFwBehaviorType	OBJECT-TYPE
	SYNTAX		SwFwBehavior
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A behavior of which the thresholds generate event."
  ::= { swFwThresholdEntry 10 }

  swFwBehaviorInt	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION	"A integer of which the thresholds generate continuous event."
  ::= { swFwThresholdEntry 11 }

  swFwLastSeverityLevel	OBJECT-TYPE
	SYNTAX		SwSevType
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"This object is a last event severity level of the threshold."
  ::= { swFwThresholdEntry 12 }

  -- swEndDevice Group
  -- ###########################################################################
  -- table for RLS of end devices.
  -- swEndDevice consists of only one table.
  -- swEndDeviceRlsTable contains entries of individual end devices' rls.
  -- ###########################################################################

  swEndDeviceRlsTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF	SwEndDeviceRlsEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"The table of individual end devices' rls."
  ::= { swEndDevice 1 }

  swEndDeviceRlsEntry	OBJECT-TYPE
	SYNTAX		SwEndDeviceRlsEntry
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"An entry of an individual end devices' rls."
	INDEX		{ swEndDevicePort, swEndDeviceAlpa }
  ::= { swEndDeviceRlsTable 1 }

  SwEndDeviceRlsEntry ::= SEQUENCE {
	swEndDevicePort				Integer32 (0..2147483647),
	swEndDeviceAlpa				Integer32 (0..2147483647),
	swEndDevicePortID               OCTET STRING (SIZE(4)),
	swEndDeviceLinkFailure		Integer32 (0..2147483647),
	swEndDeviceSyncLoss			Integer32 (0..2147483647),
	swEndDeviceSigLoss			Integer32 (0..2147483647),
	swEndDeviceProtoErr			Integer32 (0..2147483647),
	swEndDeviceInvalidWord		Integer32 (0..2147483647),
	swEndDeviceInvalidCRC		Integer32 (0..2147483647)
	}	

  -- Since Silkworm family switches start with port # 0
  -- snmp port # should be physical port # + 1.
  -- i.e. snmp port # 3 translates to port # 2
  swEndDevicePort	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"This object identifies the port of the end device."
  ::= { swEndDeviceRlsEntry 1 }

  -- snmp alpa # should be logical alpa # + 1.
  -- i.e. snmp alpa # 0xf0 translates to 0xef
  swEndDeviceAlpa	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"This object identifies the alpa of the end device."
  ::= { swEndDeviceRlsEntry 2 }

  swEndDevicePortID		OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(4))
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The object identifies the Fibre Channel port address
		ID of the entry."
  ::= { swEndDeviceRlsEntry 3 }

  swEndDeviceLinkFailure	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Link failure count for the end device."
  ::= { swEndDeviceRlsEntry 4 }

  swEndDeviceSyncLoss	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Sync loss count for the end device."
  ::= { swEndDeviceRlsEntry 5 }

  swEndDeviceSigLoss	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Sig loss count for the end device."
  ::= { swEndDeviceRlsEntry 6 }

  swEndDeviceProtoErr	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Protocol err count for the end device."
  ::= { swEndDeviceRlsEntry 7 }

  swEndDeviceInvalidWord	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Invalid word count for the end device."
  ::= { swEndDeviceRlsEntry 8 }

  swEndDeviceInvalidCRC	OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Invalid CRC count for the end device."
  ::= { swEndDeviceRlsEntry 9 }

-- table for displaying all the Groups
  swGroupTable  OBJECT-TYPE
        SYNTAX          SEQUENCE OF     SwGroupEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "The table of groups. This may not be available
                         on all versions of Fabric OS."
  ::= { swGroup 1 }

  swGroupEntry  OBJECT-TYPE
        SYNTAX          SwGroupEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "An entry of table of groups."
        INDEX           { swGroupIndex }
  ::= { swGroupTable 1 }

  SwGroupEntry ::= SEQUENCE {
        swGroupIndex    Integer32 (0..2147483647),
        swGroupName     OCTET STRING (SIZE (0..32)),
        swGroupType     OCTET STRING (SIZE (0..15))
        }
swGroupIndex    OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object is the group index starting from 1."
  ::= { swGroupEntry 1 }

 swGroupName    OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..32))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the name of the group."
  ::= { swGroupEntry 2 }

  swGroupType   OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..15))
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the type of the group."
  ::= { swGroupEntry 3 }

-- table for displaying group members for all the groups

  swGroupMemTable       OBJECT-TYPE
        SYNTAX          SEQUENCE OF SwGroupMemEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "The table of members of all groups. This may not
                         be available on all versions of Fabric OS."
  ::= { swGroup 2 }

  swGroupMemEntry       OBJECT-TYPE
        SYNTAX          SwGroupMemEntry
        MAX-ACCESS          not-accessible
        STATUS          current
        DESCRIPTION     "An entry for a member of a group."
        INDEX           { swGroupId, swGroupMemWwn }
  ::= { swGroupMemTable 1 }

  SwGroupMemEntry ::= SEQUENCE {
        swGroupId       Integer32 (0..2147483647),
        swGroupMemWwn   FcWwn,
        swGroupMemPos   Integer32 (0..2147483647)
        }

  swGroupId OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the Group Id  of the
                         member switch."
  ::= { swGroupMemEntry 1 }

  swGroupMemWwn OBJECT-TYPE
        SYNTAX          FcWwn
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies the WWN of the member switch."
  ::= { swGroupMemEntry 2 }

  swGroupMemPos OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS          read-only
        STATUS          current
        DESCRIPTION     "This object identifies position of the member
                         switch in the group. This is based on the order
                         that the switches were added in the group."
  ::= { swGroupMemEntry 3 }

-- ************************************************************************************
--      Bloom Performance counter tables.                                           *
--                                                                                  *
-- ************************************************************************************

 swBlmPerfALPAMntTable      OBJECT-TYPE
   SYNTAX          SEQUENCE OF SwBlmPerfALPAMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION  "ALPA monitoring counter Table. "
 ::= { swBlmPerfMnt 1}

 swBlmPerfALPAMntEntry      OBJECT-TYPE
   SYNTAX          SwBlmPerfALPAMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION     " ALPA monitoring counter for given ALPA."
   INDEX           { swBlmPerfAlpaPort,swBlmPerfAlpaIndx }
 ::= { swBlmPerfALPAMntTable 1}

 SwBlmPerfALPAMntEntry ::= SEQUENCE {
 swBlmPerfAlpaPort           SwPortIndex,
 swBlmPerfAlpaIndx           Integer32 (1..126),
 swBlmPerfAlpa               Integer32 (0..2147483647),
 swBlmPerfAlpaCRCCnt         OCTET STRING
 }

 swBlmPerfAlpaPort       OBJECT-TYPE
   SYNTAX          SwPortIndex
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     " This Object identifies the port index of the switch."
 ::= { swBlmPerfALPAMntEntry 1}

 swBlmPerfAlpaIndx           OBJECT-TYPE
 SYNTAX          Integer32 (1..126)
 MAX-ACCESS          read-only
 STATUS          current
 DESCRIPTION   " This Object identifies the ALPA index. There can be 126 ALPA values"
 ::= { swBlmPerfALPAMntEntry 2}

 swBlmPerfAlpa           OBJECT-TYPE
   SYNTAX          Integer32 (0..2147483647) 
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION  " This Object identifies the ALPA values. These values
                  range between x'01' and x'EF'(1 to 239). ALPA value x'00'
                  is reserved for FL_Port
				  If Alpa device is invalid, then it will have -1 value.  "
 ::= { swBlmPerfALPAMntEntry 3}

 swBlmPerfAlpaCRCCnt     OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE(8))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION   "Get CRC count for given ALPA and port. This monitoring
				  provides information on the number of CRC errors
				  occurred on the frames destined to each possible ALPA
				  attached to a specific port."

 ::= { swBlmPerfALPAMntEntry 4}

 swBlmPerfEEMntTable        OBJECT-TYPE
   SYNTAX          SEQUENCE OF SwBlmPerfEEMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION     " End-to-End  monitoring counter Table"
 ::= { swBlmPerfMnt 2}

 swBlmPerfEEMntEntry        OBJECT-TYPE
   SYNTAX          SwBlmPerfEEMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION     "End-to-End monitoring counter for given port."
   INDEX               { swBlmPerfEEPort, swBlmPerfEERefKey}
 ::= { swBlmPerfEEMntTable 1}

 SwBlmPerfEEMntEntry ::= SEQUENCE{
 swBlmPerfEEPort         SwPortIndex,
 swBlmPerfEERefKey       Integer32 (1..8),
 swBlmPerfEECRC          OCTET STRING,
 swBlmPerfEEFCWRx        OCTET STRING,
 swBlmPerfEEFCWTx        OCTET STRING,
 swBlmPerfEESid          Integer32 (0..2147483647),
 swBlmPerfEEDid          Integer32 (0..2147483647)
}

 swBlmPerfEEPort     OBJECT-TYPE
   SYNTAX          SwPortIndex
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION    " This object identifies the port number of the switch."
 ::= { swBlmPerfEEMntEntry 1}

 swBlmPerfEERefKey      OBJECT-TYPE
   SYNTAX          Integer32 (1..8)
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "This object identifies the reference number
					of the counter. This reference is  number assigned
                    when a filter is created. In SNMP Index start one
                    instead of 0, add one to actual ref key"
 ::= { swBlmPerfEEMntEntry 2}

 swBlmPerfEECRC      OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE(8))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION    " Get End to End CRC error for the frames that matched
					the SID-DID pair."
::= { swBlmPerfEEMntEntry 3}


 swBlmPerfEEFCWRx        OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE(8))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "Get End to End count of Fibre Channel words (FCW),
   					received by the port, that matched
				    the SID-DID pair. "
 ::= { swBlmPerfEEMntEntry 4 }

 swBlmPerfEEFCWTx        OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE(8))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "Get End to End count of Fibre Channel words (FCW),
					transmitted by the port, that matched the SID-DID pair. "
 ::= { swBlmPerfEEMntEntry 5}

 swBlmPerfEESid      OBJECT-TYPE
   SYNTAX          Integer32 (0..2147483647)
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     " Gets SID info by reference number. SID (Source Identifier)
          			is a 3-byte field in the frame header used to indicate the
					address identifier of the N-Port from which the frame was sent."
 ::= { swBlmPerfEEMntEntry 6 }

 swBlmPerfEEDid      OBJECT-TYPE
   SYNTAX          Integer32 (0..2147483647)
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "Gets DID info by reference number.
                    DID (Destination Identifier) is a 3-byte field in the
                    frame header used to indicate the address identifier of 
                    the N-Port to which the frame was sent."
 ::= { swBlmPerfEEMntEntry 7 }

 swBlmPerfFltMntTable       OBJECT-TYPE
   SYNTAX          SEQUENCE OF SwBlmPerfFltMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION     "Filter based monitoring counter."
 ::= { swBlmPerfMnt 3}

 swBlmPerfFltMntEntry       OBJECT-TYPE
   SYNTAX          SwBlmPerfFltMntEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION     " Filter base monitoring counter for given port."
   INDEX           { swBlmPerfFltPort,swBlmPerfFltRefkey}
 ::= { swBlmPerfFltMntTable 1}

 SwBlmPerfFltMntEntry ::= SEQUENCE{
 swBlmPerfFltPort        SwPortIndex,
 swBlmPerfFltRefkey      Integer32 (1..8),
 swBlmPerfFltCnt         OCTET STRING,
 swBlmPerfFltAlias       DisplayString(SIZE(0..20))
 }

 swBlmPerfFltPort        OBJECT-TYPE
   SYNTAX          SwPortIndex
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "This object identifies the port number of the switch."
 ::= { swBlmPerfFltMntEntry 1}

 swBlmPerfFltRefkey      OBJECT-TYPE
   SYNTAX          Integer32 (1..8)
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION    " This object identifies the reference number of the filter.
					This reference number is assigned when a filter is created.
					In SNMP Index start one instead of 0, add one to actual ref key"
 ::= { swBlmPerfFltMntEntry 2}

 swBlmPerfFltCnt     OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE(8))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "Get statistics of filter based monitor.
 					Filter based monitoring provides information
    				about a filter hit count such as
						1.  Read command
						2.  SCSI or IP traffic
						3.  SCSI Read/Write"
 ::= { swBlmPerfFltMntEntry 3 }

 swBlmPerfFltAlias       OBJECT-TYPE
   SYNTAX          DisplayString(SIZE(0..20))
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION    " Alias name for the filter."
 ::= { swBlmPerfFltMntEntry 4}

swSwitchTrunkable		OBJECT-TYPE
  SYNTAX			INTEGER { yes ( 8 ) , no ( 0 ) }
  MAX-ACCESS			read-only
  STATUS			current
  DESCRIPTION	"The trunking status of the switch - whether the switch supports the trunking feature or not. The values are
		yes(8) - the trunking feature is supported
		no(0). - the trunking feature is not supported. "

 ::= { swTrunk 1}

swTrunkTable			OBJECT-TYPE
  SYNTAX			SEQUENCE OF SwTrunkEntry
  MAX-ACCESS			not-accessible
  STATUS			current
  DESCRIPTION	" Table to display trunking information for the switch. "
 ::= { swTrunk 2}

swTrunkEntry		OBJECT-TYPE
  SYNTAX			SwTrunkEntry
  MAX-ACCESS			not-accessible
  STATUS			current
  DESCRIPTION	"Entry for the trunking table."
  INDEX	{ swTrunkPortIndex }
 ::= { swTrunkTable 1}

SwTrunkEntry ::= SEQUENCE{
  swTrunkPortIndex	SwPortIndex,
  swTrunkGroupNumber Integer32 (0..2147483647),
  swTrunkMaster		SwTrunkMaster,
  swPortTrunked		INTEGER
 }

swTrunkPortIndex		OBJECT-TYPE
  SYNTAX			SwPortIndex
  MAX-ACCESS			read-only
  STATUS			current
  DESCRIPTION	        "This object identifies the switch port index.
			Note that the value of a port index is 1 higher than the
                        port number labeled on the front panel.
			e.g. port index 1 correspond to port number 0. "
 ::= { swTrunkEntry 1 }

swTrunkGroupNumber		OBJECT-TYPE
	SYNTAX			Integer32 (0..2147483647) 
	MAX-ACCESS			read-only
	STATUS			current
	DESCRIPTION		"This object is a logical entity which specifies 
					the Group Number to which the port belongs to.
					If this value is Zero it means the port is not Trunked."
	::= { swTrunkEntry 2}

swTrunkMaster			OBJECT-TYPE
  SYNTAX			SwTrunkMaster
  MAX-ACCESS			read-only
  STATUS			current
  DESCRIPTION		"Port number that is the trunk master of the group. 
			The trunk master implicitly defines the group. 
			All ports with the same master are considered to be part of the same group."
 ::= { swTrunkEntry 3 }

  swPortTrunked     OBJECT-TYPE
  SYNTAX			INTEGER {disabled(0), enabled(1)}
  MAX-ACCESS			read-only
  STATUS			current
  DESCRIPTION   	"The current state of trunking for a member port.
			      	Values are enabled(1) or disabled(0)."
 ::= { swTrunkEntry 4 }


  swTrunkGrpTable   OBJECT-TYPE
  SYNTAX          SEQUENCE OF SwTrunkGrpEntry
  MAX-ACCESS          not-accessible
  STATUS          current
  DESCRIPTION  	  "Table to display trunking Performance
   					information for the switch."
   ::= { swTrunk 3}

   swTrunkGrpEntry     OBJECT-TYPE
   SYNTAX          SwTrunkGrpEntry
   MAX-ACCESS          not-accessible
   STATUS          current
   DESCRIPTION 	   "Entry for the trunking Group table."
   INDEX   { swTrunkGrpNumber}
   ::= { swTrunkGrpTable 1}

	SwTrunkGrpEntry ::= SEQUENCE{
	swTrunkGrpNumber        Integer32 (0..2147483647),
	swTrunkGrpMaster        SwTrunkMaster,
	swTrunkGrpTx            OCTET STRING (SIZE (8)),
	swTrunkGrpRx            OCTET STRING (SIZE (8)) 
	}

	swTrunkGrpNumber        OBJECT-TYPE
	SYNTAX          Integer32 (0..2147483647)
	MAX-ACCESS          read-only
	STATUS          current
	DESCRIPTION     "This object is a logical entity which
					specifies the Group Number to which port 
					belongs to."
    ::= { swTrunkGrpEntry  1 }

   swTrunkGrpMaster        OBJECT-TYPE
   SYNTAX          SwTrunkMaster
   MAX-ACCESS          read-only
   STATUS          current
   DESCRIPTION     "This object gives the master port id
					for the TrunkGroup."
	::= { swTrunkGrpEntry  2 }

	swTrunkGrpTx            OBJECT-TYPE
  	  SYNTAX          OCTET STRING (SIZE (8))
	  MAX-ACCESS          read-only
	  STATUS          current
	  DESCRIPTION     "Gives the aggregate value of the    
					   transmitted words from this TrunkGroup."
	::= { swTrunkGrpEntry  3}

	 swTrunkGrpRx            OBJECT-TYPE
	   SYNTAX            OCTET STRING (SIZE (8))
	   MAX-ACCESS          read-only
	   STATUS          current
	   DESCRIPTION     "Gives the aggregate value of the  
	   					received words by this TrunkGroup."
	::= { swTrunkGrpEntry  4 }


--
-- Enterprise Specific Traps for Fibre Channel Switch (sw).
--

  swTrapsV2 OBJECT-IDENTITY
    STATUS     current
	DESCRIPTION	"The Traps for Brocade's Fibre Channel Switch."
	::= { sw 0 }

  swFault		NOTIFICATION-TYPE
	OBJECTS	{ swDiagResult, swSsn , swGroupName, swGroupType, swGroupMemPos }
	STATUS	obsolete
	DESCRIPTION	"Obsoleted this trap as firmware doesn't support this trap.
		A swFault(1) is generated whenever the diagnostics
		detects a fault with the switch."
	--#TYPE		"Switch is faulty."
	--#SUMMARY	"Faulty reason: %d and SSN is #%s,GroupName %s,GroupType %s,GroupMemPosition %d""
	--#ARGUMENTS	{ 0, 1, 2, 3, 4}
	--#SEVERITY	CRITICAL
	--#TIMEINDEX	1
	--#STATE	NONOPERATIONAL
	::= { swTrapsV2 1 }

  swSensorScn	NOTIFICATION-TYPE
	OBJECTS	{ swSensorStatus, swSensorIndex, swSensorType,
					swSensorValue, swSensorInfo, swSsn,
					swGroupName, swGroupType, swGroupMemPos }
	STATUS	current
	DESCRIPTION	"A swSensorScn(2) is generated whenever an
		environment sensor changes its operational state. For instance,
		a fan stop working. The VarBind in the Trap Data Unit shall
		contain the corresponding instance of the sensor
		status, sensor index, sensor type, sensor value (reading)
		and sensor information. Note that the sensor information
		contains the type of sensor and its number in textual format."
	--#TYPE		"A sensor (temperature, fan, etc.) changed its operational state."
	--#SUMMARY	"%s: is currently in state %d and SSN is #%s GroupName %s,GroupType %s,GroupMemPosition %d"
	--#ARGUMENTS	{ 4, 0, 5, 6, 7, 8 }
	--#SEVERITY	INFORMATIONAL
	--#TIMEINDEX	1
	--#STATE	OPERATIONAL
	::= { swTrapsV2 2 }

   swFCPortScn		NOTIFICATION-TYPE
	OBJECTS	{ swFCPortOpStatus, swFCPortIndex, swFCPortName,
					swSsn, swGroupName, swGroupType, swGroupMemPos }
	STATUS	current
	DESCRIPTION	"A swFCPortScn(3) is generated whenever an FC_Port
		changes its operational state. For instance, the FC_Port
		goes from on-line to offline. The VarBind in the Trap Data
		Unit shall contain the corresponding instance of the
		FC_Port's operational status, index, swFCPortName and
		swSsn. swFCPortName, swSsn are optional."
	--#TYPE		"A Fibre Channel Port changed its operational state."
	--#SUMMARY	"Port Index %d changed state to %d  Port Name: %s and SSN is #%s, GroupName %s,GroupType %s,GroupMemPosition %d"
	--#ARGUMENTS	{ 1, 0, 2, 3, 4, 5, 6 }
	--#SEVERITY	INFORMATIONAL
	--#TIMEINDEX	1
	--#STATE	OPERATIONAL
	::= { swTrapsV2 3 }

   swEventTrap           NOTIFICATION-TYPE
        OBJECTS       { swEventIndex, swEventTimeInfo, swEventLevel,
                          swEventRepeatCount, swEventDescr, swSsn,
						  swGroupName,swGroupType,swGroupMemPos }
        STATUS      current
        DESCRIPTION     "This trap is generated when an event whose
                level at or below swEventTrapLevel occurs."
	--#TYPE		"A firmware event has been logged"
	--#SUMMARY	"Event %d: %s (severity level %d) - %s SSN is #%s GroupName %s,GroupType %s,GroupMemPosition %d"
	--#ARGUMENTS	{ 0, 1, 2, 4, 5, 6, 7, 8}
	--#SEVERITY	INFORMATIONAL
	--#TIMEINDEX	1
	--#STATE	OPERATIONAL
	::= { swTrapsV2 4 }

  -- traps for Fabric Watch subsystem

  swFabricWatchTrap	NOTIFICATION-TYPE
	OBJECTS	{	swFwClassAreaIndex,
					swFwThresholdIndex,
					swFwName,
					swFwLabel,
					swFwLastEventVal,
					swFwLastEventTime,
					swFwLastEvent,
					swFwLastState,
					swFwLastSeverityLevel,
					swSsn,
				    swGroupName,
					swGroupType,
					swGroupMemPos
					}
	STATUS	current
	DESCRIPTION	"trap to be sent by Fabric Watch to notify of an event"
	--#TYPE		"Fabric Watch has generated an event"
	--#SUMMARY	"Threshold %s in Class/Area %d at index %d has generated event %d with %d on %s. This event is %d. This event label is %d, event severity level is %d and SSN is #%s, GroupName %s,GroupType %s,GroupMemPosition %d"
	--#ARGUMENTS	{ 2, 0, 1, 6, 4, 5, 7, 3, 8, 9, 10, 11, 12}
	--#SEVERITY	WARNING
	--#TIMEINDEX	1
	--#STATE	OPERATIONAL
	::= { swTrapsV2 5 }

  -- traps for track changes subsystem

  swTrackChangesTrap	NOTIFICATION-TYPE
	OBJECTS	{	swTrackChangesInfo, swSsn,
					swGroupName, swGroupType, swGroupMemPos
					}
	STATUS	current
	DESCRIPTION	"trap to be sent for tracking login/logout/config changes"
	--#TYPE		"Track changes has generated a trap"
	--#SUMMARY	"%s and SSN is #%s, GroupName %s,GroupType %s,GroupMemPosition %d"
	--#ARGUMENTS	{ 0, 1, 2, 3, 4  }
	--#SEVERITY	INFORMATIONAL
	--#TIMEINDEX	1
	--#STATE	OPERATIONAL
	::= { swTrapsV2 6 }

   -- end of Enterprise Specific Traps for Fibre Channel Switch (sw)
END
