
-- Copyright (C) 2010-2012 by Zhone Technologies.  All Rights Reserved.

-- ======================================================================
-- ==                                                                  ==
-- ==                    ZHNLANDEVICE MIB                              ==
-- ==                                                                  ==
-- ==  Copyright (C) 2010-2012 Zhone Technologies, Inc.                ==
-- ==  Confidential, Unpublished Property of Zhone Technologies.       ==
-- ==  Rights Reserved Under the Copyright Laws of the United States.  ==
-- ==                                                                  ==
-- ======================================================================

ZHNLANDEVICE DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY , OBJECT-TYPE , enterprises,
    Integer32, Unsigned32, IpAddress, Gauge32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION, MacAddress, RowStatus, TruthValue
        FROM SNMPv2-TC
    VlanTypeValues 
        FROM ZHNLAYER2BRIDGING
    ZhoneRowStatus
        FROM Zhone-TC
    zhoneWtn
        FROM Zhone;

-- 1.3.6.1.4.1.5504.2.5.41
zhnLANDevice  MODULE-IDENTITY
    LAST-UPDATED  "201206131200Z" -- June 13, 2012
    ORGANIZATION
        "Zhone Technologies, Inc."
    CONTACT-INFO 
        "Zhone Technologies, Inc.
         Florida Design Center
         8545 126th Avenue North
         Largo, FL 33773

	 Toll-Free: +1 877-ZHONE20 (+1 877-946-6320)
	 Tel: +1-510-777-7000
	 Fax: +1-510-777-7001
	 E-mail: support@zhone.com"


    DESCRIPTION
        "This file defines the private Enterprise MIB extensions
         that define LAN ethernet interface related objects supported 
	 by the Zhone CPEs."


    REVISION "201206131200Z" -- June 13, 2012
    DESCRIPTION "Added new lanEthernetInterfaceConfigTable objects:
                     zhnDhcpConditionalServingPoolObjects
                 Added new zhnIpInterfaceTableobject
                     naptEnabled
                "

    REVISION "201205101200Z" -- May 10, 2012
    DESCRIPTION "Added new lanEthernetInterfaceConfigTable objects:
                     lanEthernetLanFollowsWan
                     lanEthernetIgmpPriorityMark
                     lanEthernetIgmpPvid
                 Added new zhnIpInterfaceTable object:
                     alternateWanIfName
                 Added new lanHostConfigManagementTable objects:
                     zhnUseWanVlan
                     zhnEnableStaticLease
                "

    REVISION "201204110211Z" -- Apr 11, 2012
    DESCRIPTION "Modified the following objects:
                    lanEthAclRulesTable
                "

    REVISION "201201271200Z"  -- Jan 27, 2012
    DESCRIPTION "Added the following objects:
                    lanEthAclRulesTable
                    lanDefaultIfName
                    lanDefaultIfIpAddress
                    lanEthernetAcl
                    lanEthernetAclRulesNumberofEntries
                    igmpGroupQuerier
                "

    REVISION "201101110000Z"  -- Jan 11, 2011
    DESCRIPTION "Fixed MIB tree and table indices. Also added lanEthIntfStatisticsTable."

    REVISION "201007210000Z"  -- Jul 21, 2010
    DESCRIPTION "Added pppoeConfigTable for configuring PPPoE LAN Host
	configuration parameters and lanEthernetRateLimitTable 
	for configuring rate limits for LAN Ethernet Devices."

    REVISION "201004010000Z"  -- Apr 01, 2010
    DESCRIPTION "First Draft"

::= { zhoneWtn 41 }



-- 1.3.6.1.4.1.5504.2.5.41.1
zhnLANDeviceObjects           OBJECT IDENTIFIER ::= { zhnLANDevice 1 }


--
-- Textual Conventions
--
LANEthernetStatusValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Ethernet LAN interface status.  An enumeration of: 
                     Up
                     NoLink
                     Error
                     Disabled
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


LANEthernetMaxBitRateValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The maximum upstream and downstream bit rate available to this
  		 connection. Enumeration of:
                     10
                     100
                     1000
                     Auto
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


LANEthernetDuplexModeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The duplex mode available to this connection. Enumeration of:
                     Half
                     Full
                     Auto
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


LANEthernetPauseModeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The pause mode available to this connection. Enumeration of:
                     Auto
                     Enable
                     Disable
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


IPInterfaceAddressingTypeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The addressing method used to assign the LAN-side IP Address.
                 Enumeration of:
                     Unknown
                     Unconfigured
                     Default
                     DHCP
                     Static
                     PPPoE
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


IGMPSnoopingModeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     Standard
                     Blocking
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


DNSTypeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     Default - Get the DNS information from the uplink interface
                     Static - The DNS information is manually provisioned
                     DHCP - The DNS information is obtained via DHCP
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

IpPppoeConnectionTypeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     IP_Routed
                     IP_Bridged
                     PPPoE_IP_Routed
                     PPPoE_IP_Bridged
                     Unconfigured
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

PPPUserConnectionRequestValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     None
                     Down
                     Up
                     Connect
                     Disconnect
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

PPPAuthenticationProtocolValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     AUTO_AUTH
                     PAP
                     CHAP
                     MS-CHAP
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

PPPEncryptionProtocolValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     None
                     MPPE
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

PPPCompressionProtocolValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     None
                     VanJacobsen
                     STAC-LZS
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

WANPppConnectionStatusValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     Unconfigured
		     Connecting
		     Authenticating
		     Connected
		     PendingDisconnect
		     Disconnecting
		     Disconnected
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

WANPppLastConnectionErrorValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     ERROR_NONE
                     ERROR_ISP_TIME_OUT
                     ERROR_COMMAND_ABORTED
                     ERROR_NOT_ENABLED_FOR_INTERNET
                     ERROR_BAD_PHONE_NUMBER
                     ERROR_USER_DISCONNECT
                     ERROR_ISP_DISCONNECT
                     ERROR_IDLE_DISCONNECT
                     ERROR_FORCED_DISCONNECT
                     ERROR_SERVER_OUT_OF_RESOURCES
                     ERROR_RESTRICTED_LOGON_HOURS
                     ERROR_ACCOUNT_DISABLED
                     ERROR_ACCOUNT_EXPIRED
                     ERROR_PASSWORD_EXPIRED
                     ERROR_AUTHENTICATION_FAILURE
                     ERROR_NO_DIALTONE
                     ERROR_NO_CARRIER
                     ERROR_NO_ANSWER
                     ERROR_LINE_BUSY
                     ERROR_UNSUPPORTED_BITSPERSECOND
                     ERROR_TOO_MANY_LINE_ERRORS
                     ERROR_IP_CONFIGURATION
                     ERROR_UNKNOWN
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

LANRateLimitBurstSizeValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     16KB
                     20KB
                     28KB
                     40KB
                     76KB
                     140KB
                     268KB
                     500KB
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

LANRateLimitDirectionValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Enumeration of:
                     Inbound
                     Outbound
                     Both-Directions
		 "
  SYNTAX OCTET STRING (SIZE (0..32))

LANEthernetAclValues ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The access list values available to an ethernet interface. Enumeration of:
                     Disable
                     BlackList
                     WhiteList
                     Unsupported
		 "
  SYNTAX OCTET STRING (SIZE (0..32))


LANEthernetIpProtocolValues::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "The access list IP protocol values with which to filter. Enumeration of:
                     tcp(1)
                     udp(2)
                     icmp(3)
                     igmp(4)
                     any(5)
		 "
  SYNTAX INTEGER {
            tcp(1),
            udp(2),
            icmp(3),
            igmp(4),
            any(5)
         }



--
-- LAN Device Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.
--
-- 1.3.6.1.4.1.5504.2.5.41.1.1
--
lanDeviceTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LanDeviceEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN devices, including Ethernet, WLAN, and USB 
     physical interfaces"
  ::= { zhnLANDeviceObjects 1}

lanDeviceEntry OBJECT-TYPE
  SYNTAX        LanDeviceEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN devices, including Ethernet, WLAN, and USB 
     physical interfaces. Each instance contains all LAN-related 
     objects for a given bridged subnet."
  INDEX        { lanDeviceIndex }
  ::= { lanDeviceTable 1}

LanDeviceEntry ::=
  SEQUENCE {
      lanDeviceIndex                         Unsigned32,
      lanEthernetInterfaceNumberOfEntries    Unsigned32,
      lanUSBInterfaceNumberOfEntries         Unsigned32,
      lanWLANConfigurationNumberOfEntries    Unsigned32,
      lanMocaInterfaceNumberOfEntries        Unsigned32
  }

lanDeviceIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "LAN Device ifIndex"
  ::= { lanDeviceEntry 1}

lanEthernetInterfaceNumberOfEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Number of instances of lanEthernetInterfaceConfig entries for this LAN device."
  ::= { lanDeviceEntry 2}

lanUSBInterfaceNumberOfEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Number of instances of lanUSBInterfaceConfig entries for this LAN device."
  ::= { lanDeviceEntry 3}

lanWLANConfigurationNumberOfEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Number of instances of lanWLANInterfaceConfig entries for this LAN device."
  ::= { lanDeviceEntry 4}

lanMocaInterfaceNumberOfEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Number of instances of lanMocaInterfaceConfig entries for this LAN device."
  ::= { lanDeviceEntry 5}


--
-- LAN Ethernet Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.IgmpSnoopingConfig
--
-- 1.3.6.1.4.1.5504.2.5.41.1.2
--
igmpSnoopingCfgTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF IgmpSnoopingCfgEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of IGMP configuration information for LAN devices, 
     including Ethernet, WLAN, and USB physical interfaces"
  ::= { zhnLANDeviceObjects 2}

igmpSnoopingCfgEntry OBJECT-TYPE
  SYNTAX        IgmpSnoopingCfgEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of IGMP configuration information for LAN devices, 
     including Ethernet, WLAN, and USB physical interfaces."
  INDEX        { lanDeviceIndex }
  ::= { igmpSnoopingCfgTable 1}

IgmpSnoopingCfgEntry ::=
  SEQUENCE {
      igmpEnable          TruthValue,
      igmpMode            IGMPSnoopingModeValues,
      igmpIfName          OCTET STRING
  }

igmpEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Enables or disables IGMP snooping for the LAN device.
    "
  ::= { igmpSnoopingCfgEntry 1 }

igmpMode OBJECT-TYPE
  SYNTAX        IGMPSnoopingModeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "IGMP Snooping mode. Enumeration of:
         Standard
         Blocking
    "
  ::= { igmpSnoopingCfgEntry 2 }

igmpIfName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The interface name for this LAN device. This object has
     the same value as the ipInterfaceifName object in the
     ipInterfaceTable and is included within the IGMP table
     for convenience purposes."
  ::= { igmpSnoopingCfgEntry 3 }



--
-- LAN Ethernet Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement
--
-- 1.3.6.1.4.1.5504.2.5.41.1.3
--
lanHostConfigManagementObjects           OBJECT IDENTIFIER ::= { zhnLANDeviceObjects 3 }

lanHostConfigManagementTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LanHostConfigManagementEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN Host Configuration Management information for 
     LAN devices, including Ethernet, WLAN, and USB physical 
     interfaces"
  ::= { lanHostConfigManagementObjects 1}

lanHostConfigManagementEntry OBJECT-TYPE
  SYNTAX        LanHostConfigManagementEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN Host Configuration Management information for 
     LAN devices, including Ethernet, WLAN, and USB physical 
     interfaces"
  INDEX        { lanDeviceIndex }
  ::= { lanHostConfigManagementTable 1}

LanHostConfigManagementEntry ::=
  SEQUENCE {
      dhcpServerConfigurable          TruthValue,
      zhnDhcpServerEnable             TruthValue,
      dhcpRelay                       TruthValue,
      dhcpRelayServer                 IpAddress,
      minAddress                      IpAddress,
      maxAddress                      IpAddress,
      reservedAddresses               OCTET STRING,
      subnetMask                      IpAddress,
      dnsServers                      OCTET STRING,
      domainName                      OCTET STRING,
      ipRouters                       OCTET STRING,
      dhcpLeaseTime                   INTEGER,
      ipInterfaceNumberOfEntries      Unsigned32
  }


dhcpServerConfigurable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Enables the configuration of the DHCP server on the LAN interface
     If this variable is set to false, the CPE should restore its default
     DHCP server settings.
    "
  ::= { lanHostConfigManagementEntry 1 }

zhnDhcpServerEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Enables or disables the DHCP server on the LAN interface."
  ::= { lanHostConfigManagementEntry 2 }

dhcpRelay OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Indicates if the DHCP server performs the role of a server
     or a relay on the LAN interface.
    "
  ::= { lanHostConfigManagementEntry 3 }

dhcpRelayServer OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "DHCP Relay Server IP Address."
  ::= { lanHostConfigManagementEntry 4 }

minAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies first address in the pool to be assigned by the DHCP
      server on the LAN interface.
     "
  ::= { lanHostConfigManagementEntry 5 }

maxAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies last address in the pool to be assigned by the DHCP
      server on the LAN interface.
     "
  ::= { lanHostConfigManagementEntry 6 }

reservedAddresses OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of addresses marked reserved from the 
      address allocation pool.
     "
  ::= { lanHostConfigManagementEntry 7 }

subnetMask OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "DHCP client subnet mask"
  ::= { lanHostConfigManagementEntry 8 }

