-- *****************************************************************
-- MOCA11-MIB.my:  MoCA 1.1 Device MIB.
--
-- Copyright (c) 2012 by Multimedia over Coax Alliance
-- All rights reserved.
-- 
-- *****************************************************************
--

MOCA11-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32,
    Counter32,
    Counter64
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    DisplayString,
    MacAddress,
    RowStatus,
    TruthValue
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    mocaMIBs
        FROM MOCA-SMI;

moca11 MODULE-IDENTITY
    LAST-UPDATED    "201306260000Z" -- June 26, 2013
    ORGANIZATION    "Multimedia over Coax Alliance (MoCA) Technical
                    Working Group."
    CONTACT-INFO    "www.mocalliance.org

        Postal:     Multimedia over Coax Alliance
                    2400 Camino Ramon
                    Suite 375
                    San Ramon, CA 94583
                    USA
        Tel:        +1 925 275-6606
        Email:      help@mocalliance.org"
    DESCRIPTION
        "This MIB defines the objects used to remote configure, monitor,
        and diagnose the Multimedia over Coax Alliance (MoCA) network."
        
        REVISION    "201306260000Z" -- June 26, 2013
        DESCRIPTION
        "Add item moca2dot0 about MocaVersion."
        REVISION        "201201270000Z"  -- January 27, 2012 00:00 AM
        DESCRIPTION
        "Third revision. The following specification is
        referenced in this revision of the MIB definition,
        1. MoCA MAC/PHY Specification 1.1, June 27, 2011.
        The key changes in this revision are,
        a. Included the MoCA Password Hash object and algorithm.
        b. Added the MocaLinkStatsTable?and associated objects.
        c. Added the MocaMeshScModTable?and associated objects.
        d. Added 8 new objects to the MocaIfStatsTable?to collect bytes,       
           unicast, multicast, and broadcast statistics.
        e. Added two new objects to the MocaIfStatusTable?for the
           Password Hash and Channel Support."

    REVISION        "200907110000Z"  -- July 11, 2009 00:00 AM
    DESCRIPTION
        "Second revision. The following two specifications are
        referenced in this revision of the MIB definition,
        1. MoCA MAC/PHY Specification 1.0, July 1, 2009.
        2. MoCA MAC/PHY Specification 1.1 Extensions, June 13, 2009.
        The key changes in this revision are,
        a. Updated textual convention 'MocaVersion' and 'MocaDB', and
           added 'MocaPacketAggrLevel'.
        b. Added 'mocaIfStatusChangeEnable' and
           'mocaIfNumNodesChangeEnable' to 'mocaIfConfigTable'.
        c. Renamed 'mocaIfBeaconVersion' to 'mocaIfNetworkVersion'.
        d. Renamed 'mocaIfTenPacketsAggrCapable' to
           'mocaIfPacketsAggrCapability'.
        e. Added 'mocaIfTxGcdRate' to 'mocaIfStatusTable'.
        f. Added 'mocaIfTxPacketsFlow' to 'mocaIfFlowStatsTable'.
        g. Renamed 'mocaNodeTenPacketsAggrCapable' to
           'mocaNodePacketsAggrCapability'.
        h. Added 'mocaNodeRxPackets', 'mocaNodeRxCorrected',
           'mocaNodeRxDrops' and 'mocaNodeSNR' to 'mocaNodeTable'.
        i. Added 'mocaBridgeTable' to 'mocaObjects'.
        j. Added 'mocaTrapIfStatusChange' and
           'mocaTrapIfNumNodesChange' to 'mocaNotifications'."

    REVISION        "200810030000Z"  -- October 3, 2008 00:00 AM
    DESCRIPTION
        "Initial version of this MIB module.  The following two
        specifications are referenced in this MIB definition,
        1. MoCA MAC/PHY Specification 1.0, April 5, 2007
        2. MoCA MAC/PHY Specification 1.1 Extensions, September 26,
           2007."
    ::= { mocaMIBs 1 }

--
-- Textual Conventions
--

MocaVersion ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represent the MoCA Specification version.
        'moca10' represents MoCA Specification 1.0.
        'moca11' represents MoCA Specification 1.1.
        'moca20' represents MoCA Specification 2.0."
    SYNTAX      INTEGER {
                moca1dot0 (10),
                moca1dot1 (11),
                moca1dot1ProTem (12),
                moca2dot0 (20) }

MocaNodeID ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
        "Represent a MoCA node ID.  MoCA 1.0 network can have a maximum
        of 8 nodes, so node ID is 0 to 7.  MoCA 1.1 network can have a
        maximum of 16 nodes, so node ID is 0 to 15."
    SYNTAX      Unsigned32 (0..15)

MocaChannel ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represent the RF center frequency of a MoCA channel in MHz.
        A1      center frequency at 875 MHz
        B1      center frequency at 900 MHz
        C1      center frequency at 925 MHz
        C2      center frequency at 950 MHz
        C3      center frequency at 975 MHz
        C4      center frequency at 1000 MHz
        D1      center frequency at 1150 MHz
        D2      center frequency at 1200 MHz
        D3      center frequency at 1250 MHz
        D4      center frequency at 1300 MHz
        D5      center frequency at 1350 MHz
        D6      center frequency at 1400 MHz
        D7      center frequency at 1450 MHz
        D8      center frequency at 1500 MHz "
    REFERENCE   "MoCA MAC/PHY Specification 1.0, section 4.6."
    SYNTAX      INTEGER {
                unknown (0),
                a1 (875),
                b1 (900),
                c1 (925),
                c2 (950),
                c3 (975),
                c4 (1000),
                d1 (1150),
                d2 (1200),
                d3 (1250),
                d4 (1300),
                d5 (1350),
                d6 (1400),
                d7 (1450),
                d8 (1500) }

MocaChannelMask ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "x"
    STATUS      current
    DESCRIPTION
        "Represent one or more RF center frequency of MoCA channels
        using a bitmask.  Bit 31 is the most significant bit, and bit 0
        is the least significant bit. Not all bits are valid MoCA
        channels.
        bit 0   center frequency at 800 MHz
        bit 1   center frequency at 825 MHz
        bit 2   center frequency at 850 MHz
        bit 3   center frequency at 875 MHz
        bit 4   center frequency at 900 MHz
        bit 5   center frequency at 925 MHz
        bit 6   center frequency at 950 MHz
        bit 7   center frequency at 975 MHz
        bit 8   center frequency at 1000 MHz
        bit 9   center frequency at 1025 MHz
        bit 10  center frequency at 1050 MHz
        bit 11  center frequency at 1050 MHz
        bit 12  center frequency at 1100 MHz
        bit 13  center frequency at 1125 MHz
        bit 14  center frequency at 1150 MHz
        bit 15  center frequency at 1175 MHz
        bit 16  center frequency at 1200 MHz
        bit 17  center frequency at 1225 MHz
        bit 18  center frequency at 1250 MHz
        bit 19  center frequency at 1275 MHz
        bit 20  center frequency at 1300 MHz
        bit 21  center frequency at 1325 MHz
        bit 22  center frequency at 1350 MHz
        bit 23  center frequency at 1375 MHz
        bit 24  center frequency at 1400 MHz
        bit 25  center frequency at 1425 MHz
        bit 26  center frequency at 1450 MHz
        bit 27  center frequency at 1475 MHz
        bit 28  center frequency at 1500 MHz
        bit 29  center frequency at 1525 MHz
        bit 30  center frequency at 1550 MHz
        bit 31  center frequency at 1575 MHz"
    SYNTAX      Unsigned32

MocaPhyRate ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
        "Represent the transmit PHY rate in Mbps."
    SYNTAX      Unsigned32 (0..1024)

MocaDB ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
        "Represent one decibel or 1 dB."
    SYNTAX      Unsigned32 (0..127)

