--
--       whisp-plv-gateway.mib
--
--      **********************************************************************************
--       Copyright 2006 (c) , Motorola, Inc.
--       Motorola Confidential Proprietary
--      **********************************************************************************
--
--       This module contains registrations for Canopy related items such
--       as the identity of products, product components and other MIB
--       related items.
--      
--      **********************************************************************************
--       Revision History:
--
--       <Date>                  <Author>                <Changes>
--       07/28/2006             Balaji G V               Initial release.
--       09/12/2006             Balaji G V               Added new OID's related to PSD,
--                                                       and Intellon Simple Module
--                                                       Firmware Upgrade.
--       07/07/2007             Balaji G V               Added new OID's related to VLAN 
--                                                       Passthrough feature and LUID 
--                                                       range configuration.
--      **********************************************************************************
WHISP-PLV-GATEWAY-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        Integer32, IpAddress, Counter32, Gauge32
                FROM SNMPv2-SMI
        DisplayString, MacAddress
                FROM SNMPv2-TC
        OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
                FROM SNMPv2-CONF
        whispPlvGateway 
                FROM WHISP-GLOBAL-REG-MIB
        WhispLUID, WhispMACAddress
                FROM WHISP-TC-MIB;

whispPlvGatewayMIB MODULE-IDENTITY
        LAST-UPDATED "200607281030Z"    -- July 28, 2006 10:30:00 AM
        ORGANIZATION "Motorola"
        CONTACT-INFO
                     "Canopy Technical Support
		     email: technical-support@canopywireless.com"
        DESCRIPTION  "Initial Version."
        REVISION     "200607281030Z"    -- July 28, 2006 10:30:00 AM
        DESCRIPTION
                "Initial version."
        ::= { whispPlvGateway 1 }


-- Scalars and Tables
--

whispPlvGatewayObjects OBJECT IDENTIFIER 
        ::= { whispPlvGatewayMIB 1 }

-- Gateway's Device Info
--

whispPlvGwInfo OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 1 }

gwInfoModel OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Model Number."
        ::= { whispPlvGwInfo 1 }

gwInfoSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Serial Number."
        ::= { whispPlvGwInfo 2 }

gwInfoLanMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway's LAN port MAC Address."
        ::= { whispPlvGwInfo 3 }

gwInfoWanMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway's WAN port MAC Address."
        ::= { whispPlvGwInfo 4 }

gwInfoPlcMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway PLC MAC Address"
        ::= { whispPlvGwInfo 5 }

gwInfoHardwareVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Hardware Version."
        ::= { whispPlvGwInfo 6 }

gwInfoDevFirmwareVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Device Firmware Version."
        ::= { whispPlvGwInfo 7 }

gwInfoLoaderVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Loader Version."
        ::= { whispPlvGwInfo 8 }

gwInfoSimFirmwareVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Intellon Simple Module Firmware Version."
        ::= { whispPlvGwInfo 9 }

gwInfoModemCount OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of Modems registered 
                to the Gateway."
        ::= { whispPlvGwInfo 10 }

gwInfoDeviceUpgradeStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        notStarted(1),
                        inProgress(2),
                        failed(3),
                        successful(4) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Gateway Last Software Upgrade Status.
                 0 - Upgrade not started
                 1 - Upgrade in progress
                 2 - Last Upgrade failed
                 3 - Last Upgrade was successful."
        ::= { whispPlvGwInfo 11 }

gwInfoSimUpgradeStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        notStarted(1),
                        inProgress(2),
                        failed(3),
                        successful(4) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Intellon Simple Module's last Software Upgrade Status.
                 0 - Upgrade not started
                 1 - Upgrade in progress
                 2 - Last Upgrade failed
                 3 - Last Upgrade was successful."
        ::= { whispPlvGwInfo 12 }

gwInfoTemperature OBJECT-TYPE
        SYNTAX  Integer32
        UNITS   "Degrees Centigrade."
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the ambient temperature of the Gateway."
        ::= { whispPlvGwInfo 13 }

-- Gateway Configuration
--

whispPlvGwConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 2 }

gwConfNtpConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable the Gateway to set it's
                system clock using NTP."
        DEFVAL { disabled }
        ::= { whispPlvGwConfig 1 }

gwConfNtpServer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(20))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the NTP Server."
        ::= { whispPlvGwConfig 2 }

gwConfTime OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(8))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Gateway's system clock time.
                The input format is HH:MM::SS.
                This object is accessible only if gwConfNtpConfig is disabled."
        ::= { whispPlvGwConfig 3 }

gwConfDate OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(10))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Gateway's system clock date.
                The input format is YYYY/MM/DD.
                This object is accessible only if gwConfNtpConfig is disabled."
        ::= { whispPlvGwConfig 4 }

gwConfModemTableTimeout OBJECT-TYPE
        SYNTAX  Integer32 (5..1440)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the Modem Table Timeout.
                Any Inactive Modem will be deleted from the Modem table, if it 
                is inactive for a period more than the timeout value."
        ::= { whispPlvGwConfig 5 }