dnsServers OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of DNS servers offered to DHCP clients.
      Support for more than three DNS Servers is Optional.
     "
  ::= { lanHostConfigManagementEntry 9 }

domainName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Sets the domain name to provide to clients on the LAN interface."
  ::= { lanHostConfigManagementEntry 10}

ipRouters OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of IP addresses of routers on this subnet.
      Also known as default gateway. Support for more than one Router 
      address is Optional.
     "
  ::= { lanHostConfigManagementEntry 11}

dhcpLeaseTime OBJECT-TYPE
  SYNTAX        INTEGER(-1..2147483647)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies the lease time in seconds of client assigned addresses.
      A value of -1 indicates an infinite lease.
     "
  ::= { lanHostConfigManagementEntry 12}

ipInterfaceNumberOfEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
     "Number of IP interface at LAN side of the CPE. 1 is a typical
     value for CPE not supporting Multihomed interfaces. Support for 
     more than one interface instance is Optional.
     "
  ::= { lanHostConfigManagementEntry 13}


--
-- LAN IP Interface Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}
--
-- 1.3.6.1.4.1.5504.2.5.41.1.3.2 
--
ipInterfaceObjects           OBJECT IDENTIFIER ::=  {lanHostConfigManagementObjects 2}

zhnIpInterfaceTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF ZhnIPInterfaceEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "IP interface table."
  ::= { ipInterfaceObjects 1 }

zhnIpInterfaceEntry OBJECT-TYPE
  SYNTAX        ZhnIPInterfaceEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "IP interface table."
  INDEX        { lanDeviceIndex, ipInterfaceIndex }
  ::= { zhnIpInterfaceTable 1}

ZhnIPInterfaceEntry ::=
  SEQUENCE {
      ipInterfaceIndex               Unsigned32,
      ipInterfaceEnable              TruthValue,
      ipInterfaceIPAddress           IpAddress,
      ipInterfaceSubnetMask          IpAddress,
      ipInterfaceAddressingType      IPInterfaceAddressingTypeValues,
      ipInterfaceifName              OCTET STRING,
      firewallEnabled                TruthValue,
      defaultGateway                 IpAddress,
      natEnabled                     TruthValue,
      dhcpcPid                       Unsigned32,
      dnsType                        DNSTypeValues,
      primaryDnsIPAddress            IpAddress,
      secondaryDnsIPAddress          IpAddress,
      zhnVlanType                    VlanTypeValues,
      connectionType                 IpPppoeConnectionTypeValues,
      maxMTUSize                     Unsigned32,
      alternateWanIfName             OCTET STRING,
      naptEnabled                    TruthValue
  }

ipInterfaceIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "LAN IP Address Index"
  ::= { zhnIpInterfaceEntry 1}

ipInterfaceEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Enables or disables this entry."
  ::= { zhnIpInterfaceEntry 2}

ipInterfaceIPAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "IP address of the LAN-side interface of the CPE."
  ::= { zhnIpInterfaceEntry 3}

ipInterfaceSubnetMask OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Subnet mask of the LAN-side interface of the CPE."
  ::= { zhnIpInterfaceEntry 4}

ipInterfaceAddressingType OBJECT-TYPE
  SYNTAX        IPInterfaceAddressingTypeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Represents the addressing method used to assign the LAN-side 
     IP address of the CPE on this interface of the CPE. Enumeration
     of:
         DHCP
         Static
         Auto-IP
    "
  ::= { zhnIpInterfaceEntry 5}

ipInterfaceifName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The interface name for this LAN device."
  ::= { zhnIpInterfaceEntry 6}

firewallEnabled OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Indicates if a stateful firewall is enabled for all traffic from
     this IP interface to the modem.  If TRUE, all inbound local
     traffic (from LAN to modem) that is not responding to an outbound
     packet or listed in the firewall exception table will be blocked.
    "
  ::= { zhnIpInterfaceEntry 7}


defaultGateway OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The IP address of the default gateway for this IP interface.
     This parameter is configurable only if the AddressingType is 
     Static.
    "
  ::= { zhnIpInterfaceEntry 8}

natEnabled OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This parameter enables or disables NAT for this IP interface.
     This parameter is configurable only if this interface is on an 
     uplink port.
    "
  ::= { zhnIpInterfaceEntry 9}

dhcpcPid OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "If the address type is DHCP, then we will start a DHCP client
    to get the IP address for this IP interface.  The process ID (pid)
    is stored in this field. A pid of 0 indicates that no dhcpc is running.
    "
  ::= { zhnIpInterfaceEntry 10}

dnsType OBJECT-TYPE
  SYNTAX        DNSTypeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object specifies the DNS mode for this IP interface.  The
    DNS associates hostname-to-IP address, and so domain names and
    IP addresses can be used interchangeably. Enumeration of:
        Default - Get the DNS information from the uplink interface
        Static - The DNSinformation is manually provisioned
        DHCP - The DNS information is obtained via DHCP
    "
  ::= { zhnIpInterfaceEntry 11}

primaryDnsIPAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The DNS server primary IP address. "
  ::= { zhnIpInterfaceEntry 12}

secondaryDnsIPAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The DNS server secondary IP address. "
  ::= { zhnIpInterfaceEntry 13}

zhnVlanType OBJECT-TYPE
  SYNTAX        VlanTypeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object specifies the VLAN connection type of the interface."
  ::= { zhnIpInterfaceEntry 14}

connectionType OBJECT-TYPE
  SYNTAX        IpPppoeConnectionTypeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object specifies the connection type of the interface."
  ::= { zhnIpInterfaceEntry 15}

maxMTUSize OBJECT-TYPE
  SYNTAX        Unsigned32(1..1540)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The maximum size of IP packet that can be transmitted without
     fragmentation - including IP headers but excluding headers 
     from lower levels in the protocol stack. The default MTU size 
     is 1500 bytes."
  ::= { zhnIpInterfaceEntry 16}

alternateWanIfName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Name of a different VLAN WAN interface to run on if the current 
     VLAN WAN interface is set to unconfigured."
  ::= { zhnIpInterfaceEntry 17}

naptEnabled OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This parameter enables or disables NAPT for this IP interface.
     This parameter is configurable only if this interface is on an 
     uplink port.
    "
  ::= { zhnIpInterfaceEntry 18}


--
-- LAN PPPoE Configuration Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}.PPPoEConfig
--
-- 1.3.6.1.4.1.5504.2.5.41.1.2.15
--

pppoeConfigObjects           OBJECT IDENTIFIER ::=  {ipInterfaceObjects 2}

pppoeConfigTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF PPPoEConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "PPPoE configuration interface table for LAN interfaces."
  ::= { pppoeConfigObjects 1 }

pppoeConfigEntry OBJECT-TYPE
  SYNTAX        PPPoEConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "PPPoE configuration table entry."
  INDEX        { lanDeviceIndex, ipInterfaceIndex }
  ::= { pppoeConfigTable 1}