MocaDBm ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
        "Represent a measure of power in mW expressed in decibels, and
        calculated as follows:
            power = 10*log10( Vrms^2 / R * 1000 )
        where Vrms is the root-mean-square Voltage of the received
        waveform and R is 75 ohms."
    SYNTAX      Integer32 (-100..27)

MocaPacketAggrLevel ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represent the maximum number of Ethernet packets aggregated
        in a MoCA frame that is supported at transmit/receive.
        'none' represents packet aggregation is not supported,
        i.e. MoCA 1.0 or MoCA 1.1 ProTem devices.
        'aggr6' represents maximum aggregation of 6 packets.
        'aggr10' represents maximum aggregation of 10 packets."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.21.2 and section 3.6.1, table 3-6."
    SYNTAX      INTEGER {
                none (0),
                aggr6 (6),
                aggr10 (10) }

MocaScMod ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represent the sub-carrier modulation"
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 4.3.6.3"
    SYNTAX      INTEGER {
                unused (0),
                bsk (1),
                qpsk (2),
                qam8 (3),
                qam16 (4),
                qam32 (5),
                qam64 (6),
                qam128 (7),
                qam256 (8)
 }
 

mocaNotifications   OBJECT IDENTIFIER ::= { moca11 0 }
mocaObjects         OBJECT IDENTIFIER ::= { moca11 1 }
mocaConformance     OBJECT IDENTIFIER ::= { moca11 2 }

--
-- MoCA Objects
--

mocaIfConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaIfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA interface configuration table.  This table supports the
        configuration of RF frequency, transmit power, link privacy, and
        traps related parameters.

        This table is indexed by 'ifIndex'. 

        Entries in this table cannot be created or deleted by the 
        network management system.  All entries are created or deleted 
        by the device software."
    ::= { mocaObjects 1 }

mocaIfConfigEntry OBJECT-TYPE
    SYNTAX      MocaIfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA interface configuration table.  Each
        device can have one or more MoCA interfaces.  Each interface has
        a unique MAC address. 

        There is a one to one relationship between a MoCA interface and
        an interface defined in other IETF MIB.  The same 'ifIndex' can
        be used to identify MoCA objects as well as other IETF MIB
        objects."
    INDEX       { ifIndex }
    ::= { mocaIfConfigTable 1 }

MocaIfConfigEntry ::= SEQUENCE {
    mocaIfEnable                    TruthValue,
    mocaIfChannelMask               MocaChannelMask,
    mocaIfPowerControl              TruthValue,
    mocaIfTxPowerLimit              MocaDB,
    mocaIfBeaconPowerLimit          MocaDB,
    mocaIfPowerControlTargetRate    MocaPhyRate,
    mocaIfPrivacyEnable             TruthValue,
    mocaIfPassword                  DisplayString,
    mocaIfPreferredNC               TruthValue,
    mocaIfAccessEnable              TruthValue,
    mocaIfPhyThreshold              MocaPhyRate,
    mocaIfPhyThresholdEnable        TruthValue,
    mocaIfStatusChangeEnable        TruthValue,
    mocaIfNumNodesChangeEnable      TruthValue
}

mocaIfEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable the MoCA interface if this value is 'true'.  Disable the
        MoCA interface if this value is 'false'.

        If this managed object is disabled, it may not be possible to
        enable this object via the SNMP protocol.  The mechanism to
        re-enable this object is out of the scope of this MIB definition
        draft."
    DEFVAL      { true }
    ::= { mocaIfConfigEntry 1 }

mocaIfChannelMask OBJECT-TYPE
    SYNTAX      MocaChannelMask
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify a list of RF center frequencies represented by a
        bitmask which this MoCA node is allowed to form or join a MoCA
        network.

        If the new list of frequencies does not contain the frequency
        this MoCA node is tuned to, this node must drop from the
        network.

        If this managed object is changed, it may not be possible to
        change this object again via the SNMP protocol.  The mechanism
        to change this object again is out of the scope of this MIB
        definition draft."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 4.6.10."
    DEFVAL      { '15554000'h }
    ::= { mocaIfConfigEntry 2 }

mocaIfPowerControl OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable automatic power control if this value is 'true'.  Use a
        fixed transmit power level if this value is 'false'."
    DEFVAL      { true }
    ::= { mocaIfConfigEntry 3 }

mocaIfTxPowerLimit OBJECT-TYPE
    SYNTAX      MocaDB
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify the transmit power BACKOFF in dB.  The transmit power
        SHALL only be changed when the device 'mocaIfStatus' object is
        not 'linkUp', which means the interface is not part of a MoCA
        network."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, Section 3.6.1.2,
                Table 3.7."
    DEFVAL      { 0 }
    ::= { mocaIfConfigEntry 4 }

mocaIfBeaconPowerLimit OBJECT-TYPE
    SYNTAX      MocaDB
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify the beacon transmit power BACKOFF in dB.  The beacon
        transmit power SHALL only be changed when the device
        'mocaIfStatus' object is not 'linkUp', which means the
        interface is not part of a MoCA network."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, Section 3.6.1.2,
                Table 3.7."
    DEFVAL      { 0 }
    ::= { mocaIfConfigEntry 5 }

mocaIfPowerControlTargetRate OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify the target transmit PHY rate in Mbps for the power
        control algorithm.  This change should be used in the next
        maintenance cycle in the MoCA network."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 8.1.9."
    DEFVAL      { 235 }
    ::= { mocaIfConfigEntry 6 }

mocaIfPrivacyEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable link privacy if this value is 'true', and use the
        'mocaIfPassword' to generate the MAC management key and initial
        privacy management key.  Disable link privacy and do not perform
        link encryption if this value is 'false'.

        This node will drop from the network if this value changes.

        If this managed object is disabled, it may not be possible to
        enable this object via the SNMP protocol.  The mechanism to
        re-enable this object is out of the scope of this MIB definition
        draft."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 6.0."
    DEFVAL      { false }
    ::= { mocaIfConfigEntry 7 }

mocaIfPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..17))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify the MoCA password using an ASCII numeric string.

        This value must be 12 to 17 decimal digits long.  Access is only
        allowed when used with SNMPv3 protocol, but not allowed when
        used with SNMPv1 or SNMPv2c protocol.

        If this value changes, this node will drop from the network if
        'mocaIfPrivacyEnable' is 'true'.  If this managed object is
        changed, it may not be possible to change this object again via
        the SNMP protocol. The mechanism to change this object again is 
        out of the scope of this MIB definition draft."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 6.3."
    DEFVAL      { "" }
    ::= { mocaIfConfigEntry 8 }

mocaIfPreferredNC OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set this node as preferred NC if this value is 'true'.  Do not
        set this node as preferred NC if this value is 'false'.
                
        This value can be ignored by this MoCA interface when operating
        in a MoCA 1.0 network."
    DEFVAL      { false }
    ::= { mocaIfConfigEntry 9 }

mocaIfAccessEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable MAC address access control on the MoCA interface if this
        value is 'true'.  Disable MAC address access control on the MoCA
        interface if this value is 'false'.
                
        Access control applies to subsequent MoCA node admission."
    DEFVAL      { false }
    ::= { mocaIfConfigEntry 10 }

mocaIfPhyThreshold OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify a minimum PHY rate.

        If transmit PHY rate between all pairs of MoCA nodes are greater
        than or equal to this value, then transmit PHY rate of one pair
        of MoCA node is less than this value, send
        'mocaTrapBelowPhyThreshold' if 'mocaIfPhyThresholdEnable' is
        'true'.
                
        If transmit PHY rate between one or more pairs of MoCA nodes are
        less than this value, then transmit PHY rate between all pairs
        of MoCA nodes are greater than or equal to this value, send
        'mocaTrapAbovePhyThreshold' if 'mocaIfPhyThresholdEnable' is
        'true'."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 8.1.5."
    DEFVAL      { 95 }
    ::= { mocaIfConfigEntry 11 }

mocaIfPhyThresholdEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If transmit PHY rate between all pairs of MoCA nodes are
        greater than or equal to 'mocaIfPhyThreshold', then transmit PHY
        rate of one pair of MoCA node is less than 'mocaIfPhyThreshold',
        send 'mocaTrapBelowPhyThreshold' if this value is 'true', do not
        send 'mocaTrapBelowPhyThreshold' if this value is 'false'.
                
        If transmit PHY rate between one or more pairs of MoCA nodes are
        less than 'mocaIfPhyThreshold', then transmit PHY rate between
        all pairs of MoCA nodes are greater than or equal to
        'mocaIfPhyThreshold', send 'mocaTrapAbovePhyThreshold' if this
        value is 'true', do not send 'mocaTrapAbovePhyThreshold' if this
        value is 'false'.
                
        Only one node in the MoCA network should set
        'mocaIfPhyThresholdEnable' to 'true'."
    DEFVAL      { false }
    ::= { mocaIfConfigEntry 12 }

mocaIfStatusChangeEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If 'mocaIfStatusChangeEnable' is 'true' and 'mocaIfStatus'
        changes, then the trap 'mocaTrapIfStatusChange' is sent."
    DEFVAL      { false }
::= { mocaIfConfigEntry 13 }

mocaIfNumNodesChangeEnable  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If 'mocaIfNumNodesChangeEnable' is 'true' and 'mocaIfNumNodes'
        changes, then the trap 'mocaTrapIfNumNodesChange' is sent.

        Only one node in the MoCA network should set 'mocaIfNumNodes'
        to 'true'."
    DEFVAL      { false }
::= { mocaIfConfigEntry 14 }

mocaIfAccessTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaIfAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA interface MAC access control table.  This table contains a
        list of MAC addresses that are allowed to connect to the MoCA
        network. In addition to being in this access control list, a
        MoCA node must have the proper 'mocaIfChannelMask',
        'mocaIfPrivacyEnable', and 'mocaIfPassword' before the node can
        form or join a MoCA network.

        This table is indexed by 'ifIndex' and 'mocaIfAccessIndex'."
    ::= { mocaObjects 2 }

mocaIfAccessEntry OBJECT-TYPE
    SYNTAX      MocaIfAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA interface MAC access control table."
    INDEX       { mocaIfAccessIndex }
    ::= { mocaIfAccessTable 1 }

MocaIfAccessEntry ::= SEQUENCE {
    mocaIfAccessIndex       Integer32,
    mocaIfAccessMacAddress  MacAddress,
    mocaIfAccessStatus      RowStatus
}

mocaIfAccessIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This index is used to order the MoCA interface MAC access
        control table."
    ::= { mocaIfAccessEntry 1 }

mocaIfAccessMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If 'mocaIfAccessEnable' is set to 'true', MoCA node with this
        MAC address is allowed to join the MoCA network. It is not
        guaranteed that the MoCA node with this MAC address can form or
        join a network."
    ::= { mocaIfAccessEntry 2 }

mocaIfAccessStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Control and reflect the status of a row in this table.
        Creation of a row can either be done with 'CreateAndWait' or
        'CreateAndGo'."
    ::= { mocaIfAccessEntry 3 }

mocaIfStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaIfStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA interface status information table.  This table provides
        features supported and operation parameters of the MoCA
        interface.

        This table is indexed by 'ifIndex'.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 3 }

mocaIfStatusEntry OBJECT-TYPE
    SYNTAX      MocaIfStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA interface status information table."
    INDEX       { ifIndex }
    ::= { mocaIfStatusTable 1 }

MocaIfStatusEntry ::= SEQUENCE {
    mocaIfStatus                INTEGER,
    mocaIfLinkUpTime            Unsigned32,
    mocaIfSoftwareVersion       DisplayString,
    mocaIfMocaVersion           MocaVersion,
    mocaIfNetworkVersion        MocaVersion,
    mocaIfMacAddress            MacAddress,
    mocaIfNodeID                MocaNodeID,
    mocaIfName                  DisplayString,
    mocaIfNumNodes              Unsigned32,
    mocaIfNC                    MocaNodeID,
    mocaIfBackupNC              MocaNodeID,
    mocaIfRFChannel             MocaChannel,
    mocaIfLOF                   MocaChannel,
    mocaIfTabooChannelMask      MocaChannelMask,
    mocaIfNodeTabooChannelMask  MocaChannelMask,
    mocaIfCapabilityMask        MocaChannelMask,
    mocaIfTxGcdPowerReduction   MocaDB,
    mocaIfQAM256Capable         TruthValue,
    mocaIfPacketsAggrCapability MocaPacketAggrLevel,
    mocaIfMaxIngressNodeBw      MocaPhyRate,
    mocaIfMaxEgressNodeBw       MocaPhyRate,
    mocaIfTxGcdRate             MocaPhyRate,
    mocaIfPasswordHash          DisplayString,
    mocaIfChannelSupport        MocaChannelMask}

mocaIfStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                disabled (1),
                noLink (2),
                linkUp (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the current status of the MoCA interface.

        'disabled' indicates interface is disabled.  It will not be
        possible to read the 'disabled' status of the MoCA interface if
        this managed node does not have another local port
        (e.g. Ethernet) where SNMP objects can be accessed.
        'noLink' indicates interface is enabled but not part of a
        network.
        'linkUp' indicates interface is enabled and in a network."
    ::= { mocaIfStatusEntry 1 }

mocaIfLinkUpTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the total number of seconds that this interface is
        part of a MoCA network.
                
        This may be used with 'sysUpTime' to determine the link
        availability in the MoCA interface. Note that 'sysUpTime' is in
        10 milliseconds and 'mocaIfLinkUpTime' is in seconds."
    ::= { mocaIfStatusEntry 2 }

mocaIfSoftwareVersion OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the software version of the MoCA device.  This should
        be the same as the product software version in the MoCA
        certificate."
    ::= { mocaIfStatusEntry 3 }

mocaIfMocaVersion OBJECT-TYPE
    SYNTAX      MocaVersion
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA version supported by this MoCA interface."
    ::= { mocaIfStatusEntry 4 }

mocaIfNetworkVersion OBJECT-TYPE
    SYNTAX      MocaVersion
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA version used in this MoCA network.  If this
        interface is not part of a MoCA network, report
        'mocaIfMocaVersion'.

        This value uses the MOCA_VERSION in the Beacon Frame, but
        requires determining whether any nodes in the network are
        MoCA 1.1 ProTem, which distinguishes a MoCA 1.1 network,
        or 'moca1dot1', from a MoCA 1.1 ProTem network, or
        'moca1dot1ProTem'."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.3.6."
    ::= { mocaIfStatusEntry 5 }

mocaIfMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MAC address of this MoCA interface.  This MAC
        address is encoded in the first six bytes of the Globally Unique
        Identifier (GUID).
                
        For example, MoCA interface with MAC address aa:bb:cc:dd:ee:ff
        will have a GUID of aa:bb:cc:dd:ee:ff:00:00."
    ::= { mocaIfStatusEntry 6 }

mocaIfNodeID OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the node ID of this MoCA interface.  If this interface
        is not part of a MoCA network, report a value of '0'."
    ::= { mocaIfStatusEntry 7 }

mocaIfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the textual name of this MoCA interface.  The value of
        this object should be the name of the interface as assigned by
        the MoCA device.
                
        Since MoCA has an Ethernet convergence layer, this name may be
        'ethN' where 'N' is the port number."
    ::= { mocaIfStatusEntry 8 }

mocaIfNumNodes OBJECT-TYPE
    SYNTAX      Unsigned32 (0..16)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the numbers of 1's in the GCD_BITMASK field reported
        in Type I Probe Reports.  This value corresponds to the number
        of nodes that this node communicates to in the MoCA network.

        This value may be smaller than the number of nodes reported by
        the NC node."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.6.3.2."
    ::= { mocaIfStatusEntry 9 }

mocaIfNC OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the node ID of the network coordinator.  If this
        interface is not part of a MoCA network, report a value of '0'."
    ::= { mocaIfStatusEntry 10 }

mocaIfBackupNC OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the node ID of the backup network coordinator.  If
        this interface is not part of a MoCA network, report a value of
        '0'."
    ::= { mocaIfStatusEntry 11 }

mocaIfRFChannel OBJECT-TYPE
    SYNTAX      MocaChannel
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA channel in MHz this interface is tuned to
        when part of a MoCA network.  When not part of a MoCA network
        this value may not reflect the actual tuned channel.  If
        'mocaIfEnable' is 'false', report a value of 'unknown'."
    ::= { mocaIfStatusEntry 12 }

mocaIfLOF OBJECT-TYPE
    SYNTAX      MocaChannel
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA channel in MHz this interface is tuned to
        when it was last in the 'linkUp' state.
                
        If this interface is never part of a MoCA network, report the
        factory default Last Operational Frequency (LOF)."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.4.2."
    ::= { mocaIfStatusEntry 13 }

mocaIfTabooChannelMask OBJECT-TYPE
    SYNTAX      MocaChannelMask
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the list of taboo channels in this MoCA network
        represented as a bitmask.
                
        This value is derived from TABOO_MASK_START and
        TABOO_CHANNEL_MASK in the beacon, but has a different data
        representation.  E.g. If taboo channels consists of 1300, 1350
        and 1400 MHz, TABOO_MASK_START is 52, TABOO_CHANNEL_MASK is
        'A8000000'h, and 'mocaIfTabooChannelMask' is '01500000'h.

        Note that in 'mocaIfTabooChannelMask', the lowest represented
        frequency of 800 MHz is represented in bit 0, and increasing bit
        position represents increasingly higher frequency. While in
        TABOO_CHANNEL_MASK, the taboo channel with the lowest frequency
        is represented in bit 31, and decreasing bit position represents
        increasingly higher frequency.

        If this interface is not sending or receiving beacon, or there
        is no taboo channel in this MoCA network, report a value of
        '0'."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.3.4."
    ::= { mocaIfStatusEntry 14 }

mocaIfNodeTabooChannelMask OBJECT-TYPE
    SYNTAX      MocaChannelMask
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the list of taboo channels for this MoCA node as
        reported in the TABOO_MASK_START and TABOO_CHANNEL_MASK fields
        in this node's Admission Request frame."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.6.1.1."
    ::= { mocaIfStatusEntry 15 }

mocaIfCapabilityMask OBJECT-TYPE
    SYNTAX      MocaChannelMask
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the list of RF frequency channels that this device can
        support represented as a bitmask."
    ::= { mocaIfStatusEntry 16 }

mocaIfTxGcdPowerReduction OBJECT-TYPE
    SYNTAX      MocaDB
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Transmit Power Control back-off used for broadcast
        transmissions from this node.  'mocaIfTxGcdPowerReduction' is
        identical to the TPC back-off utilized for transmission and
        determined from the TPC backoff parameters TPC_BACKOFF_MAJOR and
        TPC_BACKOFF_MINOR as follows:

        mocaIfTxGcdPowerReduction = TPC_BACKOFF_MAJOR * 3 +
                                    TPC_BACKOFF_MINOR"
    ::= { mocaIfStatusEntry 17 }

mocaIfQAM256Capable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate this MoCA node supports QAM256 if the value is 'true'.
        Indicate this MoCA node does not support QAM256 if this value is
        'false'."
    ::= { mocaIfStatusEntry 18 }

mocaIfPacketsAggrCapability OBJECT-TYPE
    SYNTAX      MocaPacketAggrLevel
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represent the maximum number of Ethernet packets aggregated in 
        a MoCA frame that this MoCA interface supports."
    ::= { mocaIfStatusEntry 19 }

mocaIfMaxIngressNodeBw OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the maximum bandwidth of this MoCA interface for
        admission of flows if this node is an ingress node.  This value
        may be obtained from REM_NODE_CAPACITY field in the Response
        L2ME Frame.  For example, when the node is trying to create
        extremely large Flow, resulting in a failed flow creation."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.2.2."
    ::= { mocaIfStatusEntry 20 }

mocaIfMaxEgressNodeBw OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the maximum bandwidth of this MoCA interface for
        admission of Flows if this node is an egress node.  This value
        may be obtained from REM_NODE_CAPACITY field in the Response
        L2ME Frame.  For example, when the node is trying to create
        extremely large Flow, resulting in a failed flow creation."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.2.2."
    ::= { mocaIfStatusEntry 21 }

mocaIfTxGcdRate OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the PHY rate in Mbps for the transmit traffic
        broadcast from this node."
    ::= { mocaIfStatusEntry 22 }

mocaIfPasswordHash OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specify the MoCA password HASH using an ASCII numeric
        String.  The Hash is the two LSBs of a SHA1.
        This value must be a 4 hexadecimal digits long.  Access
        is optional when used with SNMP v1 of SNMP v2c protocol."
    ::= { mocaIfStatusEntry 23 }

mocaIfChannelSupport OBJECT-TYPE
    SYNTAX      MocaChannelMask
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specify a list of RF center frequencies represented by a
        bitmask which this MoCA node can support to form or join a MoCA
        network."
    ::= { mocaIfStatusEntry 24 }

mocaIfStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaIfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA interface statistics table.  This table provides
        statistics of the MoCA interface.
        
        This table is indexed by 'ifIndex'.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 4 }

mocaIfStatsEntry OBJECT-TYPE
    SYNTAX      MocaIfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA interface statistics table.

        Thepacket counters do not wrap in less than an hour with only 32
        bits. Therefore 32 instead of 64 bits counters are used except 
        for byte counters."
    INDEX       { ifIndex }
    ::= { mocaIfStatsTable 1 }

MocaIfStatsEntry ::= SEQUENCE {
    mocaIfTxPackets             Counter32,
    mocaIfTxDrops               Counter32,
    mocaIfRxPackets             Counter32,
    mocaIfRxCorrectedErrors     Counter32,
    mocaIfRxDrops               Counter32,
    mocaIfEgressNodeNumFlows    Unsigned32,
    mocaIfIngressNodeNumFlows   Unsigned32,
    mocaIfTxBytes               Counter64,
    mocaIfRxBytes               Counter64,
    mocaIfTxUnicast             Counter32,
    mocaIfRxUnicast             Counter32,
    mocaIfTxMulticast           Counter32,
    mocaIfRxMulticast           Counter32,
    mocaIfTxBroadcast           Counter32,
    mocaIfRxBroadcast           Counter32}

mocaIfTxPackets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Ethernet packets transmitted by this
        MoCA interface."
    ::= { mocaIfStatsEntry 1 }

mocaIfTxDrops OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of EPDUs received at the ECL and not 
        transmitted by
        this MoCA interface, including drops due to required throttling
        as required by the specification (see REFERENCE)."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 5.1.1."
    ::= { mocaIfStatsEntry 2 }

mocaIfRxPackets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of good Ethernet packets received by this
        MoCA interface."
    ::= { mocaIfStatsEntry 3 }

mocaIfRxCorrectedErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of received Ethernet packets that have
        errors and are corrected by this MoCA interface."
    ::= { mocaIfStatsEntry 4 }

mocaIfRxDrops OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of scheduled MoCA frames that are not
        detected or have uncorrectable errors and are dropped by this
        MoCA interface."
    ::= { mocaIfStatsEntry 5 }

mocaIfEgressNodeNumFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of PQoS flows in which this MoCA interface
        is an egress node for these PQoS flows."
    ::= { mocaIfStatsEntry 6 }

mocaIfIngressNodeNumFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of PQoS flows in which this MoCA interface
        is an ingress node for these PQoS flows."
    ::= { mocaIfStatsEntry 7 }

mocaIfTxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of bytes transmitted by this
        MoCA interface in EPDUs."
    ::= { mocaIfStatsEntry 8 }

mocaIfRxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of bytes received by this
        MoCA interface in EPDUs."
    ::= { mocaIfStatsEntry 9 }

mocaIfTxUnicast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Unicast packets transmitted by this
        MoCA interface."
    ::= { mocaIfStatsEntry 10 }

mocaIfRxUnicast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Unicast Ethernet packets received by 
        this MoCA interface."
    ::= { mocaIfStatsEntry 11 }

mocaIfTxMulticast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Multicast Ethernet packets transmitted
        by this MoCA interface."
    ::= { mocaIfStatsEntry 12 }

mocaIfRxMulticast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Multicast Ethernet packets received by
        this MoCA interface."
    ::= { mocaIfStatsEntry 13 }

mocaIfTxBroadcast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Broadcast Ethernet packets transmitted
        by this MoCA interface."
    ::= { mocaIfStatsEntry 14 }

mocaIfRxBroadcast OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Broadcast Ethernet packets received by 
        this MoCA interface."
    ::= { mocaIfStatsEntry 15 }
mocaIfFlowStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaIfFlowStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA interface flow statistics table.  This table provides
        statistics of ingress PQoS flow in the MoCA interface.

        This table is indexed by 'ifIndex' and 'mocaIfFlowIndex'.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 5 }

mocaIfFlowStatsEntry OBJECT-TYPE
    SYNTAX      MocaIfFlowStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA interface flow statistics table.

        These counters do not wrap in less than an hour with only 32
        bits. Therefore 32 instead of 64 bits counters are used."
    INDEX       {
                ifIndex,
                mocaIfFlowIndex
                }
    ::= { mocaIfFlowStatsTable 1 }

MocaIfFlowStatsEntry ::= SEQUENCE {
    mocaIfFlowIndex                 Integer32,
    mocaIfFlowID                    MacAddress,
    mocaIfPacketDA                  MacAddress,
    mocaIfPeakDataRate              Unsigned32,
    mocaIfBurstSize                 Unsigned32,
    mocaIfLeaseTime                 Unsigned32,
    mocaIfFlowTag                   Unsigned32,
    mocaIfLeaseTimeLeft             Unsigned32,
    mocaIfTxPacketsOnePacketAggr    Counter32,
    mocaIfTxPacketsTwoPacketsAggr   Counter32,
    mocaIfTxPacketsThreePacketsAggr Counter32,
    mocaIfTxPacketsFourPacketsAggr  Counter32,
    mocaIfTxPacketsFivePacketsAggr  Counter32,
    mocaIfTxPacketsSixPacketsAggr   Counter32,
    mocaIfTxPacketsSevenPacketsAggr Counter32,
    mocaIfTxPacketsEightPacketsAggr Counter32,
    mocaIfTxPacketsNinePacketsAggr  Counter32,
    mocaIfTxPacketsTenPacketsAggr   Counter32,
    mocaIfTxPacketsFlow             Unsigned32
    }


mocaIfFlowIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This index is used to order the MoCA interface flow statistics
        table."
    ::= { mocaIfFlowStatsEntry 1 }

mocaIfFlowID OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the flow ID of a PQoS flow. The flow ID is a valid
        multicast Ethernet MAC address that uniquely identifies a PQoS
        flow in a MoCA Network.

        The recommended rules for generation of the flow ID are
        specified in MoCA Spec 1.1."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, appendix F."
    ::= { mocaIfFlowStatsEntry 2 }

mocaIfPacketDA OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the Destination Address (DA) of Ethernet packets of
        the PQoS Flow for which this node is the ingress node as
        specified in Section 4.2.1 of MoCA specification v1.1
        extensions."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 3 }

mocaIfPeakDataRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the T_PEAK_DATA_RATE of the PQoS flow identified by
        'mocaIfFlowID' in which this MoCA interface is an ingress node
        for the PQoS flow."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 4 }

mocaIfBurstSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the T_BURST_SIZE of the PQoS flow identified by
        'mocaIfFlowID' in which this MoCA interface is an ingress node
        for this PQoS flow."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 5 }

mocaIfLeaseTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the T_LEASE_TIME of the PQoS flow identified by
        'mocaIfFlowID' in which this MoCA interface is an ingress node
        for this PQoS flow."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 6 }

mocaIfFlowTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the FLOW_TAG of the PQoS flow identified by
        'mocaIfFlowID' in which this MoCA interface is an ingress node
        for this PQoS flow. The FLOW_TAG carries application specific
        content of this PQoS flow."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 7 }

mocaIfLeaseTimeLeft OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the LEASE_TIME_LEFT of the PQoS flow identified by
        'mocaIfFlowID' in which this MoCA interface is an ingress node
        for this PQoS flow."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 3.17.2.1."
    ::= { mocaIfFlowStatsEntry 8 }

mocaIfTxPacketsOnePacketAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with no aggregation level
        transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 9 }

mocaIfTxPacketsTwoPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with two-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 10 }

mocaIfTxPacketsThreePacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with three-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 11 }

mocaIfTxPacketsFourPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with four-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 12 }

mocaIfTxPacketsFivePacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with five-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 13 }

mocaIfTxPacketsSixPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with six-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 14 }

mocaIfTxPacketsSevenPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with seven-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 15 }

mocaIfTxPacketsEightPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with eight-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 16 }

mocaIfTxPacketsNinePacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with nine-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 17 }

mocaIfTxPacketsTenPacketsAggr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of MoCA frames with ten-packets
        aggregation level transmitted by this MoCA interface."
    ::= { mocaIfFlowStatsEntry 18 }

mocaIfTxPacketsFlow OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the total number of Ethernet packets transmitted by
        this MoCA interface on the PQoS flow indentified by
        'mocaIfFlowID'."
    ::= { mocaIfFlowStatsEntry 19 }

mocaLinkStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaLinkStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA Link Statistics table.  This table contains an
        entry for every node in the MoCA network, excluding this MoCA
        interface.

        This table is indexed by 'ifIndex' and 'mocaNodeIndex'.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 9 }

mocaLinkStatsEntry OBJECT-TYPE
    SYNTAX      MocaLinkStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA link statistics table.

        These counters do not wrap in less than an hour with only 32
        bits. Therefore 32 instead of 64 bits counters are used."
    INDEX       { 
                ifIndex,
                mocaNodeIndex
                }
    ::= { mocaLinkStatsTable 1 }

MocaLinkStatsEntry ::= SEQUENCE {
--    mocaNodeIndex                 MocaNodeID,
    mocaLinkTxPackets             Counter32,
    mocaLinkTxDrops               Counter32,
    mocaLinkEgressNodeNumFlows    Unsigned32,
    mocaLinkIngressNodeNumFlows   Unsigned32
}

--mocaNodeIndex OBJECT-TYPE
--    SYNTAX      MocaNodeID
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION
--        "The node ID is used as an index to order the MoCA node status
--        information table."
--    ::= { mocaLinkStatsEntry 1 }

mocaLinkTxPackets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Unicast Ethernet packets transmitted by
        this MoCA interface to the associated node."
    ::= { mocaLinkStatsEntry 2 }

mocaLinkTxDrops OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Unicast EPDUs received at the ECL, 
        destined to the associated node, and not transmitted by this
        MoCA interface."
    ::= { mocaLinkStatsEntry 3 }

mocaLinkEgressNodeNumFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of PQoS flows in which this MoCA interface
        is an egress node for these PQoS flows."
    ::= { mocaLinkStatsEntry 4 }

mocaLinkIngressNodeNumFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of PQoS flows in which this MoCA interface
        is an ingress node for these PQoS flows."
    ::= { mocaLinkStatsEntry 5 }



mocaNodeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaNodeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA node status information table.  This table contains an
        entry for every node in the MoCA network, excluding this MoCA
        interface.

        This table is indexed by 'ifIndex' and 'mocaNodeIndex'.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 6 }

