-- *****************************************************************************
-- Copyright (c) 2006-2009 :
-- 
-- Westermo Teleindustri
-- 640 40 Stora Sundby 
-- Sweden
-- url: http://www.westermo.com
--
-- Contact: support@westermo.se         
-- 
-- Description: Westermo Lynx/Viper Private MIB-file.
-- 		Defines the Lynx/Viper branch of the Westermo Private MIB tree.
-- 
-- ****************************************************************************
-- 

WESTERMO-LYNX-MIB DEFINITIONS ::= BEGIN
 
 
IMPORTS
    DisplayString
    FROM SNMPv2-TC
    
    NOTIFICATION-TYPE,
    IpAddress,
    OBJECT-TYPE,
    MODULE-IDENTITY
    FROM SNMPv2-SMI
    
    products
    FROM WESTERMO-OID-MIB
        
    OBJECT-GROUP,
    NOTIFICATION-GROUP
    FROM SNMPv2-CONF;
                                         

lynx MODULE-IDENTITY
    LAST-UPDATED "200905280000Z"
    ORGANIZATION "Westermo"
    CONTACT-INFO
    "Westermo Teleindustri
     640 40 Stora Sundby
     Sweden
     url: http://www.westermo.com

     Contact: support@westermo.se
     Description: Westermo Lynx Private MIB-file"

    DESCRIPTION
        "This MIB module controls the private part for the Westermo
        Lynx switch."  

    REVISION "200905280000Z"
    DESCRIPTION 
	"Split of Lynx MIB file. Lynx specific objects still use the
	same OIDs, but are defined in this Lynx specific MIB module
	(WESTERMO-LYNX-MIB). Make sure to load the WESTERMO-OID-MIB
	MIB module before loading WESTERMO-LYNX-MIB.
	Note that the top OID of the WESTERMO private MIB where the
	Lynx MIB hook up are now named 'enterprise.westermo.products'
	inline with other Westermo Private MIBs.

	For Lynx firmware version 3.17 and later. Please see the Lynx
	Release Notes for information on MIB file updates."

    REVISION "200606292359Z"
    DESCRIPTION "Change definitions for igmpColor, added some new variables."

    REVISION "200604120819Z"
    DESCRIPTION "Add variables for new release."

    REVISION "200604120619Z"
    DESCRIPTION "Syntax cleanup to allow for automatic testing of MIB correctness."

    ::= { products 2 }
                                
--
--  Westermo private MIB's for the Lynx platform
--
general       OBJECT IDENTIFIER ::= { lynx 1 }
config        OBJECT IDENTIFIER ::= { lynx 2 }
igmp          OBJECT IDENTIFIER ::= { lynx 5 }
stat          OBJECT IDENTIFIER ::= { lynx 6 }
privTraps     OBJECT IDENTIFIER ::= { lynx 7 }



--
--	Lynx OIDs.
--
temperature OBJECT-TYPE
    SYNTAX INTEGER (-100..100)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Read the temperature on the R200/T200."
    ::= { general 1 }

swVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Read the software version of the managed cpu software on the R200/T200."
    ::= { general 2 }

swVersionBootLoader OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Read the software version of the baseboard cpu on the R200/T200."
    ::= { general 3 }

hwVersionBoard OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Read the hardware version of the managed cpu board on the R200/T200."
    ::= { general 4 }

hwVersionPld OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Read the hardware version of the baseboard cpu software on the R200/T200."
    ::= { general 5 }

serialNumber OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The serial number for the switch."
    ::= { general 6 }

batchID OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "The batch ID number for the switch."
    ::= { general 7 }