PPPoEConfigEntry ::=
  SEQUENCE {
      pppoeIfName                    OCTET STRING,
      pid                            Unsigned32,
      connectionRequest              PPPUserConnectionRequestValues,
      username                       OCTET STRING,
      password                       OCTET STRING,
      authentication                 PPPAuthenticationProtocolValues,
      serviceName                    OCTET STRING,
      encryptionProtocol             PPPEncryptionProtocolValues,
      compressionProtocol            PPPCompressionProtocolValues,
      idleDisconnectTime             Unsigned32,
      holdOffTime                    Unsigned32,
      useStaticIpAddress             TruthValue,
      staticIpAddress                IpAddress,
      enableDebug                    TruthValue
  }


pppoeIfName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The interface name for this LAN device."
  ::= { pppoeConfigEntry 1}

pid OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object holds the process id (pid) of the pppd associated with this
     connection. A pid of 0 indicates that there is no pppd running."
  ::= { pppoeConfigEntry 2}

connectionRequest OBJECT-TYPE
  SYNTAX        PPPUserConnectionRequestValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object is used to bring up or down a PPPoE connection. Enumeration of:
         None
         Down
         Up
         Connect
         Disconnect
    "
  ::= { pppoeConfigEntry 3}

username OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "PPP requires that you have a user name and password to establish your
     connection. This object is the login user name to be used for PPP 
     authentication."
  ::= { pppoeConfigEntry 4}

password OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "PPP requires that you have a user name and password to establish your
     connection. This object is the login password to be used for PPP 
     authentication. When read, this parameter returns an empty string, 
     regardless of the actual value."
  ::= { pppoeConfigEntry 5}

authentication OBJECT-TYPE
  SYNTAX        PPPAuthenticationProtocolValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object is the PPP authentication protocol to be used for PPP 
     authentication. Enumeration of:
         AUTO_AUTH
         PAP
         CHAP
         MS-CHAP
    "
  ::= { pppoeConfigEntry 6}

serviceName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object is the PPP Service Name. It should be filled only if 
    specified by the provider."
  ::= { pppoeConfigEntry 7}

encryptionProtocol OBJECT-TYPE
  SYNTAX        PPPEncryptionProtocolValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object describes the PPP encryption protocol. Enumeration of:
         None
         MPPE
    "
  ::= { pppoeConfigEntry 8}

compressionProtocol OBJECT-TYPE
  SYNTAX        PPPCompressionProtocolValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object describes the PPP compression protocol used between the WAN 
    device and the ISP POP. Enumeration of:
         None
	 VanJacobsen
	 STAC-LZS
    "
  ::= { pppoeConfigEntry 9}

idleDisconnectTime OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The time in seconds that if the connection remains idle, the CPE
     automatically terminates the connection. A value of 0 (zero) indicates
     that the connection is not to be shutdown automatically."
  ::= { pppoeConfigEntry 10}

holdOffTime OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Set time in seconds before retrying connection."
  ::= { pppoeConfigEntry 11}

useStaticIpAddress OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "If TRUE, PPPoE connection will use a static IP address."
  ::= { pppoeConfigEntry 12}

staticIpAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "PPPoE static IP address."
  ::= { pppoeConfigEntry 13}

enableDebug OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Enable PPPoE debug."
  ::= { pppoeConfigEntry 14}


--
-- LAN PPPoE Status Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}.PPPoEStatus
--
-- 1.3.6.1.4.1.5504.2.5.41.1.2.16
--

pppoeStatusObjects           OBJECT IDENTIFIER ::=  {ipInterfaceObjects 3}

pppoeStatusTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF PPPoEStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "PPPoE configuration interface table for LAN interfaces."
  ::= { pppoeStatusObjects 1 }

pppoeStatusEntry OBJECT-TYPE
  SYNTAX        PPPoEStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "PPPoE status table entry."
  INDEX        { lanDeviceIndex, ipInterfaceIndex }
  ::= { pppoeStatusTable 1}

PPPoEStatusEntry ::=
  SEQUENCE {
      connectionStatus               WANPppConnectionStatusValues,
      lastConnectionError            WANPppLastConnectionErrorValues,
      connectionEstablishedTime      Unsigned32,
      currentMTUSize                 Unsigned32,
      uptime                         Unsigned32
  }

connectionStatus OBJECT-TYPE
  SYNTAX        WANPppConnectionStatusValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Current status of the PPP connection."
  ::= { pppoeStatusEntry 1}

lastConnectionError OBJECT-TYPE
  SYNTAX        WANPppLastConnectionErrorValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The failure reason of the last PPP connection setup."
  ::= { pppoeStatusEntry 2}

connectionEstablishedTime OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The last time the PPP connection was established."
  ::= { pppoeStatusEntry 3}

currentMTUSize OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The current MTU in use over this connection."
  ::= { pppoeStatusEntry 4}

uptime OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The time in seconds this connection has been up."
  ::= { pppoeStatusEntry 5}


--
-- DHCP Conditional Serving Pool Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}.
--
-- 1.3.6.1.4.1.5504.2.5.41.1.3.3 
--
zhnDhcpConditionalServingPoolObjects           OBJECT IDENTIFIER ::=  {lanHostConfigManagementObjects 3}

zhnDhcpConditionalServingPoolTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF ZhnDhcpConditionalServingPoolEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "A collection of configuration parameters for DHCP conditional serving."
  ::= { zhnDhcpConditionalServingPoolObjects 1 }

zhnDhcpConditionalServingPoolEntry OBJECT-TYPE
  SYNTAX        ZhnDhcpConditionalServingPoolEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "DHCP Conditional Serving Pool table."
  INDEX        { lanDeviceIndex, dhcpPoolIndex }
  ::= { zhnDhcpConditionalServingPoolTable 1}

ZhnDhcpConditionalServingPoolEntry ::=
  SEQUENCE {
      dhcpPoolIndex                   Unsigned32,
      dhcpPoolEnable                  TruthValue,
      dhcpPoolChaddr                  MacAddress,
      dhcpPoolChaddrMask              MacAddress,
      dhcpPoolMinAddress              IpAddress,
      dhcpPoolMaxAddress              IpAddress,
      dhcpPoolReservedAddresses       OCTET STRING,
      dhcpPoolSubnetMask              IpAddress,
      dhcpPoolDnsServers              OCTET STRING,
      dhcpPoolDomainName              OCTET STRING,
      dhcpPoolIPRouters               OCTET STRING,
      dhcpPoolLeaseTime               INTEGER,
      dhcpPoolUseWanVlan              Unsigned32,
      dhcpPoolEnableStaticLease       TruthValue,
      dhcpPoolRowStatus               ZhoneRowStatus
  }

dhcpPoolIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "DHCP pool index"
  ::= { zhnDhcpConditionalServingPoolEntry 1}

dhcpPoolEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Enables or disables this entry."
  ::= { zhnDhcpConditionalServingPoolEntry 2}

dhcpPoolChaddr OBJECT-TYPE
  SYNTAX        MacAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "MAC address of the physical interface of the DHCP client. A perfect
      match is needed. An empty value indicates this criterion is not used
      for conditional serving.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 3}

dhcpPoolChaddrMask OBJECT-TYPE
  SYNTAX        MacAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Chaddr is only to be done for bit positions set to one in the mask.
      A mask of FF:FF:FF:FF:FF:FF indicates all bits of the Chaddr are to be
      used for classification.  A perfect match is needed. An empty value
      indicates this criterion is not used for conditional serving.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 4}

dhcpPoolMinAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies first address in the pool to be assigned by the DHCP server
      on the LAN interface.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 5}

dhcpPoolMaxAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies last address in the pool to be assigned by the DHCP server
      on the LAN interface.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 6}

dhcpPoolReservedAddresses OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of addresses marked reserved from the 
      address allocation pool.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 7 }

dhcpPoolSubnetMask OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies the clients network subnet mask."
  ::= { zhnDhcpConditionalServingPoolEntry 8 }

dhcpPoolDnsServers OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of DNS servers offered to DHCP clients.
      Support for more than three DNS Servers is Optional.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 9 }

dhcpPoolDomainName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Sets the domain name to provide to clients on the LAN interface."
  ::= { zhnDhcpConditionalServingPoolEntry 10}

dhcpPoolIPRouters OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Comma separated list of IP addresses of routers on this subnet.
      Also known as default gateway. Support for more than one Router 
      address is Optional.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 11}

dhcpPoolLeaseTime OBJECT-TYPE
  SYNTAX        INTEGER(-1..2147483647)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Specifies the lease time in seconds of client assigned addresses.
      A value of -1 indicates an infinite lease.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 12}

dhcpPoolUseWanVlan OBJECT-TYPE
  SYNTAX        Unsigned32(0..4096)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "The WAN VLAN is used to determine the default gateway router
      for upstream packets that have a source IP address in this
      subnet. A zero value indicates that the WAN VLAN is not used.
     "
  ::= { zhnDhcpConditionalServingPoolEntry 13}

dhcpPoolEnableStaticLease OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
     "Enable this option to permanently bind the IP address to 
      the client MAC. 
     "
  ::= { zhnDhcpConditionalServingPoolEntry 14}

dhcpPoolRowStatus OBJECT-TYPE
  SYNTAX        ZhoneRowStatus
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "The SNMP RowStatus of the current row. The following object must
     be specified upon row creation:
        dhcpPoolChaddr
    "
  ::= { zhnDhcpConditionalServingPoolEntry 15}

--
-- LAN Ethernet Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.
--
-- 1.3.6.1.4.1.5504.2.5.41.1.4.1
--
zhnLANEthernetInterfaceObjects           OBJECT IDENTIFIER ::=  {zhnLANDeviceObjects 4 }
lanEthernetInterfaceConfigTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LANEthernetInterfaceConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN ethernet interface configuration objects. This object 
    models an Ethernet LAN connection on a CPE device. This object must 
    be implemented for all CPEs that contain an Ethernet interface on 
    the LAN side."
  ::= { zhnLANEthernetInterfaceObjects 1}

lanEthernetInterfaceConfigEntry OBJECT-TYPE
  SYNTAX        LANEthernetInterfaceConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table entry for LAN ethernet interface configuration objects."
  INDEX        { lanDeviceIndex, lanEthernetIndex }
  ::= { lanEthernetInterfaceConfigTable 1}

LANEthernetInterfaceConfigEntry ::=
  SEQUENCE {
      lanEthernetIndex           Unsigned32,
      lanEthernetEnable          TruthValue,
      lanEthernetStatus          LANEthernetStatusValues,
      macAddress                 OCTET STRING,
      macAddressControlEnabled   TruthValue,
      maxBitRate                 LANEthernetMaxBitRateValues,
      duplexMode                 LANEthernetDuplexModeValues,
      zhnIfName                  OCTET STRING,
      zhnEthernetPriorityMark    Unsigned32,
      dot1qPvid                  Unsigned32,
      lanEthernetAlias           OCTET STRING,
      pauseMode                  LANEthernetPauseModeValues,
      lanEthernetAcl             LANEthernetAclValues,
      lanEthernetAclRulesNumberofEntries  Unsigned32,
      lanEthernetLanFollowsWan            TruthValue,
      lanEthernetIgmpPriorityMark         Unsigned32,
      lanEthernetIgmpPvid                 Unsigned32
  }

lanEthernetIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "LAN Ethernet Interface Index"
  ::= { lanEthernetInterfaceConfigEntry 1}

lanEthernetEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Enables or disables this interface."
  ::= { lanEthernetInterfaceConfigEntry 2}

lanEthernetStatus OBJECT-TYPE
  SYNTAX        LANEthernetStatusValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Indicates the status of this interface. Enumeration of:
         Up
         NoLink
         Error
         Disabled
    "
  ::= { lanEthernetInterfaceConfigEntry 3}

macAddress OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "ASCII representation of the physical address of the interface"
  ::= { lanEthernetInterfaceConfigEntry 4}
  
macAddressControlEnabled OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Indicates whether MAC Address Control is enabled or not on this 
    interface. MAC Address Control limits the clients that connect to 
    those that match a list of allowed MAC addresses specified in
    InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses."
  ::= { lanEthernetInterfaceConfigEntry 5}

maxBitRate OBJECT-TYPE
  SYNTAX        LANEthernetMaxBitRateValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The maximum upstream and downstream bit rate available to this 
    connection. Enumeration of:
        10
 	100
 	1000
 	Auto
    "
  ::= { lanEthernetInterfaceConfigEntry 6}

duplexMode OBJECT-TYPE
  SYNTAX        LANEthernetDuplexModeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The duplex mode available to this connection. Enumeration of:
        Half
 	Full
 	Auto
    "
  ::= { lanEthernetInterfaceConfigEntry 7}

zhnIfName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Ethernet interface name such as eth0, eth1."
  ::= { lanEthernetInterfaceConfigEntry 8}

zhnEthernetPriorityMark OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "802.1P priority value for this ethernet interface. Assigment
     of priority values is done via the Layer 2 Bridge Marking Table.
     Therefore, this object is read-only."
  ::= { lanEthernetInterfaceConfigEntry 9}

dot1qPvid OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "Default 802.1Q VLAN ID for this ethernet interface."
  ::= { lanEthernetInterfaceConfigEntry 10}

