ADSTEC-IE-GEN-MIB DEFINITIONS ::= BEGIN

-- ADSTEC IE GEN MIB
-- Version 1.3
-- 28. February 2008
-- Alberto Dubuc.
-- ads-tec GmbH

IMPORTS
        enterprises,
	MODULE-IDENTITY		   FROM SNMPv2-SMI
	IpAddress		   FROM SNMPv2-SMI
	OBJECT-TYPE                FROM RFC-1212
	MacAddress		   FROM SNMPv2-TC
	DisplayString		   FROM SNMPv2-TC
	EnabledDisabledStatus,
	FlankStatus,
	ads-tec			   FROM ADSTEC-MIB;

-- Main MIB registered OID of ads-tec

industrialEthernet MODULE-IDENTITY
	LAST-UPDATED "200903231305Z" -- Thu Apr 11 13:05:24 CET 2008
	ORGANIZATION "ads-tec GmbH"
	CONTACT-INFO
	"Postal: ads-tec GmbH
		 Raiffeisenstr. 14
		 D-70771, Leinfelden-Echterdingen
		 Germany

	Tel:	 +49 711 458-94-0

	E-mail:	 info@ads-tec.de"
	DESCRIPTION "Main ADSTEC-IE-GEN-MIB Specification and general data for ads-tec networking devices"
	::= { ads-tec 2 }

generalMIB	OBJECT IDENTIFIER ::= { industrialEthernet 1 }

-- Textual Conventions

ServerTypes ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This textual convention is used to some variables on the
        on the device that need to specify what kind of server is
	used to communicate."

    SYNTAX INTEGER {
        ftp(0),
        tftp(1),
	http(2)
    }

AdsTecIEDeviceType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This textual convention is used to indentify the subtype of
	 ads-tec device on the Industrial Ethernet Family."

    SYNTAX INTEGER {
        notDefined(0),
        industrialFirewall(1),
	accessPoint(2)
    }

-- generalMIB Definitions

adsSysTypeOID OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "OID link for the type of ads-tec System." 
    ::= { generalMIB 1 }

-- Main Subleafs

ipSettings	   OBJECT IDENTIFIER ::= { generalMIB 2 }
softwareUpdate     OBJECT IDENTIFIER ::= { generalMIB 3 }
eventLog	   OBJECT IDENTIFIER ::= { generalMIB 4 }
triggers	   OBJECT IDENTIFIER ::= { generalMIB 5 }
devStatus	   OBJECT IDENTIFIER ::= { generalMIB 6 }

-- Expansion of the Subleafs

-- ipSettings  Definitions

opMode OBJECT-TYPE
    SYNTAX INTEGER {
        transbridge(1),
        iprouter(2),
        wlanbridge(3),
        singlebridge(4),
        seamroam(5),
        extbackscan(6),
        iprouter5port(7)
    }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Operational mode of the device.
The first two (transbridge and iprouter) opmodes are common for all industrial ethernet devices.
When operating as a transparent bridge the device is acting like a layer 2 bridge and is invisible to clients.
In IP router mode the device is separating all its interfaces into different IP networks.
IP router extended mode (also known as 5 port router) is only available on the IF1xxx and separates LAN-in and each port of LAN-out into different IP networks.
The wlanbridge and singlebridge mode is only available on dual wlan devices. In the former mode both WLAN interfaces will be bridged together and the HOST interface remains separate, in the latter mode only
WLAN-2 gets separated from HOST and WLAN-1.
The last two (seamroam and extbackscan) operation modes are only available on the RAC112x.
Seamless roaming: WLAN-1 and WLAN-2 will be combined to one interface to minimize roaming times.
Extended Background Scanning: WLAN-1 will be used as normal interface and WLAN-2 will only scan and inform WLAN-1 about better access points."
    ::= { ipSettings 1 }

defaultGateway OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Default Gateway of the device."
    ::= { ipSettings 2 }


netDeviceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF NetDeviceEntryDef
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Table of network device definitions."
    ::= { ipSettings 3 }

-- netDeviceTable Definition

netDeviceEntry OBJECT-TYPE
    SYNTAX     NetDeviceEntryDef
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the netdevicetbl."
    INDEX      { deviceIdx }
    ::= { netDeviceTable 1 }

NetDeviceEntryDef ::= SEQUENCE {
    deviceIdx		     INTEGER,
    deviceName		     DisplayString,
    deviceIp		     IpAddress,
    deviceNetMask	     IpAddress,
    deviceOidLink	     DisplayString
}

deviceIdx OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Index in the device table."
    ::= { netDeviceEntry 1 }

deviceName OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "Phisical device name, like LAN-in, LAN-out, WLAN-1 etc."
    ::= { netDeviceEntry 2 }

deviceIp OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "IP V4 Address of the device."
    ::= { netDeviceEntry 3 }

deviceNetMask OBJECT-TYPE
    SYNTAX     IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "IP V4 Netmask of the device"
    ::= { netDeviceEntry 4 }

deviceOidLink OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "OID that link this device with ip subtree of RFC1158 MIB"
    ::= { netDeviceEntry 5 }



-- softwareupdate Definitions

serverType OBJECT-TYPE
    SYNTAX  ServerTypes
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Type of update server providing the firmware file."
    ::= { softwareUpdate 1 }

serverIpAddr OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "IP address of the update server."
    ::= { softwareUpdate 2 }

updateFileName OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-write
    STATUS     mandatory
    DESCRIPTION
            "File name of the firmware on the update server."
    ::= { softwareUpdate 3 }

updateTrigger OBJECT-TYPE
    SYNTAX  FlankStatus
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Trigger variable for the software update process."
    ::= { softwareUpdate 4 }

-- eventLog Definitions

eventTable	OBJECT-TYPE
    SYNTAX     SEQUENCE OF EventEntryDef
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Table of events."
    ::= { eventLog 1 }

eventEntry OBJECT-TYPE
    SYNTAX     EventEntryDef
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "An entry (conceptual row) in the event table."
    INDEX      { eventIdx }
    ::= { eventTable 1 }

EventEntryDef ::= SEQUENCE {
    eventIdx		     INTEGER,
    event		     DisplayString
}

eventIdx OBJECT-TYPE
    SYNTAX     INTEGER (1..100)
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION
            "Index in the event table"
    ::= { eventEntry 1 }

event OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS     read-only
    STATUS     mandatory
    DESCRIPTION
            "On line of text in the Event table."
    ::= { eventEntry 2 }


-- triggers Definitions.

onlyReboot	   OBJECT-TYPE
	SYNTAX FlankStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
          "Trigger variable to initiate the reboot process."
	::= { triggers 1 }

onlySave	   OBJECT-TYPE
	SYNTAX FlankStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
          "Trigger variable to initiate the save configuration process."
	::= { triggers 2 }

onlyApply           OBJECT-TYPE
	SYNTAX FlankStatus
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
          "Triggers variable to switch to set only mode without commiting.
To commit those parametes reset this variable to 0."
	::= { triggers 3 }

--  status Definitions.
mustSave	   OBJECT-TYPE
	SYNTAX  EnabledDisabledStatus
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
          "Trigger for the save process. Set to a different value each time (e.g. timestamp)."
	::= { devStatus 1 }
mustReboot	   OBJECT-TYPE
	SYNTAX  EnabledDisabledStatus
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
          "Trigger for the reboot process. Set to a different value each time (e.g. timestamp)."
	::= { devStatus 2 }


END