gwConfAutoLogoutTime OBJECT-TYPE
        SYNTAX  Integer32 (60..3660)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the Gateway Auto Logout Time.
                User will be logged out of the Gateway's web interface, if there
                is inactivity for a period more than the Auto Logout Time."
        ::= { whispPlvGwConfig 6 }

gwConfPSD OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (84))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object indicates the Power Spectral Density of the signal, at
                 all the 84 carriers, that the device transmits. Starting at the left most octet,
                 which represents the spectral value at channel number 0, each octet represents the 
                 spectral value at the corresponding channel number.
                 The channel numbers 4, 5, 13, 14, 29, 49, 50, 51, 69 and 70 are masked and their
                 spectral values cannot be changed."
        ::= { whispPlvGwConfig 7 }

-- Gateway's SNMP Traps Configuration
--

whispPlvGwTrapConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 3 }

gwConfTrapIp1 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #1."
        ::= { whispPlvGwTrapConfig 1 }

gwConfTrapCommStr1 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #1."
        ::= { whispPlvGwTrapConfig 2 }

gwConfTrapIp2 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #2."
        ::= { whispPlvGwTrapConfig 3 }

gwConfTrapCommStr2 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #2."
        ::= { whispPlvGwTrapConfig 4 }

gwConfTrapIp3 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #3."
        ::= { whispPlvGwTrapConfig 5 }

gwConfTrapCommStr3 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #3."
        ::= { whispPlvGwTrapConfig 6 }

gwConfTrapIp4 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #4."
        ::= { whispPlvGwTrapConfig 7 }

gwConfTrapCommStr4 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #4."
        ::= { whispPlvGwTrapConfig 8 }

gwConfTrapIp5 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #5."
        ::= { whispPlvGwTrapConfig 9 }

gwConfTrapCommStr5 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #5."
        ::= { whispPlvGwTrapConfig 10 }

gwConfTrapIp6 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #6."
        ::= { whispPlvGwTrapConfig 11 }

gwConfTrapCommStr6 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #6."
        ::= { whispPlvGwTrapConfig 12 }

gwConfTrapIp7 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #7."
        ::= { whispPlvGwTrapConfig 13 }

gwConfTrapCommStr7 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #7."
        ::= { whispPlvGwTrapConfig 14 }

gwConfTrapIp8 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #8."
        ::= { whispPlvGwTrapConfig 15 }

gwConfTrapCommStr8 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #8."
        ::= { whispPlvGwTrapConfig 16 }

gwConfTrapIp9 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #9."
        ::= { whispPlvGwTrapConfig 17 }

gwConfTrapCommStr9 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #9."
        ::= { whispPlvGwTrapConfig 18 }

gwConfTrapIp10 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure IP Address of SNMP Trap Client #10."
        ::= { whispPlvGwTrapConfig 19 }

gwConfTrapCommStr10 OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Community string for Trap Client #10."
        ::= { whispPlvGwTrapConfig 20 }

-- Gateway's Powerline Statistics
--

whispPlvGwPwrLnStats OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 4 }	

gwPwrLnMaxDelay OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Maximum transfer delay on Powerline."
        ::= { whispPlvGwPwrLnStats 1 }

gwPwrLnTxAck OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline Transmit ACK count."
        ::= { whispPlvGwPwrLnStats 2 }

gwPwrLnTxNak OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline Transmit NACK count."
        ::= { whispPlvGwPwrLnStats 3 }

gwPwrLnTxFail OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline Transmission Failures."
        ::= { whispPlvGwPwrLnStats 4 }

gwPwrLnTxColl OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline Transmission Collisions."
        ::= { whispPlvGwPwrLnStats 5 }

gwPwrLnTxCarrLoss OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline Transmt Carrier Loss
                Detection."
        ::= { whispPlvGwPwrLnStats 6 }

gwPwrLnRoboByte40 OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the raw value of channel capacity as 
                reported by Intellon PHY"
        ::= { whispPlvGwPwrLnStats 7 }

gwPwrLnRoboFails OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline protocol receive failures,
                in ROBO mode."
        ::= { whispPlvGwPwrLnStats 8 }

gwPwrLnRoboDrops OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline protocol transmit drops,
                in ROBO mode."
        ::= { whispPlvGwPwrLnStats 9 }

-- Gateway's Admin Configuration
--

whispPlvGwAdmConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 5 }