lanEthernetAlias OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "A descriptive name for this ethernet interface."
  ::= { lanEthernetInterfaceConfigEntry 11}

pauseMode OBJECT-TYPE
  SYNTAX        LANEthernetPauseModeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "The pause mode available to this connection. Enumeration of:
        Auto
        Enable
        Disable
    "
  ::= { lanEthernetInterfaceConfigEntry 12}

lanEthernetAcl OBJECT-TYPE
  SYNTAX        LANEthernetAclValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "The access list values available to an ethernet interface. Enumeration of:
         Disable
         BlackList
         WhiteList
         Unsupported
    "
  ::= { lanEthernetInterfaceConfigEntry 13}

lanEthernetAclRulesNumberofEntries OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   
    "The number of entries in the access list table for this ethernet interface."
  ::= { lanEthernetInterfaceConfigEntry 14}

lanEthernetLanFollowsWan OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "Enable or disable this LAN interface based upon the WAN status."
  ::= { lanEthernetInterfaceConfigEntry 15}

lanEthernetIgmpPriorityMark OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "The 802.1P priority value that this LAN interface will assign to ingress untagged 
     IGMP frames."
  ::= { lanEthernetInterfaceConfigEntry 16}

lanEthernetIgmpPvid OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "The VLAN ID that this LAN interface will assign to ingress untagged IGMP frames."
  ::= { lanEthernetInterfaceConfigEntry 17}


--
-- LAN Ethernet Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats
--
-- 1.3.6.1.4.1.5504.2.5.41.1.4.2
--
lanEthIntfStatisticsTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LANEthIntfStatisticsEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN ethernet interface statistics objects. This object 
    contains statistics for an Ethernet LAN connection on a CPE device."
  ::= { zhnLANEthernetInterfaceObjects 2}

lanEthIntfStatisticsEntry OBJECT-TYPE
  SYNTAX        LANEthIntfStatisticsEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table entry for LAN ethernet interface statistics objects."
  INDEX        { lanDeviceIndex, lanEthernetIndex }
  ::= { lanEthIntfStatisticsTable 1}

LANEthIntfStatisticsEntry ::=
  SEQUENCE {
      bytesSent                Gauge32,
      bytesReceived            Gauge32,
      packetsSent              Gauge32,
      packetsReceived          Gauge32,
      txErrors                 Gauge32,
      rxErrors                 Gauge32,
      txDrops                  Gauge32,
      rxDrops                  Gauge32
  }

bytesSent OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of bytes sent over the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 1}

bytesReceived OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of bytes received over the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 2}

packetsSent OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of packets sent over the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 3}

packetsReceived OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of packets received over the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 4}

txErrors OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of transmit errors on the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 5}

rxErrors OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of receive errors on the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 6}

txDrops OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of packets dropped on the transmit side of the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 7}

rxDrops OBJECT-TYPE
  SYNTAX        Gauge32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "Total number of packets dropped on the receive side of the interface since 
    the CPE was last reset."
  ::= { lanEthIntfStatisticsEntry 8}



--
-- LAN Ethernet Objects 
-- InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.X_ZHONE_COM_Status
--
-- 1.3.6.1.4.1.5504.2.5.41.1.4.3
--
lanEthIntfStatusTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LANEthIntfStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN ethernet interface status objects. This object 
    models an Ethernet LAN connection on a CPE device. This object must 
    be implemented for all CPEs that contain an Ethernet interface on 
    the LAN side."
  ::= { zhnLANEthernetInterfaceObjects 3}

lanEthIntfStatusEntry OBJECT-TYPE
  SYNTAX        LANEthIntfStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table entry for LAN ethernet interface status objects."
  INDEX        { lanDeviceIndex, lanEthernetIndex }
  ::= { lanEthIntfStatusTable 1}

LANEthIntfStatusEntry ::=
  SEQUENCE {
      linkStatus                 LANEthernetStatusValues,
      rateStatus                 LANEthernetMaxBitRateValues,
      duplexStatus               LANEthernetDuplexModeValues,
      pauseStatus                LANEthernetPauseModeValues
  }

linkStatus OBJECT-TYPE
  SYNTAX        LANEthernetStatusValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The port's current link status."
  ::= { lanEthIntfStatusEntry 1}

rateStatus OBJECT-TYPE
  SYNTAX        LANEthernetMaxBitRateValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The port's current maximum bit rate. "
  ::= { lanEthIntfStatusEntry 2}

duplexStatus OBJECT-TYPE
  SYNTAX        LANEthernetDuplexModeValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The port's current duplex mode. "
  ::= { lanEthIntfStatusEntry 3}

pauseStatus OBJECT-TYPE
  SYNTAX        LANEthernetPauseModeValues
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "The port's current pause mode. "
  ::= { lanEthIntfStatusEntry 4}



--
-- LAN Rate Limit Configuration for Ethernet Objects 
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.RateLimit
--
-- 1.3.6.1.4.1.5504.2.5.41.1.4.4
--
lanEthIntfRateLimitTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LANEthIntfRateLimitEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN ethernet interface configuration objects. This object 
    models an Ethernet LAN connection on a CPE device. This object must 
    be implemented for all CPEs that contain an Ethernet interface on 
    the LAN side."
  ::= { zhnLANEthernetInterfaceObjects 4}

lanEthIntfRateLimitEntry OBJECT-TYPE
  SYNTAX        LANEthIntfRateLimitEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Rate limit table entry for LAN ethernet interface configuration objects."
  INDEX        { lanDeviceIndex, lanEthernetIndex }
  ::= { lanEthIntfRateLimitTable 1}

LANEthIntfRateLimitEntry ::=
  SEQUENCE {
      rateLimitEnable            TruthValue,
      peakRate                   Unsigned32,
      burstSize                  LANRateLimitBurstSizeValues,
      rateDirection              LANRateLimitDirectionValues,
      inboundPeakRate            Unsigned32
  }

rateLimitEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object is used to enable or disable rate limit on a port.
     Setting it to True will rate limit traffic on the port to a specified 
     peak rate."
  ::= { lanEthIntfRateLimitEntry 1}

peakRate OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object identifies the maximum rate (0-1000) in Mbps on a port. If
     Rate Limit is disabled, this object has no effect."
  ::= { lanEthIntfRateLimitEntry 2}

burstSize OBJECT-TYPE
  SYNTAX        LANRateLimitBurstSizeValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object burst size. If Rate Limit is disabled, this object has 
     no effect."
  ::= { lanEthIntfRateLimitEntry 3}

rateDirection OBJECT-TYPE
  SYNTAX        LANRateLimitDirectionValues
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object specifies the traffic direction to which the rate limit applies.
     The supported values are inbound, outbound or both. If the Rate Limit is
     disabled, this object has no effect."
  ::= { lanEthIntfRateLimitEntry 4}