mocaNodeEntry OBJECT-TYPE
    SYNTAX      MocaNodeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA node status information table."
    INDEX       {
                ifIndex,
                mocaNodeIndex
                }
    ::= { mocaNodeTable 1 }

MocaNodeEntry ::= SEQUENCE {
    mocaNodeIndex                   MocaNodeID,
    mocaNodeMocaVersion             MocaVersion,
    mocaNodeMacAddress              MacAddress,
    mocaNodeTxGcdRate               MocaPhyRate,
    mocaNodeRxGcdPower              MocaDBm,
    mocaNodeTxPowerReduction        MocaDB,
    mocaNodeRxPower                 MocaDBm,
    mocaNodePreferredNC             TruthValue,
    mocaNodeQAM256Capable           TruthValue,
    mocaNodePacketsAggrCapability   MocaPacketAggrLevel,
    mocaNodeRxPackets               Counter32,
    mocaNodeRxCorrected             Counter32,
    mocaNodeRxDrops                 Counter32,
    mocaNodeSNR                     MocaDB
}

mocaNodeIndex OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The node ID is used as an index to order the MoCA node status
        information table."
    ::= { mocaNodeEntry 1 }

mocaNodeMocaVersion OBJECT-TYPE
    SYNTAX      MocaVersion
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA version supported by the MoCA node identified
        by 'mocaNodeIndex'."
    ::= { mocaNodeEntry 2 }

mocaNodeMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MAC address of the MoCA node identified by
        'mocaNodeIndex'. This MAC address is encoded in the first six
        bytes of the Globally Unique Identifier (GUID).
                
        For example, MoCA node with MAC address aa:bb:cc:dd:ee:ff will
        have a GUID of aa:bb:cc:dd:ee:ff:00:00."
    ::= { mocaNodeEntry 3 }

mocaNodeTxGcdRate OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the PHY rate in Mbps for the transmit traffic
        broadcasted from this MoCA interface.

        This value is the broadcast PHY rate from this MoCA interface to
        the node identified by 'mocaNodeIndex'."
    ::= { mocaNodeEntry 4 }

mocaNodeRxGcdPower OBJECT-TYPE
    SYNTAX      MocaDBm
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The power measurement should cover the preamble and/or at
        least a symbol time.  The averaging method employed for this
        measurement is implementation specific and not specified.  It
        is recommended but not required to utilize the LMO power
        control probes for this measurement."
    ::= { mocaNodeEntry 5 }

mocaNodeTxPowerReduction OBJECT-TYPE
    SYNTAX      MocaDB
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Transmit Power Control back-off in dB used for unicast
        transmissions from the managed node to a node identified by
        'mocaNodeIndex'.  'mocaNodeTxPowerReduction' is identical to the
        TPC back-off utilized for transmission and determined from the
        TPC backoff parameters TPC_BACKOFF_MAJOR and TPC_BACKOFF_MINOR
        as follows:

        mocaNodeTxPowerReduction = TPC_BACKOFF_MAJOR * 3 +
                                   TPC_BACKOFF_MINOR"
    ::= { mocaNodeEntry 6 }

mocaNodeRxPower OBJECT-TYPE
    SYNTAX      MocaDBm
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The power measurement should cover the preamble and/or at
        least a symbol time.  The averaging method employed for this
        measurement is implementation specific and not specified.  It
        is recommended but not required to utilize the LMO power
        control probes for this measurement."
    ::= { mocaNodeEntry 7 }

mocaNodePreferredNC OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA node identified by 'mocaNodeIndex' is set as
        preferred NC if this value is 'true'.  Indicate the MoCA node
        identified by 'mocaNodeIndex' is not set as preferred NC if this
        value is 'false'."
    ::= { mocaNodeEntry 8 }

mocaNodeQAM256Capable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the MoCA node identified by 'mocaNodeIndex' supports
        QAM256 if the value is 'true'.  Indicate the MoCA node
        identified by 'mocaNodeIndex' does not support QAM256 if this
        value is 'false'."
    ::= { mocaNodeEntry 9 }

mocaNodePacketsAggrCapability OBJECT-TYPE
    SYNTAX      MocaPacketAggrLevel
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represent the maximum number of Ethernet packets aggregated in
        a MoCA frame that this MoCA node supports."
    ::= { mocaNodeEntry 10 }

mocaNodeRxPackets   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of good Ethernet packets received by this
        MoCA interface from the MoCA node identified by
        'mocaNodeIndex'."
    ::= { mocaNodeEntry 11 }

mocaNodeRxCorrected OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of Ethernet packets received by this MoCA
        interface that have errors and are corrected from the MoCA node
        identified by 'mocaNodeIndex'."
    ::= { mocaNodeEntry 12 }

mocaNodeRxDrops OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the number of scheduled MoCA frames that are not
        detected or have uncorrectable errors and are dropped by this
        MoCA interface from the MoCA node identified by
        'mocaNodeIndex'."
    ::= { mocaNodeEntry 13 }

mocaNodeSNR OBJECT-TYPE
    SYNTAX      MocaDB
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A dB measure of the Signal to Noise Ratio (SNR) based on the
        Type 1 (EVM) probe from a node identified by 'mocaNodeIndex'."
    REFERENCE   "MoCA MAC/PHY Specification 1.1, section 4.5.1."
    ::= { mocaNodeEntry 14 }

mocaMeshTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaMeshEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA mesh PHY rate table.  This table contains the unicast
        transmit PHY rate between all pair of nodes in the MoCA Network.

        This table is indexed by 'ifIndex', 'mocaMeshTxNodeIndex', and
        'mocaMeshRxNodeIndex'.

        Since 'mocaMeshTxRate' is the transmit PHY rate from
        'mocaMeshTxNodeIndex' to 'mocaMeshRxNodeIndex', this table does
        not contain any entries with 'mocaMeshTxNodeIndex' equals
        'mocaMeshRxNodeIndex'.  In addition, a MoCA network can have
        less than 16 nodes, hence some values of 'mocaMeshTxNodeIndex'
        and 'mocaMeshRxNodeIndex' in the range of 0 to 15 may not exist.

        For example, in a three nodes MoCA 1.1 network with node ID 2, 4
        and 6, the 'mocaMeshTable' for MoCA interface with 'ifIndex' 1
        contains only six entries,
            mocaMeshTxRate.1.2.4 in which
                'ifIndex' = 1
                'mocaMeshTxNodeIndex' = 2
                'mocaMeshRxNodeIndex' = 4
            mocaMeshTxRate.1.2.6
            mocaMeshTxRate.1.4.2
            mocaMeshTxRate.1.4.6
            mocaMeshTxRate.1.6.2
            mocaMeshTxRate.1.6.4

        In a three nodes MoCA 1.0 network with node ID 2, 4 and 6, the
        'mocaMeshTable' for MoCA interface with 'ifIndex' 1 and node ID
        2 contains only four entries,
            mocaMeshTxRate.1.2.4
            mocaMeshTxRate.1.2.6
            mocaMeshTxRate.1.4.2
            mocaMeshTxRate.1.6.2

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 7 }

mocaMeshEntry OBJECT-TYPE
    SYNTAX      MocaMeshEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA mesh PHY rate table."
    INDEX       {
                ifIndex,
                mocaMeshTxNodeIndex,
                mocaMeshRxNodeIndex
                }
    ::= { mocaMeshTable 1 }

MocaMeshEntry ::= SEQUENCE {
    mocaMeshTxNodeIndex         MocaNodeID,
    mocaMeshRxNodeIndex         MocaNodeID,
    mocaMeshTxRate              MocaPhyRate
}

mocaMeshTxNodeIndex OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The node ID of the transmit MoCA node is used as one of the
        index to order the mesh PHY rate table."
    ::= { mocaMeshEntry 1 }

mocaMeshRxNodeIndex OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The node ID of the receive MoCA node is used as one of the
        index to order the mesh PHY rate table."
    ::= { mocaMeshEntry 2 }