gwAdmConfLoginUsername OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (3..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Gateway's System Management Login Username."
        ::= { whispPlvGwAdmConfig 1 }

gwAdmConfLoginPassword OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Gateway's System Management Login Password."
        ::= { whispPlvGwAdmConfig 2 }

gwAdmConfNEK OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Network Encryption Key of the Gateway."
        ::= { whispPlvGwAdmConfig 3 }

gwAdmConfAuthServIp1 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure BAM Server #1 IP Address."
        ::= { whispPlvGwAdmConfig 4 }


gwAdmConfAuthServIp2 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure BAM Server #2 IP Address."
        ::= { whispPlvGwAdmConfig 5 }

gwAdmConfAuthServIp3 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure BAM Server #3 IP Address."
        ::= { whispPlvGwAdmConfig 6 }

gwAdmConfAuthMode OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable BAM Authentication on the Gateway."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 7 }

gwAdmConfAuthKey OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Authentication Key, to use with BAM Server,
                on the Gateway."
        ::= { whispPlvGwAdmConfig 8 }

gwAdmConfAuthKeyOption OBJECT-TYPE
        SYNTAX  INTEGER {
                        useDefaultKey(1),
                        useKeySet(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the Authentication Key to be used, on the
                Gateway."
        DEFVAL { useDefaultKey }
        ::= { whispPlvGwAdmConfig 9 }

gwAdmConfSnmpGetCommStr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP 'Read' community string of the Gateway."
        ::= { whispPlvGwAdmConfig 10 }

gwAdmConfSnmpSetCommStr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP 'Read-Write' community string of the Gateway."
        ::= { whispPlvGwAdmConfig 11 }

gwAdmConfSnmpAdminCommStr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP 'Admin' community string of the Gateway."
        ::= { whispPlvGwAdmConfig 12 }

gwAdmConfFtpServerIp OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION 
		"This object is used to configure IP Address of FTP server hosting auto-upgrade files."
	::= {whispPlvGwAdmConfig 13 }

gwAdmConfFtpUsername OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..16)) 
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION 
		"This object is used to configure Username to login to a FTP server, 
                for use with FTP-based auto-upgrade."
	::= {whispPlvGwAdmConfig 14 }

gwAdmConfFtpPassword OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..16)) 
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION 
		"This object is used to configure Password to login to a FTP server,
                for use with FTP-based auto-upgrade."
	::= {whispPlvGwAdmConfig 15 }

gwAdmConfFtpFile OBJECT-TYPE
	SYNTAX  DisplayString (SIZE(0..255))
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION 
		"This object is used to configure Path and/or Filename of the firmware file,
                for use with FTP-based auto-upgrade."
	::= {whispPlvGwAdmConfig 16 }   