inboundPeakRate OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "This object identifies the maximum rate (0-1000) in Mbps on a port for 
     inbound data. If Rate Limit is disabled, this object has no effect."
  ::= { lanEthIntfRateLimitEntry 5}



--
-- IGMP Group Membership Table 
--
-- 1.3.6.1.4.1.5504.2.5.41.1.5
--
igmpGroupsTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF IgmpGroupsEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of IGMP Multicast Groups currently detected by IGMP snooping."
  ::= { zhnLANDeviceObjects 5}

igmpGroupsEntry OBJECT-TYPE
  SYNTAX        IgmpGroupsEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "IGMP Multicast Groups table."
  INDEX        { igmpGroupIndex }
  ::= { igmpGroupsTable 1}

IgmpGroupsEntry ::=
  SEQUENCE {
      igmpGroupIndex             Unsigned32,
      igmpGroupAddress           IpAddress,
      igmpGroupReporterIP        IpAddress,
      igmpGroupReporterMAC       OCTET STRING,
      igmpGroupInterface         OCTET STRING,
      igmpGroupVlan              OCTET STRING,
      igmpGroupExpiration        Unsigned32,
      igmpGroupQuerier           IpAddress
  }

igmpGroupIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "IGMP Multicast Groups Table Index"
  ::= { igmpGroupsEntry 1}

igmpGroupAddress OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the IP address of the multicast group."
  ::= { igmpGroupsEntry 2}

igmpGroupReporterIP OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the IP address of the host in the multicast group."
  ::= { igmpGroupsEntry 3}

igmpGroupReporterMAC OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the MAC address of the host in the multicast group."
  ::= { igmpGroupsEntry 4}

igmpGroupInterface OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the interface that discovered the multicast group."
  ::= { igmpGroupsEntry 5}

igmpGroupVlan OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the VLAN that discovered the multicast group."
  ::= { igmpGroupsEntry 6}

igmpGroupExpiration OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the time (in seconds) before the multicast group 
     times out."
  ::= { igmpGroupsEntry 7}

igmpGroupQuerier OBJECT-TYPE
  SYNTAX        IpAddress
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION
    "This object identifies the IP address to be used by a proxy querier."
  ::= { igmpGroupsEntry 8}


--
-- LAN System-wide Scalar Objects
--
-- 1.3.6.1.4.1.5504.2.5.41.1.6
--
zhnLANDeviceSystemObjects            OBJECT IDENTIFIER ::= { zhnLANDeviceObjects 6 }

lanDefaultIfName OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "Configure the default interface name."
  ::= { zhnLANDeviceSystemObjects 1 }

lanDefaultIfIpAddress OBJECT-TYPE
  SYNTAX     IpAddress
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
     "The IP address of the default interface, as configured by IPInterfaceIPAddress."
  ::= { zhnLANDeviceSystemObjects 2 }


--
-- LAN Access List Rules
-- TR-98 InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.X_ZHONE_AclRule.{i}.
--
-- 1.3.6.1.4.1.5504.2.5.41.1.7
--

lanEthAclRulesTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF LANEthAclRulesEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table of LAN ethernet access list rules. This table contains
     a list of all access rules used to filter incoming traffic for 
     a single physical ethernet interface."
  ::= { zhnLANDeviceObjects 7}

lanEthAclRulesEntry OBJECT-TYPE
  SYNTAX        LANEthAclRulesEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
    "Table entry for LAN ethernet access list objects."
  INDEX        { lanDeviceIndex, lanEthernetIndex, lanAclRuleKey }
  ::= { lanEthAclRulesTable 1}

LANEthAclRulesEntry ::=
  SEQUENCE {
      lanAclRuleKey              Unsigned32,
      lanAclRuleIfName           OCTET STRING,
      lanAclRuleName             OCTET STRING,
      lanAclRuleSourceIPAddress  OCTET STRING,
      lanAclRuleIPProtocol       LANEthernetIpProtocolValues,
      lanAclRuleSourceMACAddress OCTET STRING,
      lanAclRuleSourceMACMask    OCTET STRING,
      lanAclRuleRowStatus        ZhoneRowStatus
  }

lanAclRuleKey OBJECT-TYPE
  SYNTAX     Unsigned32
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
     "Index for the Ethernet Access List table."
  ::= { lanEthAclRulesEntry 1 }

lanAclRuleIfName OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
     "Identify the interface name."
  ::= { lanEthAclRulesEntry 2 }

lanAclRuleName OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "The user defined identifier for the rule. When creating a new rule,
      this field must be provided and must be unique per interface rule."
  ::= { lanEthAclRulesEntry 3 }

lanAclRuleSourceIPAddress OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "The Source IP address to filter.  The address may include a subnet
      prefix length in CIDR notation. Therefore the format would be
      192.168.2.0/24. This is a ASCII representation of the IP address"
  ::= { lanEthAclRulesEntry 4 }

lanAclRuleIPProtocol OBJECT-TYPE
  SYNTAX     LANEthernetIpProtocolValues
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "The IPv4 Protocol to filter."
  ::= { lanEthAclRulesEntry 5 }

lanAclRuleSourceMACAddress OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "The Source MAC Address to filter.
     ASCII representation of the physical address of the interface"
  ::= { lanEthAclRulesEntry 6 }

lanAclRuleSourceMACMask OBJECT-TYPE
  SYNTAX     OCTET STRING
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
     "Mask by which to filter MAC address. For example a MAC Mask of 
      ff:ff:ff:00:00:00 would filter against the first six digits of 
      the MAC address. ASCII representation of the MAC Mask"
  ::= { lanEthAclRulesEntry 7 }

lanAclRuleRowStatus OBJECT-TYPE
  SYNTAX        ZhoneRowStatus
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   
    "The SNMP RowStatus of the current row. The following object must
     be specified upon row creation:
        lanAclRuleName
    "
  ::= { lanEthAclRulesEntry 8}




-- ****************************************************************************
--
-- Conformance Information
--

zhnLANDeviceConformance OBJECT IDENTIFIER ::= { zhnLANDevice 2 }

zhnLANDeviceGroups OBJECT IDENTIFIER ::= { zhnLANDeviceConformance 1}
zhnLANDeviceCompliances OBJECT IDENTIFIER ::= { zhnLANDeviceConformance 2}
 
--
-- Compliance Statements
--

zhnLANDeviceCompliance  MODULE-COMPLIANCE
  STATUS        current
  DESCRIPTION
        "The Compliance statement for SNMP entities which
         manage the Zhone CPE LAN Device Information"
  MODULE  -- this module
  MANDATORY-GROUPS {
         zhnLANDeviceGroup,
	 zhnLANHostConfigManagementGroup,
	 zhnIpInterfaceGroup,
	 zhnLANEthernetInterfaceConfigGroup,
	 zhnLANEthIntfStatusGroup
  }
  ::= {zhnLANDeviceCompliances 1}