mocaMeshTxRate OBJECT-TYPE
    SYNTAX      MocaPhyRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the transmit PHY rate in Mbps from the MoCA node
        identified by 'mocaMeshTxNodeIndex' to the MoCA node identified
        by 'mocaMeshRxNodeIndex'."
    ::= { mocaMeshEntry 3 }

mocaBridgeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaBridgeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA bridge Ethernet MAC address table.  This table contains
        an entry for every node in the MoCA network.

        This table is indexed by 'ifIndex', 'mocaBridgeNodeIndex' and
        'mocaBridgeMacIndex'.

        Entries in this table cannot be created or deleted by the
        network management system.  All entries are created or deleted
        by the device software."
::= { mocaObjects 8 }

mocaBridgeEntry OBJECT-TYPE
    SYNTAX      MocaBridgeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA bridge table."
    INDEX       {
                ifIndex,
                mocaBridgeNodeIndex,
                mocaBridgeMacIndex
                }
::= { mocaBridgeTable 1 }

MocaBridgeEntry ::= SEQUENCE {
    mocaBridgeNodeIndex     MocaNodeID,
    mocaBridgeMacIndex      Integer32,
    mocaBridgeMacAddress    MacAddress
}

mocaBridgeNodeIndex OBJECT-TYPE
    SYNTAX      MocaNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The node ID is used as an index to order the MAC entries 
        in the MoCA bridge table."
    ::= { mocaBridgeEntry 1 }

mocaBridgeMacIndex  OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This index is used to order the MAC entries for each node in
        the MoCA bridge table."
    ::= { mocaBridgeEntry 2 }

mocaBridgeMacAddress    OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Ethernet MAC address identified by the node ID and MAC
        index."
    ::= { mocaBridgeEntry 3 }

mocaMeshScModTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MocaMeshScModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MoCA mesh Sub-Carrier Modulation table.  This table contains the
        Unicast transmit sub-carrier modulation between all pair of nodes
        in the MoCA Network.  This table is indexed by 'ifIndex', 
        'mocaMeshTxNodeIndex', 'mocaMeshRxNodeIndex', and MocaMeshScModIndex?

        Since 'mocaMeshScMod' is the sub-carrier modulation from
        'mocaMeshTxNodeIndex' to 'mocaMeshRxNodeIndex', this table does
        not contain any entries with 'mocaMeshTxNodeIndex' equals
        'mocaMeshRxNodeIndex'.  In addition, a MoCA network can have
        less than 16 nodes, hence some values of 'mocaMeshTxNodeIndex'
        and 'mocaMeshRxNodeIndex' in the range of 0 to 15 may not exist.

        Entries in this table cannot be created or deleted by the
        network management system. All entries are created or deleted by
        the device software."
    ::= { mocaObjects 10 }

mocaMeshScModEntry OBJECT-TYPE
    SYNTAX      MocaMeshScModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MoCA mesh sub-carrier modulation table."
    INDEX       {
                ifIndex,
                mocaMeshTxNodeIndex,
                mocaMeshRxNodeIndex,
                mocaMeshScIndex
                }
    ::= { mocaMeshScModTable 1 }

MocaMeshScModEntry ::= SEQUENCE {
--    mocaMeshTxNodeIndex         MocaNodeID,
--    mocaMeshRxNodeIndex         MocaNodeID,
    mocaMeshScIndex             Unsigned32,
    mocaMeshScMod               MocaScMod
}

--mocaMeshTxNodeIndex OBJECT-TYPE
--    SYNTAX      MocaNodeID
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION
--        "The node ID of the transmit MoCA node is used as one of the
--        index to order the mesh PHY rate table."
--    ::= { mocaMeshScModEntry 1 }

--mocaMeshRxNodeIndex OBJECT-TYPE
--    SYNTAX      MocaNodeID
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION
--        "The node ID of the receive MoCA node is used as one of the
--        index to order the mesh sub-carrier modulation."
--    ::= { mocaMeshScModEntry 2 }

mocaMeshScIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The sub-carrier index of the receive MoCA node is used as one of the
        index to order the mesh sub-carrier modulation."
    ::= { mocaMeshScModEntry 3 }

mocaMeshScMod OBJECT-TYPE
    SYNTAX      MocaScMod
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate the sub-carrier modulation from the MoCA node
        identified by 'mocaMeshTxNodeIndex' to the MoCA node identified
        by 'mocaMeshRxNodeIndex' for the associated MocaMeshScIndex."
    ::= { mocaMeshScModEntry 4 }


--
-- MoCA Notifications
--

mocaTrapBelowPhyThreshold NOTIFICATION-TYPE
    OBJECTS     { mocaMeshTxRate }
    STATUS      current
    DESCRIPTION
        "If transmit PHY rate between all pairs of MoCA nodes are
        greater than or equal to 'mocaIfPhyThreshold', then transmit PHY
        rate of one pair of MoCA node is less than 'mocaIfPhyThreshold',
        send this notification if 'mocaIfPhyThresholdEnable' is 'true'.

        This notification sends the lowest PHY rate in the MoCA network,
        or 'mocaMeshTxRate', which is the transmit PHY rate from the
        node specified with 'mocaMeshTxNodeIndex', to the node specified
        with 'mocaMeshRxNodeIndex'.

        If multiple links have the same lowest PHY rate, sends the PHY
        rate for the link with the lowest 'mocaMeshTxNodeIndex'.  If
        multiple links with the same 'mocaMeshTxNodeIndex' have the same
        lowest PHY rate, sends the PHY rate for the link with the lowest
        'mocaMeshRxNodeIndex'.
                
        Network management system should access 'mocaMeshTable' to find
        if there are additional links below the threshold bandwidth.

        For example, MoCA interface with 'ifIndex' 1 detects transmit
        PHY rate from 'mocaMeshTxNodeIndex' 2 to 'mocaMeshRxNodeIndex' 4
        is 150 Mbps, and this link is the first link to drop below the
        'mocaIfPhyThreshold', then this trap contains one variable
        binding of
            mocaMeshTxRate.1.2.4 = 150"
    ::= { mocaNotifications 1 }

mocaTrapAbovePhyThreshold NOTIFICATION-TYPE
    OBJECTS     { ifIndex }
    STATUS      current
    DESCRIPTION
        "If transmit PHY rate between one or more pairs of MoCA nodes
        are less than 'mocaIfPhyThreshold', then transmit PHY rate
        between all pairs of MoCA nodes are greater than or equal to
        'mocaIfPhyThreshold', send this notification if
        'mocaIfPhyThresholdEnable' is 'true'."
    ::= { mocaNotifications 2 }

mocaTrapIfStatusChange NOTIFICATION-TYPE
    OBJECTS     { mocaIfStatus }
    STATUS      current
    DESCRIPTION
        "This trap is sent when 'mocaIfStatusChangeEnable' is 'true'
        and 'mocaIfStatus' changes value."
    ::= { mocaNotifications 3 }

mocaTrapIfNumNodesChange NOTIFICATION-TYPE
    OBJECTS     { mocaIfNumNodes }
    STATUS      current
    DESCRIPTION
        "This trap is sent when 'mocaIfNumNodesChangeEnable' is 'true'
        and 'mocaIfNumNodes' changes value."
    ::= { mocaNotifications 4 }

---
--- MoCA Conformance
---

mocaMIBCompliances  OBJECT IDENTIFIER ::= { mocaConformance 1 }
mocaMIBGroups       OBJECT IDENTIFIER ::= { mocaConformance 2 }

---
--- Compliance Statements
---

mocaMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
                    "The compliance statement for the mandatory and
                    optional groups."
    MODULE
        MANDATORY-GROUPS {
                    mocaIfStatusGroup,
                    mocaIfStatsGroup,
                    mocaIfFlowStatsGroup,
                    mocaNodeGroup,
                    mocaMeshGroup
                    }

        GROUP       mocaIfConfigOptionalGroup
        DESCRIPTION
                    "Implementation of remote configuration of the MoCA
                    interface is optional.  MoCA interface should be
                    operational using vendor specified default
                    parameters."

        OBJECT      mocaIfPrivacyEnable
        MIN-ACCESS  read-only
        DESCRIPTION
                    "Write access is not required for SNMPv1 and
                    SNMPv2c."

        OBJECT      mocaIfPassword
        MIN-ACCESS  read-only
        DESCRIPTION
                    "Access is not required for SNMPv1 and SNMPv2c."

        GROUP       mocaIfAccessOptionalGroup
        DESCRIPTION
                    "Implementation of MAC address access control
                    is optional."

        GROUP       mocaIfStatusOptionalGroup
        DESCRIPTION
                    "Implementation of node Bandwidth is optional."

        GROUP       mocaIfStatsOptionalGroup
        DESCRIPTION
                    "Implementation of drop counters is optional."

        GROUP       mocaIfFlowStatsOptionalGroup
        DESCRIPTION
                    "Implementation of aggregation counters is 
                    optional."

---        GROUP       mocaIfLinkStatsOptionalGroup
---        DESCRIPTION
                    "Implementation of the link status table is optional."

        GROUP       mocaNodeOptionalGroup
        DESCRIPTION
                    "Implementation of power level is optional."

        GROUP       mocaBridgeOptionalGroup
        DESCRIPTION
                    "Implementation of the bridge table is optional."

        GROUP       mocaMeshOptionalGroup
        DESCRIPTION
                    "Implementation of the mesh sub-carrier table is optional."

        GROUP       mocaTrapOptionalGroup
        DESCRIPTION
                    "Implementation of bandwidth alarm for link that
                    drops below a specified PHY rate threshold is
                    optional."

    ::= { mocaMIBCompliances 1 }

---
--- Units of Conformance
---

mocaIfConfigOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfEnable,
                mocaIfChannelMask,
                mocaIfPowerControl,
                mocaIfTxPowerLimit,
                mocaIfBeaconPowerLimit,
                mocaIfPowerControlTargetRate,
                mocaIfPrivacyEnable,
                mocaIfPassword,
                mocaIfPreferredNC,
                mocaIfAccessEnable,
                mocaIfPhyThreshold,
                mocaIfPhyThresholdEnable,
                mocaIfStatusChangeEnable,
                mocaIfNumNodesChangeEnable
                }
    STATUS      current
    DESCRIPTION
                "Parameters to configure the MoCA interface."
    ::= { mocaMIBGroups 1 }

mocaIfAccessOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfAccessMacAddress,
                mocaIfAccessStatus
                }
    STATUS      current
    DESCRIPTION
                "Parameters to configure the MAC address access control
                list for the MoCA interface."
    ::= { mocaMIBGroups 2 }

mocaIfStatusGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfStatus,
                mocaIfLinkUpTime,
                mocaIfSoftwareVersion,
                mocaIfMocaVersion,
                mocaIfNetworkVersion,
                mocaIfMacAddress,
                mocaIfNodeID,
                mocaIfName,
                mocaIfNumNodes,
                mocaIfNC,
                mocaIfBackupNC,
                mocaIfRFChannel,
                mocaIfLOF,
                mocaIfTabooChannelMask,
                mocaIfNodeTabooChannelMask,
                mocaIfCapabilityMask,
                mocaIfQAM256Capable,
                mocaIfPacketsAggrCapability,
                mocaIfTxGcdRate                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the status of the MoCA
                interface."
    ::= { mocaMIBGroups 3 }

mocaIfStatusOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfTxGcdPowerReduction,
                mocaIfMaxIngressNodeBw,
                mocaIfMaxEgressNodeBw,
                mocaIfPasswordHash,
                mocaIfChannelSupport
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the bandwidth of the MoCA
                interface."
    ::= { mocaMIBGroups 4 }

mocaIfStatsGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfTxPackets,
                mocaIfRxPackets,
                mocaIfEgressNodeNumFlows,
                mocaIfIngressNodeNumFlows                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the packet statistics and the
                number of flows in the MoCA interface."
    ::= { mocaMIBGroups 5 }

mocaIfStatsOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfTxDrops,
                mocaIfRxCorrectedErrors,
                mocaIfRxDrops,
                mocaIfTxBytes,
                mocaIfRxBytes,
                mocaIfTxUnicast,
                mocaIfRxUnicast,
                mocaIfTxMulticast,
                mocaIfRxMulticast,
                mocaIfTxBroadcast,
                mocaIfRxBroadcast
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the packet drop statistics of
                the MoCA interface."
    ::= { mocaMIBGroups 6 }

mocaIfFlowStatsGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfFlowID,
                mocaIfPacketDA,
                mocaIfPeakDataRate,
                mocaIfBurstSize,
                mocaIfLeaseTime,
                mocaIfFlowTag
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the PQoS flow information of
                the MoCA interface."
    ::= { mocaMIBGroups 7 }

mocaIfFlowStatsOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaIfLeaseTimeLeft,
                mocaIfTxPacketsOnePacketAggr,
                mocaIfTxPacketsTwoPacketsAggr,
                mocaIfTxPacketsThreePacketsAggr,
                mocaIfTxPacketsFourPacketsAggr,
                mocaIfTxPacketsFivePacketsAggr,
                mocaIfTxPacketsSixPacketsAggr,
                mocaIfTxPacketsSevenPacketsAggr,
                mocaIfTxPacketsEightPacketsAggr,
                mocaIfTxPacketsNinePacketsAggr,
                mocaIfTxPacketsTenPacketsAggr,
                mocaIfTxPacketsFlow
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the PQoS flow statistics of
                the MoCA interface."
    ::= { mocaMIBGroups 8 }

mocaLinkStatsOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaLinkTxPackets,
                mocaLinkTxDrops,
                mocaLinkEgressNodeNumFlows,
                mocaLinkIngressNodeNumFlows
                }
    STATUS      current
    DESCRIPTION
                "Parameter to monitor the packet drop statistics per link of
                the MoCA interface."
    ::= { mocaMIBGroups 9 }

mocaNodeGroup OBJECT-GROUP
    OBJECTS     {
                mocaNodeMocaVersion,
                mocaNodeMacAddress,
                mocaNodeTxGcdRate,
                mocaNodePreferredNC,
                mocaNodeQAM256Capable,
                mocaNodePacketsAggrCapability
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the status of other nodes
                in the MoCA network."
    ::= { mocaMIBGroups 10 }

mocaNodeOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaNodeRxGcdPower,
                mocaNodeTxPowerReduction,
                mocaNodeRxPower,
                mocaNodeRxPackets,
                mocaNodeRxCorrected,
                mocaNodeRxDrops,
                mocaNodeSNR
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor power level to or from nodes
                in the MoCA network."
    ::= { mocaMIBGroups 11 }

mocaMeshGroup OBJECT-GROUP
    OBJECTS     {
                mocaMeshTxRate
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the PHY rate of each link in the 
                MoCA network."
    ::= { mocaMIBGroups 12 }

mocaBridgeOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaBridgeMacAddress
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the bridge table of each node
                in the MoCA network."
    ::= { mocaMIBGroups 13 }

mocaMeshOptionalGroup OBJECT-GROUP
    OBJECTS     {
                mocaMeshScMod
                }
    STATUS      current
    DESCRIPTION
                "Parameters to monitor the modulation of every sub-carrier
                for each link in the MoCA network."
    ::= { mocaMIBGroups 14 }

mocaTrapOptionalGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
                mocaTrapBelowPhyThreshold,
                mocaTrapAbovePhyThreshold,
                mocaTrapIfStatusChange,
                mocaTrapIfNumNodesChange
                }
    STATUS      current
    DESCRIPTION
                "Notifications for bandwidth threshold in the MoCA
                network."
    ::= { mocaMIBGroups 15 }

END