gwAdmConfDeviceUpgradeStart OBJECT-TYPE
        SYNTAX  INTEGER {
                        upgrade(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Start Device Firmware Upgrade process in the Gateway.
                To start the upgrade process, this object should be set to '1'."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 17}

gwAdmConfSimUpgradeStart OBJECT-TYPE
        SYNTAX  INTEGER {
                        upgrade(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to start Intellon Simple Module Firmware Upgrade process in the Gateway.
                To start the upgrade process, this object should be set to '1'."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 18}

gwAdmConfSystemReboot OBJECT-TYPE
        SYNTAX  INTEGER {
                        reboot(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Reboot the Gateway. 
                To reboot the Gateway, this object should be set to '1'."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 19 }

gwAdmConfReset OBJECT-TYPE
        SYNTAX  INTEGER {
                        reset(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to reset the Gateway configuration to Factory Defaults. 
                To reset the Gateway configuration to factory defaults, this object should 
                be set to '1'."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 20 }

gwAdmConfDeviceMode OBJECT-TYPE
        SYNTAX  INTEGER {
                        switch(1),
                        nat(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the device in 'switch' mode or 'NAT' mode."
        DEFVAL { switch }
        ::= { whispPlvGwAdmConfig 21 }

gwAdmConfLUIDStart OBJECT-TYPE
        SYNTAX  Integer32 (1..2047)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the starting value of the Modem LUID range.
                 This value should not be greater than gwAdmConfLUIDEnd value"
        DEFVAL { 1 }
        ::= { whispPlvGwAdmConfig 22 }


gwAdmConfLUIDEnd OBJECT-TYPE
        SYNTAX  Integer32 (1..2047)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the ending value of the Modem LUID range.
                 This value should not be less than gwAdmConfLUIDStart value"
        DEFVAL { 100 }
        ::= { whispPlvGwAdmConfig 23 }

gwAdmConfVLANPassthroughStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to enable or disable VLAN Passthrough feature."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmConfig 24 }

gwAdmConfManagementVLANId OBJECT-TYPE
        SYNTAX  Integer32 (1..4095)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to enable or disable VLAN Passthrough feature."
        DEFVAL { 1 }
        ::= { whispPlvGwAdmConfig 25 }

-- Gateway Admin LAN Configuration
-- 

whispPlvGwAdmLanConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 6 }


gwAdmConfLanConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        dynamic(1),
                        static(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable DHCP client."
        DEFVAL { static }
        ::= { whispPlvGwAdmLanConfig 1 }

gwAdmConfLanIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure LAN IP Address."
        ::= { whispPlvGwAdmLanConfig 2 }

gwAdmConfLanSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure LAN IP Subnet Mask."
        ::= { whispPlvGwAdmLanConfig 3 }

gwAdmConfLanGatewayIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Gateway IP Address."
        ::= { whispPlvGwAdmLanConfig 4 }

-- Gateway Admin SNMP Access Configuration
-- 

whispPlvGwAdmSnmpAcessConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 7 }

gwAdmSnmpAccessIpNetwork1 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #1."
        ::= { whispPlvGwAdmSnmpAcessConfig 1 }

gwAdmSnmpAccessIpNetworkMask1 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #1."
        ::= { whispPlvGwAdmSnmpAcessConfig 2 }

gwAdmSnmpAccessIpNetwork2 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #2."
        ::= { whispPlvGwAdmSnmpAcessConfig 3 }

gwAdmSnmpAccessIpNetworkMask2 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #2."
        ::= { whispPlvGwAdmSnmpAcessConfig 4 }

gwAdmSnmpAccessIpNetwork3 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #3."
        ::= { whispPlvGwAdmSnmpAcessConfig 5 }

gwAdmSnmpAccessIpNetworkMask3 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #3."
        ::= { whispPlvGwAdmSnmpAcessConfig 6 }

gwAdmSnmpAccessIpNetwork4 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #4."
        ::= { whispPlvGwAdmSnmpAcessConfig 7 }

gwAdmSnmpAccessIpNetworkMask4 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #4."
        ::= { whispPlvGwAdmSnmpAcessConfig 8 }

gwAdmSnmpAccessIpNetwork5 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #5."
        ::= { whispPlvGwAdmSnmpAcessConfig 9 }

gwAdmSnmpAccessIpNetworkMask5 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #5."
        ::= { whispPlvGwAdmSnmpAcessConfig 10 }

gwAdmSnmpAccessIpNetwork6 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #6."
        ::= { whispPlvGwAdmSnmpAcessConfig 11 }

gwAdmSnmpAccessIpNetworkMask6 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #6."
        ::= { whispPlvGwAdmSnmpAcessConfig 12 }

gwAdmSnmpAccessIpNetwork7 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #7."
        ::= { whispPlvGwAdmSnmpAcessConfig 13 }

gwAdmSnmpAccessIpNetworkMask7 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #7."
        ::= { whispPlvGwAdmSnmpAcessConfig 14 }

gwAdmSnmpAccessIpNetwork8 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #8."
        ::= { whispPlvGwAdmSnmpAcessConfig 15 }

gwAdmSnmpAccessIpNetworkMask8 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #8."
        ::= { whispPlvGwAdmSnmpAcessConfig 16 }

gwAdmSnmpAccessIpNetwork9 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #9."
        ::= { whispPlvGwAdmSnmpAcessConfig 17 }

gwAdmSnmpAccessIpNetworkMask9 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #9."
        ::= { whispPlvGwAdmSnmpAcessConfig 18 }

gwAdmSnmpAccessIpNetwork10 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address #10."
        ::= { whispPlvGwAdmSnmpAcessConfig 19 }

gwAdmSnmpAccessIpNetworkMask10 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure SNMP Access Network Address Mask #10."
        ::= { whispPlvGwAdmSnmpAcessConfig 20 }

-- Gateway Admin WAN Configuration
-- 

whispPlvGwAdmWanConfig OBJECT IDENTIFIER 
        ::= { whispPlvGatewayObjects 8 }

gwAdmWConfWanConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        dynamicIp(1),
                        staticIp(2),
                        pppoe(3),
                        pptp(4) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure the WAN Type. This object is accessible
                only if the Gateway is in NAT mode."
        DEFVAL { dynamicIp }
        ::= { whispPlvGwAdmWanConfig 1 }

gwAdmWConfWanIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure WAN IP Address of the Gateway. This object is
                accessible only if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 2 }

gwAdmWConfSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure WAN IP Subnet Mask of the Gateway. This object 
                is accessible only if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 3 }

gwAdmWConfGateway OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Default Gateway IP of the Gateway. This object 
                is accessible only if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 4 }

gwAdmWConfDNS1 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure DNS Server #1. This object is accessible only
                if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 5}

gwAdmWConfDNS2 OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure DNS Server #2. This object is accessible only
                if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 6 }

gwAdmWConfPppoeUsername OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure PPPoE Username. This object is accessible only
                if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 7 }

gwAdmWConfPppoePassword OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure PPPoE Password. This object is accessible only
                if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 8 }

gwAdmWConfDhcpConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable DHCP Server. This object is accessible
                only if the Gateway is in NAT mode."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmWanConfig 9 }

gwAdmWConfDhcpStartIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Starting Address of the IP address block, 
                that the DHCP Server can assign to its clients. This object is accessible 
                only if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 10 }

gwAdmWConfDhcpEndIp OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure Last Address of the IP address block, that 
                the DHCP Server can assign to its clients. This object is accessible only if
                the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 11 }