hwConfig OBJECT-TYPE
    SYNTAX INTEGER{
    amd(22),  	-- The type of Flash memory
    intel(23)   -- The type of Flash memory
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Shows the Flash memory type."
    ::= { general 8 }

reset OBJECT-TYPE
    SYNTAX INTEGER{
        reset(1),  -- reboot the switch
        factoryDefault(2)  -- reset the switch configuration to factory default values
    }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Reset the lynx."
    ::= { general 9 }

powerSupply OBJECT-TYPE
    SYNTAX INTEGER{
        okpowerAB(1),
        okpowerA(2),
        okpowerB(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Read the power supply status. The system has redundant power supply possibillites.
        This mib reads out the status."
    ::= { general 10 }

trapHostAddr1 OBJECT-TYPE
    SYNTAX DisplayString 
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The address to the trap host PC in the network."
    ::= { general 11 }

trapHostAddr2 OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The address to the trap host PC in the network."
    ::= { general 12 }

readPassword OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The read-only community string"
    ::= { general 13 }

writePassword OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The read/write community string"
    ::= { general 14 }


ontPortNumber OBJECT-TYPE
    SYNTAX INTEGER (0..64)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "The number of network ports."
    ::= { config 1 }
          
ontTable OBJECT-TYPE
    SYNTAX SEQUENCE OF OntEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of configuration entries.  The number of
        entries is given by the value of ifNumber."
    ::= { config 2 }

ontEntry OBJECT-TYPE
    SYNTAX OntEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An interface entry containing objects at the
        subnetwork layer and below for a particular
        interface."
    INDEX { portIndex }
    ::= { ontTable 1 }

OntEntry ::=
    SEQUENCE {
        portIndex  		  INTEGER,
        portEnable		  INTEGER,
        portDuplexMode    INTEGER,
        portAutoNegotiate INTEGER,
        portSpeed         INTEGER,
        portAlarm         INTEGER,
        portType	        DisplayString,
        timeSyncFilters   INTEGER,
        rstpPortTrunk     INTEGER,
        igmpPortTrunk     INTEGER,
        portVlanColors    DisplayString,
        removePortTag     INTEGER,
        vlanId            INTEGER,
        vlanPrio          INTEGER,
        vlanDefaultColor  INTEGER,
        igmpColor         INTEGER,
        rstpPortStatus    INTEGER,
        linkStatus        INTEGER
    }  

portGroup OBJECT-GROUP
    OBJECTS {
        portIndex,
        portEnable,
        portDuplexMode,
        portAutoNegotiate,
        portSpeed,
        portAlarm,
        portType,
        timeSyncFilters,
        rstpPortTrunk,
        igmpPortTrunk,
        portVlanColors,
        removePortTag,
        vlanId,
        vlanPrio,
        vlanDefaultColor,
        igmpColor,
        rstpPortStatus,
        linkStatus
    }  
    STATUS current
    DESCRIPTION
        "Network port properties."
    ::= { general 15 }

miscGroup OBJECT-GROUP
    OBJECTS {
        temperature,
        swVersion,
        swVersionBootLoader,
        hwVersionBoard,
        hwVersionPld,
        serialNumber,
        batchID,
        hwConfig,
        reset,
        powerSupply,
        trapHostAddr1,
        trapHostAddr2,
        readPassword,
        writePassword,
        ontPortNumber,
        snmp,
        frnt,
        frntPorts,
        dhcp,
        enableVlan,
        ipAddress,
        ipNetMask,
        defaultGateway,
        dhcpRelayAgent,
        dhcpRelayAgentServer1,
        dhcpRelayAgentServer2,
        rstp,
        statusCode,
        enableStatusTrap
    }
    STATUS current
    DESCRIPTION
        "General properties."
    ::= { general 16 }

trapGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        statWarning,
        statNoWarning,
        linkUpChangeWarning,
        linkDownChangeWarning
    }
    STATUS current
    DESCRIPTION
        "Traps."
    ::= { general 17 }

igmpGroup OBJECT-GROUP
    OBJECTS {
        snooping,
        querier,
        automode,
        stopfilter,
        querytimeout
    }
    STATUS current
    DESCRIPTION
        "IGMP snooping properties."
    ::= { general 18 }

portIndex OBJECT-TYPE
    SYNTAX INTEGER
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
         "A unique value, greater than zero, for each port."
     ::= { ontEntry 1 }

portEnable OBJECT-TYPE
    SYNTAX INTEGER {
        enable(2),		
        disable(3)
    }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Enables/disables port"
    ::= { ontEntry 2 }

portDuplexMode OBJECT-TYPE
    SYNTAX INTEGER {
        half(2),
        full(3)
     }
     MAX-ACCESS  read-write
     STATUS current
     DESCRIPTION
			"Duplex mode for port"
     ::= { ontEntry 3 }

portAutoNegotiate OBJECT-TYPE
    SYNTAX INTEGER {
        enable(2),
        disable(3)
    }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Enable/Disable autonegotiation for port"
    ::= { ontEntry 4 }

portSpeed OBJECT-TYPE
    SYNTAX INTEGER  {
        s10M(10),
        s100M(100),		
        s1000M(1000)
    }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Speed for port"
    ::= { ontEntry 5 }

portAlarm OBJECT-TYPE
    SYNTAX INTEGER{   
        enable(1),
        disable(2)
    }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Add this port to be included in the STAT group."
    ::= { ontEntry 6 }

portType OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Shows the port type fibre or copper."
    ::= { ontEntry 7 }

timeSyncFilters OBJECT-TYPE
    SYNTAX INTEGER {
        unfiltered(3),
        timing(2),
        nonTiming(1)
     }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This values handles the timesync filters for the port. The filters can be black, blue and red. 
        Not working in release 2.06."
    ::= { ontEntry 8 }

rstpPortTrunk OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),     -- Port is a RSTP trunk 
        disable(2)     -- Port is not a RSTP trunk
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value is used to define the RSTP trunk ports. Not working in release 2.06."
    ::= { ontEntry 9 }

igmpPortTrunk OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),     -- Port is a IGMP trunk 
        disable(2)     -- Port is not a IGMP trunk
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value is used to define the IGMP trunk ports. Not working in release 2.06."
    ::= { ontEntry 10 }

 removePortTag OBJECT-TYPE
     SYNTAX INTEGER{   
         keepTag(1),     -- Port is a IGMP trunk 
         removeTag(2)     -- Port is not a IGMP trunk
     }
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "This value is used to define which port that will remove the vlan tag before the packets 
         is send out. Not working in release 2.06."
     ::= { ontEntry 12 }

 vlanId OBJECT-TYPE
     SYNTAX INTEGER (0..4094)
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "This value is used define the vlan id number for each vlan id.
         Each row represents a color:
         1: white
         2: red
         3: blue
         4: green
         5: yellow
         6: brown
         7: pink "
     ::= { ontEntry 13 }

 vlanPrio OBJECT-TYPE
     SYNTAX INTEGER {
         prio0(0),
         prio1(1),
         prio2(2),
         prio3(3),
         prio4(4),
         prio5(5),
         prio6(6),
         prio7(7)
     }
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "This value is used define the vlan priority number for each vlan id. The first vlan is the same 
         as white vlan, vlan 2 = red vlan, vlan 3 = blue vlan, vlan 4 = green vlan, vlan 5 = yellow vlan, 
         vlan 6 = brown vlan and vlan 7 = pink vlan. Not working in release 2.06."
     ::= { ontEntry 14 }

 portVlanColors OBJECT-TYPE
     SYNTAX DisplayString
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "This value is used to give extra vlan values for this port.
         The values can be white, red, blue, green, brown, yellow or pink,
         separated by whitespace."
     ::= { ontEntry 15 }

 vlanDefaultColor OBJECT-TYPE
     SYNTAX INTEGER {
         white(0),
         red(1),
         blue(2),
         green(3),
         yellow(4),
         brown(5),
         pink(6)
     }
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "Default VLAN color for this port."
     ::= { ontEntry 16 }