--
-- Units of Conformance
--

zhnLANDeviceGroup OBJECT-GROUP
   OBJECTS {
      lanEthernetInterfaceNumberOfEntries,
      lanUSBInterfaceNumberOfEntries,
      lanWLANConfigurationNumberOfEntries,
      lanMocaInterfaceNumberOfEntries
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN Device objects that describe the LAN
       interfaces of the device."
   ::= { zhnLANDeviceGroups 1}

zhnLANIgmpSnoopingGroup OBJECT-GROUP
   OBJECTS {
      igmpEnable,
      igmpMode,
      igmpIfName
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN Device objects that describe the IGMP
       snooping capabilities of the device."
   ::= { zhnLANDeviceGroups 2}

zhnLANHostConfigManagementGroup OBJECT-GROUP
   OBJECTS {
      dhcpServerConfigurable,
      zhnDhcpServerEnable,
      dhcpRelay,
      dhcpRelayServer,
      minAddress,
      maxAddress,
      reservedAddresses,
      subnetMask,
      dnsServers,
      domainName,
      ipRouters,
      dhcpLeaseTime,
      ipInterfaceNumberOfEntries
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN Host Configuration Management objects 
       that describe the LAN IP addressing of the device."
   ::= { zhnLANDeviceGroups 3}
 
zhnIpInterfaceGroup OBJECT-GROUP
   OBJECTS {
      ipInterfaceEnable,
      ipInterfaceIPAddress,
      ipInterfaceSubnetMask,
      ipInterfaceAddressingType,
      ipInterfaceifName,
      firewallEnabled,
      defaultGateway,
      natEnabled,
      dhcpcPid,
      dnsType,
      primaryDnsIPAddress,
      secondaryDnsIPAddress,
      zhnVlanType,
      connectionType,
      maxMTUSize,
      alternateWanIfName,
      natEnabled
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN IP Address objects that describe the 
       IP connectivity of interfaces of the device."
   ::= { zhnLANDeviceGroups 4}

zhnPPPoEConfigGroup OBJECT-GROUP
   OBJECTS {
      pppoeIfName,
      pid,
      connectionRequest,
      username,
      password,
      authentication,
      serviceName,
      encryptionProtocol,
      compressionProtocol,
      idleDisconnectTime,
      holdOffTime,
      useStaticIpAddress,
      staticIpAddress,
      enableDebug
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN PPPoE objects that describe the 
       configuration of PPPoE connections for interfaces of the device."
   ::= { zhnLANDeviceGroups 5}

zhnPPPoEStatusGroup OBJECT-GROUP
   OBJECTS {
      connectionStatus,
      lastConnectionError,
      connectionEstablishedTime,
      currentMTUSize,
      uptime
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN PPPoE objects that describe the 
       status of PPPoE connections for interfaces of the device."
   ::= { zhnLANDeviceGroups 6}

zhnLANEthernetInterfaceConfigGroup OBJECT-GROUP
   OBJECTS {
        lanEthernetEnable,
	lanEthernetStatus,
	macAddress,
	macAddressControlEnabled,
	maxBitRate,
        duplexMode,
	zhnIfName,
	zhnEthernetPriorityMark,
	dot1qPvid,
	lanEthernetAlias,
	pauseMode,
	lanEthernetAcl,
	lanEthernetAclRulesNumberofEntries,
        lanEthernetLanFollowsWan,
        lanEthernetIgmpPriorityMark,
        lanEthernetIgmpPvid
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone LAN Ethernet objects that describe the 
       ethernet-like interfaces of the device."
   ::= { zhnLANDeviceGroups 7}

zhnLANEthIntfStatisticsGroup OBJECT-GROUP
  OBJECTS {
      bytesSent,
      bytesReceived,
      packetsSent,
      packetsReceived,
      txErrors,
      rxErrors,
      txDrops,
      rxDrops 
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN Ethernet objects that convey 
      statistical information for the ethernet-like interfaces 
      of the device."
  ::= { zhnLANDeviceGroups 8}

zhnLANEthIntfStatusGroup OBJECT-GROUP
  OBJECTS {
      linkStatus,
      rateStatus,
      duplexStatus,
      pauseStatus
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN Ethernet objects that convey the
      status of the ethernet-like interfaces of the device."
  ::= { zhnLANDeviceGroups 9}

zhnLANEthIntfRateLimitGroup OBJECT-GROUP
  OBJECTS {
      rateLimitEnable,
      peakRate,
      burstSize,
      rateDirection,
      inboundPeakRate
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN Ethernet objects that convey the
      rate-limit information of the ethernet-like interfaces of the device."
  ::= { zhnLANDeviceGroups 10}

zhnLANIGMPMulticastGroup OBJECT-GROUP
  OBJECTS {
      igmpGroupAddress,
      igmpGroupReporterIP,
      igmpGroupReporterMAC,
      igmpGroupInterface,
      igmpGroupVlan,
      igmpGroupExpiration,
      igmpGroupQuerier
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN IGMP objects that identify the multicast
      groups currently detected by IGMP snooping within the device."
  ::= { zhnLANDeviceGroups 11}

zhnLANSystemGroup OBJECT-GROUP
  OBJECTS {
      lanDefaultIfName,
      lanDefaultIfIpAddress
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN System-wide scalar objects that identify 
      the system default interface."
  ::= { zhnLANDeviceGroups 12}

zhnLANAclRulesGroup OBJECT-GROUP
  OBJECTS {
      lanAclRuleIfName,
      lanAclRuleName,
      lanAclRuleSourceIPAddress,
      lanAclRuleIPProtocol,
      lanAclRuleSourceMACAddress,
      lanAclRuleSourceMACMask,
      lanAclRuleRowStatus
  }
  STATUS current
  DESCRIPTION
     "A collection of Zhone LAN Ethernet interface access-list
      rules with which to filter incoming traffic."
  ::= { zhnLANDeviceGroups 13}

zhnDhcpConditionalServingPoolGroup OBJECT-GROUP
  OBJECTS {
      dhcpPoolIndex,
      dhcpPoolEnable,
      dhcpPoolChaddr,
      dhcpPoolChaddrMask,
      dhcpPoolMinAddress,
      dhcpPoolMaxAddress,
      dhcpPoolReservedAddresses,
      dhcpPoolSubnetMask,
      dhcpPoolDnsServers,
      dhcpPoolDomainName,
      dhcpPoolIPRouters,
      dhcpPoolLeaseTime,
      dhcpPoolUseWanVlan,
      dhcpPoolEnableStaticLease
  }
  STATUS current
  DESCRIPTION
     "A collection of configuration parameters for DHCP conditional serving."
  ::= { zhnLANDeviceGroups 14}


END