gwAdmWConfDhcpLeaseTime OBJECT-TYPE
        SYNTAX  INTEGER {
                        thirtyMins(1),
                        oneHour(2),
                        twoHours(3),
                        twelveHours(4),
                        oneDay(5),
                        twoDays(6),
                        oneWeek(7),
                        twoWeeks(8)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to configure time period for which the IP address assigned 
                to a client is valid. This object is accessible only if the Gateway is in NAT 
                mode."
        DEFVAL { oneDay }
        ::= { whispPlvGwAdmWanConfig 12 }

gwAdmWConfUpnpConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable the UPnP in the Gateway. This object is 
                accessible only if the Gateway is in NAT mode."
        DEFVAL { disabled }
        ::= { whispPlvGwAdmWanConfig 13 }

gwAdmWConfFirewallConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object is used to Enable or Disable Firewall in the Gateway. This object is 
                accessible only if the Gateway is in NAT mode."
        ::= { whispPlvGwAdmWanConfig 14 }

-- Modem Table
-- 

whispPlvGwModemTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF WhispPlvGwModemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains one row per Modem registered to the Gateway."
        ::= { whispPlvGatewayObjects 9 }

whispPlvGwModemEntry OBJECT-TYPE
        SYNTAX  WhispPlvGwModemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Information about a particular Modem registered to the Gateway."
        INDEX { gwModemLUID }
        ::= { whispPlvGwModemTable 1 }

WhispPlvGwModemEntry ::= SEQUENCE {
        gwModemLUID                WhispLUID,
        gwModemDescr               DisplayString,
        gwModemPhysAddress         WhispMACAddress,
        gwModemIP                  IpAddress,
        gwModemHardwareVersion     DisplayString,
        gwModemSoftwareVersion     DisplayString,
        gwModemSoftwareBootVersion DisplayString,
        gwModemSessState           INTEGER,
        gwModemsessionCount        Integer32,
        gwModemMtu                 Integer32,
        gwModemSpeed               Gauge32,
        gwModemInOctets            Counter32,
        gwModemInUcastPkts         Counter32,
        gwModemInNUcastPkts        Counter32,
        gwModemInDiscards          Counter32,
        gwModemInError             Counter32,
        gwModemInUnknownProtos     Counter32,
        gwModemOutOctets           Counter32,
        gwModemOutUcastPkts        Counter32,
        gwModemOutNUcastPkts       Counter32,
        gwModemOutDiscards         Counter32,
        gwModemOutError            Counter32,
        gwModemOutQLen             Gauge32,
        gwModemRoboByte40          Integer32,
        gwModemRoboFails           Integer32,
        gwModemRoboDrops           Integer32,
        gwModemDeviceType          INTEGER,
        gwModemPSD                 OCTET STRING }

gwModemLUID OBJECT-TYPE
        SYNTAX  WhispLUID
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the unique value assigned by the Gateway,
                to each Modem."
        ::= { whispPlvGwModemEntry 1 }

gwModemDescr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The value of this object should be same as the object 'sysName' of the 
                 Device registered to the Gateway."
        ::= { whispPlvGwModemEntry 2 }

gwModemPhysAddress OBJECT-TYPE
        SYNTAX  WhispMACAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the PLC MAC Address of the Modem."
        ::= { whispPlvGwModemEntry 3 }

gwModemIP OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the IP Address of the Modem."
        ::= { whispPlvGwModemEntry 4 }

gwModemHardwareVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..127))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Hardware Version of the Modem."
        ::= { whispPlvGwModemEntry 5 }

gwModemSoftwareVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..127))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Software Version of the Modem."
        ::= { whispPlvGwModemEntry 6 }

gwModemSoftwareBootVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..127))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Boot Loader Version of the Modem."
        ::= { whispPlvGwModemEntry 7 }