igmpColor OBJECT-TYPE
    SYNTAX INTEGER {
        black(1),
        red(3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "IGMP port color."
    ::= { ontEntry 17 }

rstpPortStatus OBJECT-TYPE
    SYNTAX INTEGER {
        discarding (1),
        forwarding (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "RSTP port status"
    ::= { ontEntry 18 }

linkStatus OBJECT-TYPE
    SYNTAX INTEGER {
        up (1),
        down (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "port link status"
    ::= { ontEntry 19 }

 snmp OBJECT-TYPE
     SYNTAX INTEGER{
         on(2),
         off(3)
     }
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
         "Enable/disable the SNMP function."
     ::= { config 3 }

 frnt OBJECT-TYPE
     SYNTAX INTEGER{
         disable(2),
         focalpoint(3),
         member(4)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Enable/disable the FRNTv0 function."
      ::= { config 4 }

  frntPorts OBJECT-TYPE
      SYNTAX INTEGER (0..10)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Configure the FRNTv0 ports. Not working in release 2.06."
      ::= { config 5 }

  dhcp OBJECT-TYPE
      SYNTAX INTEGER{
          on(2),
          off(3)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Enable/disable the DHCP function."
      ::= { config 6 }

  enableVlan OBJECT-TYPE
      SYNTAX INTEGER {   
          enable(1),      -- enable the VLAN function on the switch
          disable(2)      -- disable the VLAN function on the switch
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Set the VLAN functions on the switch. Not working in release 2.06."
      ::= { config 7 }

  ipAddress  OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS  current
      DESCRIPTION
          "The IPv4 Address of the switch. This value is changed after reset."
      ::= { config 8 }

  ipNetMask  OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "The IPv4 Subnet mask of the switch. This value is changed after reset."
      ::= { config 9 }

  defaultGateway  OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS  current
      DESCRIPTION
          "Address of the switch default gateway. This value is changed after reset."
      ::= { config 10 }


  dhcpRelayAgent OBJECT-TYPE
      SYNTAX INTEGER{
          on(2),
          off(3)
		}
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Enable/disable the DHCP Relay Agent function."
      ::= { config 11 }

  dhcpRelayAgentServer1 OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "The DHCP Relay Agents Primary DHCP Server"
      ::= { config 12 }

  dhcpRelayAgentServer2 OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
          "The DHCP Relay Agents Secondary DHCP Server"
      ::= { config 13 }

  rstp OBJECT-TYPE
      SYNTAX INTEGER{
          root(1),
          on(2),
          off(3)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Enable/disable RSTP / STP."
      ::= { config 14 }

  snooping OBJECT-TYPE
      SYNTAX INTEGER {
          on(2),
          off(3)
		}
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
          "Enable/disable IGMP snooping."
      ::= { igmp 1 }

  automode OBJECT-TYPE
      SYNTAX INTEGER {
          on(2),
          off(3)
		}
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "IGMP Snooping Automode"
      ::= { igmp 2 }

  querier OBJECT-TYPE
      SYNTAX INTEGER {
          on(2),
          off(3)
		}
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "IGMP Querier"
      ::= { igmp 3 }

  stopfilter OBJECT-TYPE
      SYNTAX INTEGER {
          on(2),
          off(3)
		}
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Multicast stop filter."
      ::= { igmp 4 }

  querytimeout OBJECT-TYPE
      SYNTAX INTEGER {
          t12s(12),
          t30s(30),
          t70s(70),
          t150s(150)
		}
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "IGMP Query timeout."
      ::= { igmp 6 }
      
  statusCode OBJECT-TYPE
        SYNTAX  INTEGER{   
            ok(1),
            error(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Read out a summary from the status code from the status registers.
            Any error in port alarms masked against port link status, DC relays or frnt
            will return 2."
        ::= { stat 1 }
        
  enableStatusTrap OBJECT-TYPE
        SYNTAX  INTEGER{   
         on(2),
         off(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Enable or disable status relay trap message."
        ::= { stat 2 }

  statWarning NOTIFICATION-TYPE
      STATUS current
      DESCRIPTION
          "Status warning."
      ::= { privTraps 1 }     

  statNoWarning NOTIFICATION-TYPE
      STATUS current
      DESCRIPTION
          "Status warning."
      ::= { privTraps 2 }     

  linkUpChangeWarning NOTIFICATION-TYPE
      STATUS current
      DESCRIPTION
          "Link up notification."
      ::= { privTraps 3 }     

  linkDownChangeWarning NOTIFICATION-TYPE
      STATUS current
      DESCRIPTION
          "Link down notification."
      ::= { privTraps 4 }     

END