gwModemSessState OBJECT-TYPE
        SYNTAX  INTEGER{
                       idle(0),
                       inSession(1),
                       clearing(2),
                       reRegDnRst(3),
                       authChal(4),
                       registering(5),
                       notInUse(6) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the current Operational state of the Modem.
                0 = Idle
                1 = In Session
                2 = Clearing
                3 = Re-registration downlink reset
                4 = Authentication Challenge
                5 = Registering
                6 = Not in use."
        ::= { whispPlvGwModemEntry 8 }

gwModemsessionCount OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of times the Modem is In and
                Out of session."
        ::= { whispPlvGwModemEntry 9 }

gwModemMtu OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the size of the largest datagram that can
                be sent and received by the Modem, in octets."
        ::= { whispPlvGwModemEntry 10 }

gwModemSpeed OBJECT-TYPE
        SYNTAX  Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates an estimate of Modem's current bandwidth,
                in Mbps."
        ::= { whispPlvGwModemEntry 11 }

gwModemInOctets OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the octets received by the Modem over 
                Powerline, including framing characters.
                to each Modem."
        ::= { whispPlvGwModemEntry 12 }

gwModemInUcastPkts OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of subnetwork-unicast packets
                delivered to a higher-layer protocol."
        ::= { whispPlvGwModemEntry 13 }

gwModemInNUcastPkts OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of subnetwork-broadcast and
                subnetwork-multiicast packets delivered to a higher-layer protocol."
        ::= { whispPlvGwModemEntry 14 }

gwModemInDiscards OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of inbound packets which were 
                chosen to be discarded even though no errors had been detected
                to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to 
                free up buffer space."
        ::= { whispPlvGwModemEntry 15 }

gwModemInError OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of inbound packets that contained
            	errors preventing them from being deliverable to a higher-layer 
                protocol."

        ::= { whispPlvGwModemEntry 16 }

gwModemInUnknownProtos OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of packets received, but were 
            	discarded because of an unknown or unsupported protocol."
        ::= { whispPlvGwModemEntry 17 }

gwModemOutOctets OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the total number of octets transmitted,
                including the framing characters."
        ::= { whispPlvGwModemEntry 18 }

gwModemOutUcastPkts OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the total number of packets that higher-level
                protocols requested be transmitted to a subnetwork-unicast address,
                including those that were discarded or not sent."
        ::= { whispPlvGwModemEntry 19 }

gwModemOutNUcastPkts OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the total number of packets that higher-level
                protocols requested be transmitted to a non-unicast (i.e., a 
                subnetwork-broadcast or subnetwork-multicast) address, including those
                that were discarded or not sent."
        ::= { whispPlvGwModemEntry 20 }

gwModemOutDiscards OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of outbound packets which were chosen
                to be discarded even though no errors had been detected to prevent their
                being transmitted. One possible reason for discarding such a packet could
                be to free up buffer space."
        ::= { whispPlvGwModemEntry 21 }

gwModemOutError OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of outbound packets that could not be
            	transmitted because of errors."
        ::= { whispPlvGwModemEntry 22 }

gwModemOutQLen OBJECT-TYPE
        SYNTAX  Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the number of packets in output packet queue."
        ::= { whispPlvGwModemEntry 23 }

gwModemRoboByte40 OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the current channel receive capacity of the Modem."
        ::= { whispPlvGwModemEntry 24 }

gwModemRoboFails OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline link receive failures of the Modem."
        ::= { whispPlvGwModemEntry 25 }

gwModemRoboDrops OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Powerline link send failures of the Modem."
        ::= { whispPlvGwModemEntry 26 }

gwModemDeviceType OBJECT-TYPE
        SYNTAX  INTEGER{
                       modem(0),
                       repeater(1),
                       other(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Type of the Device registered to the Gateway
                0 = Modem
                1 = Repeater
                2 = Other"
        ::= { whispPlvGwModemEntry 27 }

gwModemPSD OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(84))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object indicates the Software Version of the Modem."
        ::= { whispPlvGwModemEntry 28 }

-- Notification Types
--

whispPlvGatewayEvents OBJECT IDENTIFIER 
        ::= { whispPlvGatewayMIB 2 }

gwTrapPrefix OBJECT IDENTIFIER 
        ::= { whispPlvGatewayEvents 0 }

gwTrapRegComplete NOTIFICATION-TYPE
        OBJECTS {
                gwModemLUID,
                gwModemPhysAddress }
        STATUS current
        DESCRIPTION
                "This Notification is generated if the Modem has successfully registered
                to the Gateway."
        ::= { gwTrapPrefix 1 }

gwTrapRegLost NOTIFICATION-TYPE
        OBJECTS {
                gwModemLUID,
                gwModemPhysAddress }
        STATUS current
        DESCRIPTION
                "This Notification is generated if the Modem entry is removed from the
                Gateway's Modem Table, after being inactive for a period more than 
                'gwConfModemTableTimeout' value."
        ::= { gwTrapPrefix 2 }

gwTrapDeviceUpgradeStarted NOTIFICATION-TYPE
        OBJECTS {
                gwInfoDeviceUpgradeStatus,
                gwInfoDevFirmwareVer }
        STATUS current
        DESCRIPTION
                "This Notification is generated if the Gateway has started the Device Firmware
                 Upgrade process."
        ::= { gwTrapPrefix 3 }

gwTrapDeviceUpgradeCompleted NOTIFICATION-TYPE
        OBJECTS {
                gwInfoDeviceUpgradeStatus,
                gwInfoDevFirmwareVer }
        STATUS current
        DESCRIPTION
                "This Notification is generated once the Device Firmware Upgrade process is completed."
        ::= { gwTrapPrefix 4 }

gwTrapSimUpgradeStarted NOTIFICATION-TYPE
        OBJECTS {
                gwInfoSimUpgradeStatus,
                gwInfoSimFirmwareVer }
        STATUS current
        DESCRIPTION
                "This Notification is generated if the Gateway has started the Simple Module Firmware
                 Upgrade process."
        ::= { gwTrapPrefix 5 }

gwTrapSimUpgradeCompleted NOTIFICATION-TYPE
        OBJECTS {
                gwInfoSimUpgradeStatus,
                gwInfoSimFirmwareVer }
        STATUS current
        DESCRIPTION
                "This Notification is generated once the Simple Module Firmware Upgrade process is completed."
        ::= { gwTrapPrefix 6 }

-- Conformance
--

whispPlvGatewayConformance OBJECT IDENTIFIER 
        ::= { whispPlvGatewayMIB 3 }

-- Groups
--

whispPlvGatewayGroups OBJECT IDENTIFIER 
        ::= { whispPlvGatewayConformance 1 }

whispPlvGatewayCompliances OBJECT IDENTIFIER 
        ::= { whispPlvGatewayConformance 2 }

whispPlvGatewayInfoGroup OBJECT-GROUP
        OBJECTS {
                gwInfoModel,
                gwInfoSerialNumber,
                gwInfoLanMac,
                gwInfoWanMac,
                gwInfoPlcMac,
                gwInfoHardwareVer,
                gwInfoDevFirmwareVer,
                gwInfoLoaderVer,
                gwInfoSimFirmwareVer, 
                gwInfoModemCount,
                gwInfoDeviceUpgradeStatus,
                gwInfoSimUpgradeStatus,
                gwInfoTemperature }
        STATUS current
        DESCRIPTION
                "The collection of objects that indicates Gateway device information."
        ::= { whispPlvGatewayGroups 1 }

whispPlvGatewayConfigGroup OBJECT-GROUP
        OBJECTS {
                gwConfNtpConfig,
                gwConfNtpServer,
                gwConfTime,
                gwConfDate,
                gwConfModemTableTimeout,
                gwConfAutoLogoutTime,
                gwConfPSD }
        STATUS current
        DESCRIPTION
                "The collection of objects used to configure the Gateway.
                These objects are accessible to everyone."
        ::= { whispPlvGatewayGroups 2 }

whispPlvGatewayTrapConfigGroup OBJECT-GROUP
        OBJECTS {
                gwConfTrapIp1,
                gwConfTrapCommStr1,
                gwConfTrapIp2,
                gwConfTrapCommStr2,
                gwConfTrapIp3,
                gwConfTrapCommStr3,
                gwConfTrapIp4,
                gwConfTrapCommStr4,
                gwConfTrapIp5,
                gwConfTrapCommStr5,
                gwConfTrapIp6,
                gwConfTrapCommStr6,
                gwConfTrapIp7,
                gwConfTrapCommStr7,
                gwConfTrapIp8,
                gwConfTrapCommStr8,
                gwConfTrapIp9,
                gwConfTrapCommStr9,
                gwConfTrapIp10,
                gwConfTrapCommStr10 }
        STATUS current
        DESCRIPTION
                "The collection of Gateway's SNMP Trap Configuration objects.
                These objects are accessible to everyone."
        ::= { whispPlvGatewayGroups 3 }

whispPlvGatewayPowerlineGroup OBJECT-GROUP
        OBJECTS {
                gwPwrLnMaxDelay,
                gwPwrLnTxAck,
                gwPwrLnTxNak,
                gwPwrLnTxFail,
                gwPwrLnTxColl,
                gwPwrLnTxCarrLoss,
                gwPwrLnRoboByte40,
                gwPwrLnRoboFails,
                gwPwrLnRoboDrops }
        STATUS current
        DESCRIPTION
                "The collection of Gateway's Powerline Statistics
                These objects are accessible to everyone."
        ::= { whispPlvGatewayGroups 4 }

whispPlvGatewayAdmConfigGroup OBJECT-GROUP
        OBJECTS {
                gwAdmConfLoginUsername,
                gwAdmConfLoginPassword,
                gwAdmConfNEK,
                gwAdmConfAuthServIp1,
                gwAdmConfAuthServIp2,
                gwAdmConfAuthServIp3,
                gwAdmConfAuthMode,
                gwAdmConfAuthKey,
                gwAdmConfAuthKeyOption,
                gwAdmConfSnmpGetCommStr,
                gwAdmConfSnmpSetCommStr,
                gwAdmConfSnmpAdminCommStr,
                gwAdmConfFtpServerIp,
                gwAdmConfFtpUsername,
                gwAdmConfFtpPassword,
                gwAdmConfFtpFile,
                gwAdmConfDeviceUpgradeStart,
                gwAdmConfSimUpgradeStart,
                gwAdmConfSystemReboot,
                gwAdmConfReset,
                gwAdmConfDeviceMode,
                gwAdmConfLUIDStart,
                gwAdmConfLUIDEnd,
                gwAdmConfVLANPassthroughStatus,
                gwAdmConfManagementVLANId }
        STATUS current
        DESCRIPTION
                "The collection of objects that are used to configure the Gateway. 
                These objects are accessible only thru 'admin' community string."
        ::= { whispPlvGatewayGroups 5 }

whispPlvGatewayAdmLanConfigGroup OBJECT-GROUP
        OBJECTS {
                gwAdmConfLanConfig,
                gwAdmConfLanIp,
                gwAdmConfLanSubnetMask,
                gwAdmConfLanGatewayIp }
        STATUS current
        DESCRIPTION
                "The collection of Gateway's LAN configuration objects.
                These objects are accessible only thru 'admin' community string."
        ::= { whispPlvGatewayGroups 6 }

whispPlvGatewayAdmSnmpAccessConfigGroup OBJECT-GROUP
        OBJECTS {
                gwAdmSnmpAccessIpNetwork1,
                gwAdmSnmpAccessIpNetworkMask1,
                gwAdmSnmpAccessIpNetwork2,
                gwAdmSnmpAccessIpNetworkMask2,
                gwAdmSnmpAccessIpNetwork3,
                gwAdmSnmpAccessIpNetworkMask3,
                gwAdmSnmpAccessIpNetwork4,
                gwAdmSnmpAccessIpNetworkMask4,
                gwAdmSnmpAccessIpNetwork5,
                gwAdmSnmpAccessIpNetworkMask5,
                gwAdmSnmpAccessIpNetwork6,
                gwAdmSnmpAccessIpNetworkMask6,
                gwAdmSnmpAccessIpNetwork7,
                gwAdmSnmpAccessIpNetworkMask7,
                gwAdmSnmpAccessIpNetwork8,
                gwAdmSnmpAccessIpNetworkMask8,
                gwAdmSnmpAccessIpNetwork9,
                gwAdmSnmpAccessIpNetworkMask9,
                gwAdmSnmpAccessIpNetwork10,
                gwAdmSnmpAccessIpNetworkMask10 }
        STATUS current
        DESCRIPTION
                "The collection of objects that are used to configure the Gateway. 
                These objects are accessible only thru 'admin' community string."
        ::= { whispPlvGatewayGroups 7 }

whispPlvGatewayAdmWanConfigGroup OBJECT-GROUP
        OBJECTS {
                gwAdmWConfWanConfig,
                gwAdmWConfWanIp,
                gwAdmWConfSubnetMask,
                gwAdmWConfGateway,
                gwAdmWConfDNS1,
                gwAdmWConfDNS2,
                gwAdmWConfPppoeUsername,
                gwAdmWConfPppoePassword,
                gwAdmWConfDhcpConfig,
                gwAdmWConfDhcpStartIp,
                gwAdmWConfDhcpEndIp,
                gwAdmWConfDhcpLeaseTime,
                gwAdmWConfUpnpConfig,
                gwAdmWConfFirewallConfig }
        STATUS current
        DESCRIPTION
                "The collection of Gateway's WAN configuration objects. 
                These objects are accessible only thru 'admin' community string."
        ::= { whispPlvGatewayGroups 8 }

whispPlvGatewayAdmModemGroup OBJECT-GROUP
        OBJECTS {
                gwModemLUID,
                gwModemDescr,
                gwModemPhysAddress,
                gwModemIP,
                gwModemHardwareVersion,
                gwModemSoftwareVersion,
                gwModemSoftwareBootVersion,
                gwModemSessState,
                gwModemsessionCount,
                gwModemMtu,
                gwModemSpeed,
                gwModemInOctets,
                gwModemInUcastPkts,
                gwModemInNUcastPkts,
                gwModemInDiscards,
                gwModemInError,
                gwModemInUnknownProtos,
                gwModemOutOctets,
                gwModemOutUcastPkts,
                gwModemOutNUcastPkts,
                gwModemOutDiscards,
                gwModemOutError,
                gwModemOutQLen,
                gwModemRoboByte40,
                gwModemRoboFails,
                gwModemRoboDrops,
                gwModemDeviceType,
                gwModemPSD }
        STATUS current
        DESCRIPTION
                "The collection of objects that gives information of the Modems  
                connected to the Gateway."
        ::= { whispPlvGatewayGroups 9 }

whispPlvGatewayNotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
                gwTrapRegComplete,
                gwTrapRegLost,
                gwTrapDeviceUpgradeStarted,
                gwTrapDeviceUpgradeCompleted,
                gwTrapSimUpgradeStarted,
                gwTrapSimUpgradeCompleted }
        STATUS current
        DESCRIPTION
                "The collection of Notifications generated by the Gateway."
        ::= { whispPlvGatewayGroups 10 }

-- Compliance
--

whispPlvGatewayCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement of SNMP entities which implement the WHISP-PLV-GATEWAY-MIB."
        MODULE  -- This Module
        MANDATORY-GROUPS {
                whispPlvGatewayInfoGroup,
                whispPlvGatewayConfigGroup,
                whispPlvGatewayTrapConfigGroup,
                whispPlvGatewayPowerlineGroup,
                whispPlvGatewayAdmConfigGroup,
                whispPlvGatewayAdmLanConfigGroup,
                whispPlvGatewayAdmSnmpAccessConfigGroup,
                whispPlvGatewayAdmWanConfigGroup,
                whispPlvGatewayAdmModemGroup,
                whispPlvGatewayNotificationsGroup }

       ::= { whispPlvGatewayCompliances 1 }

END