ADTRAN-ETHERNET-DSLAM-FLOW-MIB

-- TITLE:     The ADTRAN Ethernet Flow MIB
-- PRODUCT:   ADTRAN TA5000/TA1100x Ethernet Dslam Products
-- VERSION:   0.1
-- DATE:      9/11/07
-- AUTHOR:    Daniel Barnes
-- STATUS:    PRELIMINARY

-- This MIB defines the object identifier (OID) for the
-- ADTRAN TR101 MIB objects

-- HISTORY:
-- 09/11/07 djb STATUS: PRELIMINARY.
-- 09/18/07 djb STATUS: PRELIMINARY. Added a table to support ATM Interfaces (ATM port, Vpi, Vci).
-- 09/24/07 djb STATUS: PRELIMINARY. Added rowStatus and LastErrorString to Interfaces. Added
--                      LastErrorString to mappings, filters, and profiles.
-- 09/25/07 djb STATUS: PRELIMINARY. Changed mappings such that a map can be applied to at most
--                      one Interface at a time.
-- 09/26/07 djb STATUS: PRELIMINARY. Added Multicast Group table and various needed items from
--                      GenIp.
-- 01/21/08 djb STATUS: PRELIMINARY. Removed the Multicast Group table and replaced it with a
--                      generic MAC table that will allow multicast groups to be created. Also
--                      collapsed the Interface tables into a single Interface table that specifies the
--                      type of Interface.
-- 02/21/08 djb STATUS: PRELIMINARY.
--                      1) MAC addresses are no longer added through the MAC table.
--                         The MAC table presents a view. MACs are now added and removed through
--                         the map entry.
--                      2) Added OIDs to set the forwarding mode of the map.
--                      3) Changed the name of 'Interface' to 'EthernetInterface' and 'TR101Mapping'
--                         to 'EthernetDslamFlow'
--                      4) All 'Interfaces' (now named EthernetInterfaces) are provisioned through
--                         a single table.
--                      5) MAC address entries are now indexed by VLAN and MAC
-- 08/25/08 djb STATUS: PRELIMINARY.
--                      1) Added the ability to set the network and customer ingress policers
--                      2) Added the ability to set the multicast bandwidth and CAC enable/disable
-- 09/08/08 rmz STATUS: PRELIMINARY.
--                      1) Renamed 'adGenEthernetDslamFlowMaximumMulticastBandwidth' to
--                         'adGenEthernetDslamFlowMaxAllowedMulticastBandwidth'
-- 09/29/08 rmz STATUS: PRELIMINARY.
--                      1) Remained 'adGenEthernetDslamFlowMaxAllowedMcastSessions' to
--                         'adGenEthernetDslamFlowMaxAllowedMcastGroups'
--                      2) Renamed 'adGenEthernetDslamFlowMulticastCACEnable' to
--                         'adGenEthernetDslamFlowMaxAllowedMulticastBandwidthEnable'
--                      3) Added 'adGenEthernetDslamFlowMaxAllowedMcastGroupsEnable'
-- 10/21/08 djb STATUS: PRELIMINARY. Added Shaper table.
-- 11/18/08 dcc STATUS: PRELIMINARY.  Added OIDs to support lists of DSCP values.
-- 12/10/08 dcc STATUS: PRELIMINARY.  Ingress PBit OIDs use a value of 255 to ignore.
-- 12/16/08 djb STATUS: PRELIMINARY. Added adGenIEthernetDslamFlowIgmpRouterIP.
-- 01/20/09 dcc STATUS: PRELIMINARY. Added adGenEthernetDslamFlowActivationStatus.
-- 02/25/09 jlb STATUS: PRELIMINARY. Fixed SMIC compiler errors.
-- 02/27/09 djb STATUS: PRELIMINARY. Added Vpi/Vci to ethernet interface table.
-- 03/02/09 Jay Boles STATUS: PRELIMINARY.  Updated Description for adGenEthernetInterfaceLogicalIndex.
-- 04/23/09 Seetha Subramanian STATUS:PRELIMINARY. Added Subscriber Access Static ip table
-- 05/12/09 djb STATUS:PRELIMINARY. Removed Vpi/Vci from EthernetInterface. Added an OID to
--						read the Ethernet Interface type and an OID that would return information
--                      specific to the interface type. This table should now be populated based
--                      events such as the provisioning of a bonding group or an ATM VCL or
--						by just plugging the card in, in some cases. Also added the ability
--                      to provision the protocols in a transparent manner.
-- 05/20/09 aed   Add IMPLIED keyword to variable-length string indexes.  Make the indexes not-accessible.
-- 06/02/09 twc	  Added 1..32 SIZE modifier to adGenEthernetDslamFlowNameLookupName.
-- 06/05/09 tgc	  Modified units in the description of adGenEthernetDslamFlowShaperRate from bps to kbps to accommodate
--                higher rates as in the GPON implementation. There has been one case (VDSL) that implemented bps, but
--                it will be corrected and identified with a capabilities bit going forward.
-- 06/10/09 ss    Added LastErrorString OID in shaper table
-- 06/17/09 rmz Changed range on adGenEthernetDslamFlowLastMemberQueryInterval to 100..65535
--              Changed range on adGenEthernetDslamFlowLastMemberQueryCount to 1..255. Also removed note
--              about 0 value since this OID cannot be 0
-- 06/30/09 ss  Added adGenEthernetDslamFlowSubscriberIpRowCreateError OID
-- 05/19/10 sp  Added adGenEthernetDslamFlowDhcpPPPoEVendorNumber and adGenEthernetDslamFlowDhcpPPPoEVendorIdFormat.
-- 07/20/10 dcc  Added Next Policer Index Table and adGenEthernetDslamFlowEvcName,
--               adGenEthernetDslamFlowEvcRoot and adGenEthernetDslamFlowShaperAlias OIDs.
--               Updated comments to help clarify that the Profiles table holds policers.
-- 09/02/10 tas Added adGenEthernetDslamFlowProfilesLookupTable for policer name/index lookup
--              Added adGenEthernetDslamFlowShaperLookupTable for shaper name/index lookup
-- 02/10/11 och Added adGenEthernetDslamFlowRev2NameLookupTable and adGenEthernetDslamFlowRev2Table
--              These are copies of adGenEthernetDslamFlowNameLookupTable and adGenEthernetDslamFlowTable
--              They are required because the ADSL cards are provisioned by other methods using genIP
--              The database table look-up was changed for EMS to filter out genIP provisioned flows when
--              adGenEthernetDslamFlowNameLookupTable and adGenEthernetDslamFlowTablewere accessed since
--              the genIP mib would give the info. These new tables will return ALL provisioned flows.
--              This became needed due to the Web Interface requirement for SR6.0
-- 02/17/11 tas Added adGenEthernetDslamFlowProfileActualCIR, adGenEthernetDslamFlowProfileActualCBS,
--					adGenEthernetDslamFlowProfileActualEIR, adGenEthernetDslamFlowProfileActualEBS
-- *******************************************************************************************************
--    DO NOT MAKE HISTORY COMMENTS HERE!!!! Revision history now in REVISION/DESCRIPTION clauses below


DEFINITIONS ::= BEGIN

    IMPORTS
         OBJECT-TYPE,
         MODULE-IDENTITY,
         NOTIFICATION-TYPE,
         IpAddress,
         Integer32
            FROM SNMPv2-SMI
         NOTIFICATION-GROUP
            FROM SNMPv2-CONF
   	sysName
            FROM SNMPv2-MIB
         ifIndex
            FROM IF-MIB
         adGenSlotInfoIndex
            FROM ADTRAN-GENSLOT-MIB
         adGenEthernetDslamFlow,
         adGenEthernetDslamFlowID
            FROM ADTRAN-SHARED-CND-SYSTEM-MIB
         DisplayString,
         RowStatus, PhysAddress, TruthValue
            FROM SNMPv2-TC
         GenSystemInterfaceType
            FROM ADTRAN-SHARED-CND-SYSTEM-TC-MIB
	adGenPortInfoIndex
            FROM ADTRAN-GENPORT-MIB
        adTrapInformSeqNum
            FROM ADTRAN-GENTRAPINFORM-MIB
        adGenMiniDslam3gMacAddress
            FROM ADTRAN-TAMINIDSLAM3G-MIB
        adTAeSCUTrapAlarmLevel
            FROM ADTRAN-TAeSCUEXT1-MIB
        ;

adGenEthernetDslamFlowMIB MODULE-IDENTITY
   LAST-UPDATED "202103030000Z"
   ORGANIZATION "Adtran, Inc."
   CONTACT-INFO "http://www.adtran.com"
   DESCRIPTION
      "This MIB defines the objects for the Ethernet Flow MIB."

   REVISION "202103030000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowLoggingTable and adGenEthernetDslamFlowDhcpPppoeEventDebug. These allow enabling and 
                disabling of extraneous DHCP and PPPoE debug messages from event log for a slot."

   REVISION "201601210000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowMacAllocationAlarmAct and adGenEthernetDslamFlowMacAllocationAlarmClr. This is a
   				new alarm for the MAC Allocation Pool feature (AD-9051)."

   REVISION "201409120000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowMatchNonIp and adGenEthernetDslamFlowRev2MatchNonIp. This allows
                enabling and disabling of match non-IP customer ingress traffic."

   REVISION "201405130000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowShaperDownstreamMinRate."

   REVISION "201311080000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowMatchSourceMacList and adGenEthernetDslamFlowRev2MatchSourceMacList.
                These allow setting a list of source MAC addresses and masks on which to match.

                Added adGenEthernetDslamFlowMatchSourceMacLastErrorString and
                adGenEthernetDslamFlowRev2MatchSourceMacLastErrorString. These allows getting the last error string
                when an error occurs setting adGenEthernetDslamFlowMatchSourceMacList or
                adGenEthernetDslamFlowRev2MatchSourceMacList.

                Added adGenEthernetDslamFlowScalarTable and adGenEthernetDslamFlowScalarEntry. These allows for
                slot-wide EthernetFlow constants.

                Added adGenEthernetFlowMatchSourceMacMaxAddresses. This indicates the maximum number of match source
                MAC address entries allowed in adGenEthernetDslamFlowMatchSourceMacList and
                adGenEthernetDslamFlowRev2MatchSourceMacList."

   REVISION "201309120000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowDhcpPPPoEVendorIdInsert. This allows enabling and disabling of the insertion
                of adGenEthernetDslamFlowDhcpPPPoEVendorNumber and adGenEthernetDslamFlowDhcpPPPoEVendorIdFormat."

   REVISION "201302190000Z"
   DESCRIPTION "Added new enum to adGenEthernetDslamFlowIgmpProcessing and adGenEthernetDslamFlowRev2IgmpProcessing to enable igmp forking"

   REVISION "201301030000Z"
   DESCRIPTION "Added chassis-id to remote-id/circuit-id format as possible keyword; this will display the chassis-id
                 of the system if the TID/chassis-id are not sync'd.  accessnodeid displays the TID"

   REVISION "201211060000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowShaperFixedRate and adGenEthernetDslamFlowShaperAssuredRate OIDs in order
                to set the fixed or assured shaper rate on an interface.  Changed the description of the
                adGenEthernetDslamFlowShaperRate OID to state it is used for the peak information rate."

   REVISION "201209130000Z"
   DESCRIPTION "Added missing varbinds for duplicate MAC alarm"

   REVISION "201207300000Z"
   DESCRIPTION "Added sameAsDhcpv4 enumeration to adGenEthernetDslamFlowDhcpv6RelayAgent and adGenEthernetDslamFlowRev2Dhcpv6RelayAgent"

   REVISION "201207170000Z"
   DESCRIPTION "Added alarm traps, adGenEthernetDslamFlowDuplicateMacDetectedAct and
                adGenEthernetDslamFlowDuplicateMacDetectedClr, to indicate an attempt
                to authenticate a flow with a MAC currently active on another flow."

   REVISION "201206271150Z"
   DESCRIPTION "Added adGenEthernetDslamFlowDhcpv6CurrMode and
                adGenEthernetDslamFlowRev2Dhcpv6CurrMode to show the current
   		DHCPv6 mode (versus the provisioned mode given in
                adGenEthernetDslamFlowDhcpv6Mode)"

   REVISION "201204201150Z"
   DESCRIPTION "Added upstream channel OID to adGenEthernetDslamFlowEntry"

   REVISION "201204091150Z"
   DESCRIPTION "Added downstream Qos Map Profile OID to adGenEthernetDslamFlowEntry"

   REVISION "201112210000Z"
   DESCRIPTION "Add 'sameAsDhcpV4' enumeration to adGenEthernetDslamFlowDhcpv6Mode and
   				adGenEthernetDslamFlowRev2Dhcpv6Mode"

   REVISION "201111280000Z"
   DESCRIPTION "Added support for adGenEthernetDslamFlowShaperBurstSize"

   REVISION "201109190000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowDhcpPPPoERemoteIdFormat and
                updated other DHCP OIDs description to reflect that those
                are used for DHCPv6 as well"

   REVISION "201108220000Z"
   DESCRIPTION "Added support for adGenEthernetDslamFlowQueueTable"

   REVISION "201108030000Z"
   DESCRIPTION "Added DHCPv6 support as well as DHCPv4 over TLS support"

   REVISION "201106010000Z"
   DESCRIPTION "Changed the range of adGenEthernetDslamFlowCEVlan from 0..4097 to 0..4098"

   REVISION "201103240000Z"
   DESCRIPTION "Added adGenEthernetDslamFlowShaperOperationalStatus to display Shaper Operational Status"

   REVISION "200709110000Z"
   DESCRIPTION "Created"
::= { adGenEthernetDslamFlowID 2 }

-- ******************************************************************************************
-- Index
-- ******************************************************************************************

-- ******************************************************************************************
-- Configuration
-- ******************************************************************************************


-- ******************************************************************************************
-- Provisioning
-- ******************************************************************************************

-- ********************************************
-- Ethernet Interface Table
-- ********************************************
adGenEthernetInterfaceTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetInterfaceEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table specifies the parameters specific to a Interface.
      A Interface can be a physical ethernet port, an EFM Bonding
      group, an ATM VCL, a PON Gem port,
      or other logical ethernet customer port. It
      serves primarily as an attach point for
      maps and filters."
   ::= { adGenEthernetDslamFlow 1 }

adGenEthernetInterfaceEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetInterfaceEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetInterfaceTable."
   INDEX { ifIndex, adGenEthernetInterfaceLogicalIndex }
   ::= { adGenEthernetInterfaceTable 1 }

AdGenEthernetInterfaceEntry ::=
   SEQUENCE
   {
      adGenEthernetInterfaceLogicalIndex           Integer32,
      adGenEthernetInterfaceMaxMACAddresses        Integer32,
      adGenEthernetInterfaceFlowList               DisplayString,
      adGenEthernetInterfaceSourceAuthentication   INTEGER,
      adGenEthernetInterfaceType                   GenSystemInterfaceType,
      adGenEthernetInterfaceTypeSpecific           OCTET STRING
   }

   adGenEthernetInterfaceLogicalIndex OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
        "An implementation specific index defining a Logical Interface on a particular physical ifIndex.
        It is the same number as the subinterface in the CLI. For example, this index would be zero for
        ethernet ports, EFM bonding groups, and VDSL EFM ports."
      ::= { adGenEthernetInterfaceEntry 1}

   adGenEthernetInterfaceMaxMACAddresses OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the maximum number of MAC addresses
         for this Interface."
      ::= { adGenEthernetInterfaceEntry 2}

   adGenEthernetInterfaceFlowList OBJECT-TYPE
      SYNTAX  DisplayString
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
        "A string of indices of flows applied to this
         Interface."
      ::= { adGenEthernetInterfaceEntry 3}

   adGenEthernetInterfaceSourceAuthentication OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If this is enabled then only authenticated flows will pass traffic for this Ethernet
        Interface."
      ::= { adGenEthernetInterfaceEntry 4}

   adGenEthernetInterfaceType OBJECT-TYPE
      SYNTAX  GenSystemInterfaceType
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
        "Describes the interface type of ethernet interface"
      ::= { adGenEthernetInterfaceEntry 5}

   adGenEthernetInterfaceTypeSpecific OBJECT-TYPE
      SYNTAX  OCTET STRING
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
        "This item returns a vector of interface type specific data
               byte# | Descr
         ATM -     0 | Upper 4 bits = 0, Lower 4 bits = Upper 4 bits of VPI
                   1 | Lower 8 bits of VPI
                   2 | Upper 8 bits of VCI
                   3 | Lower 8 bits of VCI"
      ::= { adGenEthernetInterfaceEntry 6}

-- ********************************************
-- Ethernet Dslam Flow Table
-- ********************************************
adGenEthernetDslamFlowTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table consists of the mapping from a user ethernet interface
      into an S-Tag or S-Tag/C-Tag."
   ::= { adGenEthernetDslamFlow 2 }

adGenEthernetDslamFlowEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowTable. Each entry is an
      entry in a list of maps that can be applied to a user
      port."
   INDEX { adGenSlotInfoIndex, adGenEthernetDslamFlowIndex }
   ::= { adGenEthernetDslamFlowTable 1 }


  AdGenEthernetDslamFlowEntry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowIndex                               Integer32,
        adGenEthernetDslamFlowName                                DisplayString,
        adGenEthernetDslamFlowTrafficDirection                    INTEGER,
        adGenEthernetDslamFlowNetworkSTag                         INTEGER,
        adGenEthernetDslamFlowNetworkCTag                         INTEGER,
        adGenEthernetDslamFlowCEVlan                              INTEGER,
        adGenEthernetDslamFlowDownstreamForwardingMode            Integer32,
        adGenEthernetDslamFlowDownstreamPbitMethod                INTEGER,
        adGenEthernetDslamFlowDownstreamPbitMarking               INTEGER,
        adGenEthernetDslamFlowDownstreamPbitMapping               Integer32,
        adGenEthernetDslamFlowNetworkIngressPbit                  INTEGER,
        adGenEthernetDslamFlowNetworkIngressEtherType             Integer32,
        adGenEthernetDslamFlowNetworkIngressDSCP                  INTEGER,
        adGenEthernetDslamFlowNetworkIngressIPProtocolID          Integer32,
        adGenEthernetDslamFlowUpstreamForwardingMode              Integer32,
        adGenEthernetDslamFlowUpstreamSTagPbitMethod              INTEGER,
        adGenEthernetDslamFlowUpstreamSTagPbitMarking             INTEGER,
        adGenEthernetDslamFlowUpstreamSTagPbitMapping             Integer32,
        adGenEthernetDslamFlowUpstreamCTagPbitMethod              INTEGER,
        adGenEthernetDslamFlowUpstreamCTagPbitMarking             INTEGER,
        adGenEthernetDslamFlowUpstreamCTagPbitMapping             Integer32,
        adGenEthernetDslamFlowCustomerIngressPbit                 INTEGER,
        adGenEthernetDslamFlowCustomerIngressEtherType            Integer32,
        adGenEthernetDslamFlowCustomerIngressDSCP                 INTEGER,
        adGenEthernetDslamFlowCustomerIngressIPProtocolID         Integer32,
        adGenEthernetDslamFlowCustomerIngressBroadcast            INTEGER,
        adGenEthernetDslamFlowCustomerIngressMulticast            INTEGER,
        adGenEthernetDslamFlowCustomerIngressUnicast              INTEGER,
        adGenEthernetDslamFlowCustomerIngressPolicer              Integer32,
        adGenEthernetDslamFlowEncapsMode                          INTEGER,
        adGenEthernetDslamFlowManualAddrAging                     INTEGER,
        adGenEthernetDslamFlowIntermedAgent                       INTEGER,
        adGenEthernetDslamFlowDhcpRelay                           INTEGER,
        adGenEthernetDslamFlowOption82Insert                      INTEGER,
        adGenEthernetDslamFlowLearnedIpAddrAgingMethod            INTEGER,
        adGenEthernetDslamFlowIgmpProcessing                      INTEGER,
        adGenEthernetDslamFlowIgmpVersion                         INTEGER,
        adGenEthernetDslamFlowLastMemberQueryInterval             INTEGER,
        adGenEthernetDslamFlowLastMemberQueryCount                INTEGER,
        adGenEthernetDslamFlowImmediateLeave                      INTEGER,
        adGenEthernetDslamFlowMaxAllowedMcastGroups               Integer32,
        adGenEthernetDslamFlowDhcpPPPoERemoteId                   INTEGER,
        adGenEthernetDslamFlowDhcpPPPoELoopCharacteristics        INTEGER,
        adGenEthernetDslamFlowDhcpPPPoECircuitIdFormat            DisplayString,
        adGenEthernetDslamFlowPPPoASessionTimeout                 Integer32,
        adGenEthernetDslamFlowInterfaceIfIndex                    Integer32,
        adGenEthernetDslamFlowInterfaceLogicalIndex               Integer32,
        adGenEthernetDslamFlowLastErrorString                     DisplayString,
        adGenEthernetDslamFlowRowStatus                           RowStatus,
        adGenEthernetDslamFlowNetworkIngressPolicer               Integer32,
        adGenEthernetDslamFlowUpstreamDiscard                     INTEGER,
        adGenEthernetDslamFlowMaxAllowedMulticastBandwidth        Integer32,
        adGenEthernetDslamFlowMaxAllowedMulticastBandwidthEnable  INTEGER,
        adGenEthernetDslamFlowProfileName                         DisplayString,
        adGenEthernetDslamFlowMaxAllowedMcastGroupsEnable         INTEGER,
        adGenEthernetDslamFlowNetworkIngressDSCPList              DisplayString,
        adGenEthernetDslamFlowCustomerIngressDSCPList             DisplayString,
        adGenEthernetDslamFlowIgmpRouterIP                        IpAddress,
        adGenEthernetDslamFlowActivationStatus                    INTEGER,
        adGenEthernetDslamFlowARPProcessing                       INTEGER,
        adGenEthernetDslamFlowPPPoEProcessing                     INTEGER,
        adGenEthernetDslamFlowSubscriberIpRowCreateError          DisplayString,
        adGenEthernetDslamFlowDhcpPPPoEVendorNumber               Integer32,
        adGenEthernetDslamFlowDhcpPPPoEVendorIdFormat             DisplayString,
        adGenEthernetDslamFlowEvcName                             DisplayString,
        adGenEthernetDslamFlowEvcRoot                             INTEGER,
        adGenEthernetDslamFlowDhcpv6Mode                          INTEGER,
        adGenEthernetDslamFlowDhcpv6RelayAgent                    INTEGER,
        adGenEthernetDslamFlowDhcpv6RelayAgentTrusted             INTEGER,
        adGenEthernetDslamFlowDhcpPPPoERemoteIdFormat             DisplayString,
        adGenEthernetDslamFlowDownstreamQosMapProfile             DisplayString,
        adGenEthernetDslamFlowUpstreamChannel                     Integer32,
        adGenEthernetDslamFlowDhcpv6CurrMode                      INTEGER,
        adGenEthernetDslamFlowDhcpPPPoEVendorIdInsert             INTEGER,
        adGenEthernetDslamFlowMatchSourceMacList                  OCTET STRING,
        adGenEthernetDslamFlowMatchSourceMacLastErrorString       DisplayString,
        adGenEthernetDslamFlowMatchNonIp      					  TruthValue
}

   adGenEthernetDslamFlowIndex OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "Index that specifies an individual
          map."
      ::= { adGenEthernetDslamFlowEntry 1}

   adGenEthernetDslamFlowName OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (1..32))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is provided so that the user can identify
           the ethernet flow uniquely. The profile will be stored in the EMS by
           name and applied to the user-specified flows.
           This profile name is NOT intended to be used in the same
           way as the ADSL profile names defined in the ADSL-LINE-MIB.
           However, it does borrow from characteristics of both the
           `dynamic' and`static' profiles defined in the ADSL-LINE-MIB.
           For instance, like those dynamic profiles, the profile name
           is user-specified. However these are static profiles, so
           there is a one-to-one relationship between each mapping
           and its profile. Furthermore, these profiles are indexed
           by the slot and ethernet flow index, which is completely
           unlike the profiles defined in the ADSL-LINE-MIB."
         ::= { adGenEthernetDslamFlowEntry 2}

  adGenEthernetDslamFlowTrafficDirection OBJECT-TYPE
      SYNTAX  INTEGER {
            upstream(1),
            downstream(2),
            bidirectional(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the traffic direction to which this
         map applies.
         Upstream:
            Customer C-Tag, Pbit, Ethertype,
            DSCP, and IP Protocol are used to classify traffic
            upstream.
            The Upstream Pbit Mode specifies how PBits are mapped
            or remapped from Customer traffic to Network traffic.
            The frames headed toward the network should be tagged
            with the network S-Tag and C-Tag.
         Downstream:
            Network S-Tag, C-Tag, PBit, Ethertype,
            DSCP, and IP Protocol are used to classify traffic.
            The Downstream Pbit Mode specifies how PBits are mapped
            or remapped from Network traffic to Customer traffic.
            The frames egressing the Interface should be tagged
            with the customer C-Tag.
         Bi-Directional:
            This map applies in both directions and follows both
            the downstream and upstream descriptions."
      ::= { adGenEthernetDslamFlowEntry 3}

   --***********************************************************************
   --* The following is an explanation of the upstream and downstream
   --* VLAN tag manipulation behaviors given the different combinations
   --* of STag/CTag/CEVlan.
   --* *notes: -"2-4094" indicates a single VID in the range of 2-4094
   --*         -"Any" Indicates tagged or untagged traffic. An "*" indicates
   --*                only perform operation if tag is available
   --*         -"Vlan" Indicates only tagged traffic
   --*         -"None" Indicates only untagged traffic
   --*         -"Match" Indicates that the CTag should inherit the CEVlan
   --*
   --* Net STag | Net CTag | CEVlan ||     Upstream              | Downstream
   --* *********|**********|********||***************************|*************************
   --*  2-4094  |   None   |  None  ||  Add STag                 | Str STag
   --*  2-4094  |   None   |  2-4094||  Str CEVlan,Add STag      | Str STag,Add CEVlan
   --*  2-4094  |   None   |  Any   ||  Str CEVlan*,Add STag     | Str STag
   --*  2-4094  |   None   |  Vlan  ||  Str CEVlan,Add STag      | Str STag
   --*  2-4094  |   2-4094 |  None  ||  Add STag&CTag            | Str STag&CTag
   --*  2-4094  |   2-4094 |  2-4094||  Str CEVlan,Add STag&CTag | Str STag&CTag,Add CEVlan
   --*  2-4094  |   2-4094 |  Any   ||  Str CEVlan*,Add STag&CTag| Str STag&CTag
   --*  2-4094  |   2-4094 |  Vlan  ||  Str CEVlan,Add STag&CTag | Str STag&CTag
   --*  2-4094  |   2-4094 |  None  ||  Add STag&CTag            | Str STag&CTag
   --*  2-4094  |   Match  |  2-4094||  Add STag                 | Str STag
   --*  2-4094  |   Match  |  Any   ||  CTag Inh CEVlan*,Add STag| Str STag
   --*  2-4094  |   Match  |  Vlan  ||  CTag Inh CEVlan,Add STag | Str STag
   --*  2-4094  |   Match  |  None  ||   Invalid combination
   --***********************************************************************
   adGenEthernetDslamFlowNetworkSTag OBJECT-TYPE
      SYNTAX  INTEGER (2..4094)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the STag seen on network traffic."
      ::= { adGenEthernetDslamFlowEntry 4}

   adGenEthernetDslamFlowNetworkCTag OBJECT-TYPE
      SYNTAX  INTEGER(2..4096)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the CTag seen on network ingress/egress traffic. A value of 4095
          indicates that no Network CTag is used.  A value of 4096 indicates that
          that the Network CTag should match the CEVlan in the upstream direction
          and that the CEVlan should match the Network CTag in the downstream
          direction."
      ::= { adGenEthernetDslamFlowEntry 5}

    adGenEthernetDslamFlowCEVlan OBJECT-TYPE
      SYNTAX  INTEGER(0..4098)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the CEVlan seen on customer ingress/egress traffic. A value of 4095
          indicates that no CEVlan is present.  A value of 4097 indicates that customer traffic can
          be tagged or untagged. A value of 4098 indicates that customer traffic is tagged only."
      ::= { adGenEthernetDslamFlowEntry 6}

    adGenEthernetDslamFlowDownstreamForwardingMode OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify how ethernet frames on this flow are forwarded through the switch. This
         value is bitmasked so that forwarding modes can be combined.
         src (0x1) - Use the network port as the source for forwarding
         flow (0x2) - Use the parameters specified in the flow for forwarding decisions.
         mac (0x4) - The MAC will need to be added by some mechanism such as source address learning,
                         DHCPv4, PPPoE, etc."
      ::= { adGenEthernetDslamFlowEntry 7}

   adGenEthernetDslamFlowDownstreamPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the PBit mapping mode in from the
         network to customer.
         Inherit - downstream traffic should egress
            the Interface with the priority from the
            network.
         Marked - downstream traffic should always
            egress the Interface with the specified priority.
         Mapped - downstream traffic should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowEntry 8}

   adGenEthernetDslamFlowDownstreamPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the network Pbit mode is marked then this variable
         specifies the downstream pBit."
      ::= { adGenEthernetDslamFlowEntry 9}

   adGenEthernetDslamFlowDownstreamPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the network Pbit mode is mapped then this variable
         specifies the ingress/egress priority mapping index."
      ::= { adGenEthernetDslamFlowEntry 10}

   adGenEthernetDslamFlowNetworkIngressPbit OBJECT-TYPE
       SYNTAX  INTEGER(0..255)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This option is a bitmask used to specify a list of allowable P-bit values
         of the S-Tag ingressing from the network. A value of
         255 indicates that this value is not used to classify network ingress
         traffic."
      ::= { adGenEthernetDslamFlowEntry 11}

   adGenEthernetDslamFlowNetworkIngressEtherType OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the EtherType value that will be used to
         classify NetworkIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowEntry 12}

   adGenEthernetDslamFlowNetworkIngressDSCP OBJECT-TYPE
      SYNTAX  INTEGER(0..64)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify a single DSCP value that will be used to classify
         NetworkIngress traffic. A value of 64 indicates this filter
         is disabled.  If multiple DSCP values should be specified,
         use adGenEthernetDslamFlowNetworkIngressDSCPList instead"
      ::= { adGenEthernetDslamFlowEntry 13}

   adGenEthernetDslamFlowNetworkIngressIPProtocolID OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the IP Protocol ID that will be used to
         classify NetworkIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowEntry 14}

 adGenEthernetDslamFlowUpstreamForwardingMode OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify how ethernet frames on this flow are forwarded through the switch. This
         value is bitmasked so that forwarding modes can be combined.
         src (0x1) - Use the ethernet interface as the source for forwarding
         flow (0x2) - Use the parameters specified in the flow for forwarding decisions.
         mac (0x4) - The MAC will need to be added by some mechanism such as source address learning,
                         DHCPv4, PPPoE, etc."
      ::= { adGenEthernetDslamFlowEntry 15}

   adGenEthernetDslamFlowUpstreamSTagPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the PBit mapping mode in from the
         Customer to Network STag.
         Inherit - upstream STags should egress
            with the priority from the customer.
         Marked - upstream STags should always
            egress with the specified priority.
         Mapped - upstream STags should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowEntry 16}

   adGenEthernetDslamFlowUpstreamSTagPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is marked then this variable
         specifies the upstream STag pBit."
      ::= { adGenEthernetDslamFlowEntry 17}

   adGenEthernetDslamFlowUpstreamSTagPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is mapped then this variable
         specifies the ingress/egress STag priority mapping index."
      ::= { adGenEthernetDslamFlowEntry 18}

   adGenEthernetDslamFlowUpstreamCTagPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the CTag PBit mapping mode in from the
         Customer to Network.
         Inherit - upstream traffic should egress
            with the priority from the customer.
         Marked - upstream traffic should always
            egress with the specified priority.
         Mapped - upstream traffic should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowEntry 19}

   adGenEthernetDslamFlowUpstreamCTagPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is marked then this variable
         specifies the upstream CTag pBit."
      ::= { adGenEthernetDslamFlowEntry 20}

   adGenEthernetDslamFlowUpstreamCTagPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is mapped then this variable
         specifies the ingress/egress CTag priority mapping index."
      ::= { adGenEthernetDslamFlowEntry 21}


   adGenEthernetDslamFlowCustomerIngressPbit OBJECT-TYPE
      SYNTAX  INTEGER(0..255)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This option is a bitmask used to specify a list of allowable P-bit values
         of the CEVlan ingressing from the customer. A value of
         255 indicates that this value is not used to classify customer ingress
         traffic."
      ::= { adGenEthernetDslamFlowEntry 22}

   adGenEthernetDslamFlowCustomerIngressEtherType OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the EtherType value that will be used to
         classify CustomerIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowEntry 23}

   adGenEthernetDslamFlowCustomerIngressDSCP OBJECT-TYPE
      SYNTAX  INTEGER(0..64)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify a single DSCP value that will be used to classify
         CustomerIngress traffic. A value of 64 indicates this filter
         is disabled.  If multiple DSCP values should be specified,
         use adGenEthernetDslamFlowCustomerIngressDSCPList instead"
      ::= { adGenEthernetDslamFlowEntry 24}

   adGenEthernetDslamFlowCustomerIngressIPProtocolID OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the IP Protocol ID that will be used to
         classify CustomerIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowEntry 25}

   adGenEthernetDslamFlowCustomerIngressBroadcast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress broadcasts on this map."
      ::= { adGenEthernetDslamFlowEntry 26}

   adGenEthernetDslamFlowCustomerIngressMulticast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress multicasts on this map."
      ::= { adGenEthernetDslamFlowEntry 27}

   adGenEthernetDslamFlowCustomerIngressUnicast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress unicasts on this map."
      ::= { adGenEthernetDslamFlowEntry 28}

   adGenEthernetDslamFlowCustomerIngressPolicer OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Indicate which policer to on customer ingress traffic. A value of 0 means no
        policer is used on customer ingress traffic.  A non-zero value represents
        a row from the adGenEthernetDslamFlowProfilesTable."
      ::= { adGenEthernetDslamFlowEntry 29}

   adGenEthernetDslamFlowEncapsMode OBJECT-TYPE
       SYNTAX INTEGER {
           ipoe (1),
           pppoe (2),
           pppoa (3),
           notApplicable (4),
           atmoe (5),
           pppoaVcMux(6),
           autoDetect(7),
           ethernet(8)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Encapsulation mode/type if applicable; 'notApplicable' otherwise. IPoE and PPPoE
           specify a particular protocol over ethernet. 'Ethernet' specifies that any protocol over
           ethernet is applicable including IP and PPP."
         ::= { adGenEthernetDslamFlowEntry 30}

    adGenEthernetDslamFlowManualAddrAging OBJECT-TYPE
       SYNTAX  INTEGER (1..1440)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Manual Address Aging in minutes for unicast MACs."
         ::= { adGenEthernetDslamFlowEntry 31}

   adGenEthernetDslamFlowIntermedAgent OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Intermediate Agent if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowEntry 32}

    adGenEthernetDslamFlowDhcpRelay OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3),
           transparent (4),
           snoop (5)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv4 processing mode:

           Enabled(1)- Use DHCPv4 for subscriber authentication
           Disabled(2)- Discard DHCPv4
           Not Applicable(3)- Unused
           Transparent(4)- Ignore DHCPv4
           Snoop(5)- Process DHCPv4 without performing authentication"
         ::= { adGenEthernetDslamFlowEntry 33}

    adGenEthernetDslamFlowOption82Insert OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Option 82 Insertion if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowEntry 34}

    adGenEthernetDslamFlowLearnedIpAddrAgingMethod OBJECT-TYPE
       SYNTAX  INTEGER {
           lease (1),
           fixed (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Method for Learned IP Address Aging if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowEntry 35}

    adGenEthernetDslamFlowIgmpProcessing OBJECT-TYPE
       SYNTAX  INTEGER {
           block (1),
           forward (2),
           snooping (3),
           proxy (4),
           notApplicable (5),
           transparent (6),
           forking (7)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Method for IGMP Processing if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowEntry 36}

    adGenEthernetDslamFlowIgmpVersion OBJECT-TYPE
       SYNTAX  INTEGER {
           v1 (1),
           v2 (2),
           v3 (3),
           notApplicable (4)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "IGMP Version if applicable: v3 implies v1, v2, and v3;
           v2 implies v1 and v2; v1 is v1 only; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowEntry 37}

    adGenEthernetDslamFlowLastMemberQueryInterval OBJECT-TYPE
       SYNTAX  INTEGER (100..65535)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Last Member Query Interval in milliseconds.
         This is the amount of time between Queries.  Low
         value results in faster detection of missed leaves."
         ::= { adGenEthernetDslamFlowEntry 38}

    adGenEthernetDslamFlowLastMemberQueryCount OBJECT-TYPE
       SYNTAX  INTEGER (1..255)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Last Member Query Count. This is the number of
         queries before declaring no membership of a group
         (channel)."
         ::= { adGenEthernetDslamFlowEntry 39}

    adGenEthernetDslamFlowImmediateLeave OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Immediate Leave if applicable; 'notApplicable' otherwise.
         Disable is the equivalent of setting Last Member Query Count to 0."
         ::= { adGenEthernetDslamFlowEntry 40}

    adGenEthernetDslamFlowMaxAllowedMcastGroups OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Maximum Allowed Non-Guaranteed Multicast Groups. This value is only
            considered if multicast groups are enabled."
         ::= { adGenEthernetDslamFlowEntry 41}

    adGenEthernetDslamFlowDhcpPPPoERemoteId OBJECT-TYPE
       SYNTAX      INTEGER {
             enabled (1),
             disabled (2),
             notApplicable (3)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Remote ID insertion into DHCPv4 Option 82 or
            DHCPv6 relay agent in option 37 or PPPoE Vendor Specific tag
            if applicable."
         ::= { adGenEthernetDslamFlowEntry 42}

    adGenEthernetDslamFlowDhcpPPPoELoopCharacteristics OBJECT-TYPE
       SYNTAX      INTEGER {
             enabled (1),
             disabled (2),
             notApplicable (3)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable loop characteristics insertion into DHCPv4 Option 82 or
            DHCPv6 relay agent option 17 (vendor specific) loop characteristics or
            PPPoE Vendor Specific tag if applicable."
         ::= { adGenEthernetDslamFlowEntry 43}

    adGenEthernetDslamFlowDhcpPPPoECircuitIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the circuit ID string. This
            string is returned by the PPPoE intermediate agent and
            DHCP relay agent in v4 sub option 1 or in v6 option 18.
            TR-101 states that the format of the circuit ID
            should be user defineable. The string may contain both fixed
            static string elements specified by the user and also variable
            and fixed length elements which are populated by the network
            element. Variable length elements are specified by enclosing
            the names of the variables with a dollar sign '$'. For instance,
            a user could specify a circuit id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName. If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:
                Variable Name                Character Length
                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1


            If a user defined circuit ID is not desired, this object can
            be set to simply 'default' and the default format described in
            TR-101 will be used:

            access-node-id atm slot/port:vpi.vci
            or
            access-node-id eth slot/port[:vlan-id]"
         ::= { adGenEthernetDslamFlowEntry 44}

    adGenEthernetDslamFlowPPPoASessionTimeout OBJECT-TYPE
       SYNTAX          Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to set the PPPoA Session timeout when the
            mapping is provisioned for PPPoA encapsulation."
         ::= { adGenEthernetDslamFlowEntry 45}

    adGenEthernetDslamFlowInterfaceIfIndex OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS read-create
       STATUS          current
       DESCRIPTION
           "Specifies the IfIndex of the Interface this mapping is tied to.
           If the value is 0 then this map is not applied to a Interface. This
           value must be nonzero before the flow can be activated."
         ::= { adGenEthernetDslamFlowEntry 46}

    adGenEthernetDslamFlowInterfaceLogicalIndex OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Specifies the logical indes within the ifIndex of the ethernet interface."
         ::= { adGenEthernetDslamFlowEntry 47}

  adGenEthernetDslamFlowLastErrorString OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS  current
      DESCRIPTION
        "Returns the reason for the last error."
      ::= { adGenEthernetDslamFlowEntry 48}

    adGenEthernetDslamFlowRowStatus OBJECT-TYPE
      SYNTAX  RowStatus
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This object is used to create
         a new row or modify or delete an
         existing map in this table. A row cannot be set to active
         until the ethernet interface ifIndex is set."
      ::= { adGenEthernetDslamFlowEntry 49}

    adGenEthernetDslamFlowNetworkIngressPolicer OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Indicate which policer to on network ingress traffic. A value of 0 means no
        policer is used on network ingress traffic.  A non-zero value represents
        a row from the adGenEthernetDslamFlowProfilesTable."
      ::= { adGenEthernetDslamFlowEntry 50}

    adGenEthernetDslamFlowUpstreamDiscard OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Indicate that any packets matching the upstream criteria will be discarded."
         ::= { adGenEthernetDslamFlowEntry 51}

    adGenEthernetDslamFlowMaxAllowedMulticastBandwidth OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the maximum downstream bandwidth(kbps) available for this flow.
        This value is only considered if multicast bandwidth is enabled."
      ::= { adGenEthernetDslamFlowEntry 53}

    adGenEthernetDslamFlowMaxAllowedMulticastBandwidthEnable OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "When enabled joins for multicast streams by the subscriber are checked to make
           sure that the maximum multicast bandwidth will not be exceeded by the join."
         ::= { adGenEthernetDslamFlowEntry 54}

   adGenEthernetDslamFlowProfileName OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (1..32))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is provided so that the user can describe a particular flow by any
            means desired.  This is not related to  policers in the adGenEthernetDslamFlowProfilesTable."
         ::= { adGenEthernetDslamFlowEntry 55}

    adGenEthernetDslamFlowMaxAllowedMcastGroupsEnable OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "When enabled joins for multicast streams by the subscriber are checked to make
           sure that the maximum number of non-guarenteed multicast groups will not be
           exceeded by the join."
         ::= { adGenEthernetDslamFlowEntry 56}

   adGenEthernetDslamFlowNetworkIngressDSCPList OBJECT-TYPE
       SYNTAX          DisplayString
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is a string used to specify the DSCP values that will
            be used to classify NetworkIngress traffic.  The DSCP values can
            be specified using both list and range notation.  For example,
            to specify DSCP values 27, 32, and 49 through 63, use the
            following string:
            '27,32,49-63'.
            If this OID is used, adGenEthernetDslamFlowNetworkIngressDSCP
            should not be used."
         ::= { adGenEthernetDslamFlowEntry 57}

   adGenEthernetDslamFlowCustomerIngressDSCPList OBJECT-TYPE
       SYNTAX          DisplayString
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is a string used to specify the DSCP values that will
            be used to classify CustomerIngress traffic.  The DSCP values can
            be specified using both list and range notation.  For example,
            to specify DSCP values 27, 32, and 49 through 63, use the
            following string:
            '27,32,49-63'.
            If this OID is used, adGenEthernetDslamFlowCustomerIngressDSCP
            should not be used."
         ::= { adGenEthernetDslamFlowEntry 58}

   adGenEthernetDslamFlowIgmpRouterIP OBJECT-TYPE
       SYNTAX          IpAddress
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "The source IP address that the DSLAM places in IGMP messages destined
           for the subscriber. This value only applies when IGMP is in proxy mode."
         ::= { adGenEthernetDslamFlowEntry 59 }

    adGenEthernetDslamFlowActivationStatus OBJECT-TYPE
       SYNTAX      INTEGER {
           notActivated (1),
           inProgress (2),
           active (3),
           error (4)
           }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
           "Provides an indication of whether the flow is actually activated.
            If adGenEthernetDslamFlowRowStatus is not active, this object will
            return notActivated.  When rowStatus is successfully set to active,
            the flow begins attempting to activate.  If the module must acquire
            system information relating to the flow (such as provisioned VLANs,
            interfaces, etc.), this object will return inProgress.  If the
            module detects a provisioning conflict, it will return error.
            adGenEthernetDslamFlowLastErrorString can be used to identify
            the source of any problems.  When the flow has activated
            successfully, this object will return active."
         ::= { adGenEthernetDslamFlowEntry 60}


	adGenEthernetDslamFlowARPProcessing OBJECT-TYPE
       SYNTAX      INTEGER {
         	block (1),
	       proxy (2),
	       transparent (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the ARP processing mode."
         ::= { adGenEthernetDslamFlowEntry 61}

 	adGenEthernetDslamFlowPPPoEProcessing OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3),
           transparent (4)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the PPPoE processing mode."
         ::= { adGenEthernetDslamFlowEntry 62}


 	adGenEthernetDslamFlowSubscriberIpRowCreateError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS  current
       DESCRIPTION
           "Returns the reason for the last row create error
            on Subscriber Access Static IP Table."
       ::= { adGenEthernetDslamFlowEntry 63}

    adGenEthernetDslamFlowDhcpPPPoEVendorNumber OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the IANA Enterprise Number.
            This Number is returned by the PPPoE intermediate agent and
            DHCPv4 relay agent in sub option 9."
         ::= { adGenEthernetDslamFlowEntry 64}



    adGenEthernetDslamFlowDhcpPPPoEVendorIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the vendor ID string. This
            string is returned by the PPPoE intermediate agent and
            DHCPv4 relay agent in sub option 9. TR-101 states that the
            format of the vendor ID should be user defineable. The string
            may contain both fixed static string elements specified by the
            user and also variable and fixed length elements which are
            populated by the network element. Variable length elements
            are specified by enclosing the names of the variables with a
            dollar sign '$'. For instance, a user could specify
            a vendor id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName. If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:
                Variable Name                Character Length
                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1


            If a user defined vendor ID is not desired, this object can
            be set to simply 'default' and the default format described in
            TR-101 will be used:

            access-node-id atm slot/port:vpi.vci
            or
            access-node-id eth slot/port[:vlan-id]"
         ::= { adGenEthernetDslamFlowEntry 65}

 	adGenEthernetDslamFlowEvcName OBJECT-TYPE
       SYNTAX DisplayString  (SIZE (1..50))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the name of the EVC that this flow is connected to.
            When this object is set, other objects that relate to
            EVC parameters (e.g. network S-tag, MAC switching, etc.)
            will be changed to match the named EVC parameters."
         ::= { adGenEthernetDslamFlowEntry 66}

 	adGenEthernetDslamFlowEvcRoot OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Indicates whether the mapped interface is connected to the
            EVC as a root or a leaf.  Root interfaces may forward to
            leaves and other roots; leaf interfaces may only forard to
            roots.  When enabled, the mapped interface is a root of the EVC."
         ::= { adGenEthernetDslamFlowEntry 67}

	adGenEthernetDslamFlowDhcpv6Mode OBJECT-TYPE
       SYNTAX  INTEGER {
           authenticate (1),
           block (2),
           transparent (3),
           snoop (4),
           sameAsDhcpv4(5)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv6 processing mode:

           authenticate(1)- Use DHCPv6 for subscriber authentication
           block(2)- Discard DHCPv6
           transparent(3)- Ignore DHCPv6
           snoop(4)- Process DHCPv6 without performing authentication
           sameAsDhcpV4(5)- Use same mode on DHCPv6 as what is provisioned on DHCPv4"
         ::= { adGenEthernetDslamFlowEntry 68}

 	adGenEthernetDslamFlowDhcpv6RelayAgent OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           sameAsDhcpv4(3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv6 Relay Agent Mode:
           enabled(1) - enable the relay agent
           disabled(2) - disable the relay agent
           sameAsDhcpv4(3) - use the same mode on DHCPv6 Relay Agent as what is provisioned on adGenEthernetDslamFlowOption82Insert"
         ::= { adGenEthernetDslamFlowEntry 69}

     adGenEthernetDslamFlowDhcpv6RelayAgentTrusted OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable DHCPv6 relay agent trusted mode."
         ::= { adGenEthernetDslamFlowEntry 70}

	 adGenEthernetDslamFlowDhcpPPPoERemoteIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the remote ID string. This
            string is returned by the DHCPv4 relay agent in option 82
            or DHCPv6 relay agent in option 37 or in PPPoE Vendor Specific tag.
            TR-101 states that the format of the remote ID
            should be user defineable. The string may contain both fixed
            static string elements specified by the user and also variable
            and fixed length elements which are populated by the network
            element. Variable length elements are specified by enclosing
            the names of the variables with a dollar sign '$'. For instance,
            a user could specify a circuit id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName and map is equivalent
            to the ethernet flow name . If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:

                Variable Name                Character Length

                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1
                map                         varies

            If a user defined remote ID is not desired, this object can
            be set to simply 'default'."
         ::= { adGenEthernetDslamFlowEntry 71}

     adGenEthernetDslamFlowDownstreamQosMapProfile OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (1..80))
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
           "The attached QoS Map Profile from the adGenQosMapProfileProvisioningTable
           used to classify downstream traffic into egress queues.  An empty string
           signifies that the default system cos-map will be used instead of a
           custom profile.  A flow will not go running if it is attached to a profile
           that does not exist."
         ::= { adGenEthernetDslamFlowEntry 72}


     adGenEthernetDslamFlowUpstreamChannel OBJECT-TYPE
	SYNTAX		Integer32 (0..4)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
	"This OID specifies the upstream channel connected to this evc-map.
	Setting the channel to 0 selects the system default channel.
	When the evc-map is connected to an UNI interface the user can specify
	a channel number in the range 0-4.
	For all other interface types (eg IP host), if the channel number is set to 1-4,
        the set on this OID will be accepted but the evc-map will not go running."
	DEFVAL  { 0 }
	::= { adGenEthernetDslamFlowEntry 73 }

     adGenEthernetDslamFlowDhcpv6CurrMode OBJECT-TYPE
       SYNTAX  INTEGER {
           authenticate (1),
           block (2),
           transparent (3),
           snoop (4)
           }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
           "View the current DHCPv6 processing mode:

           Authenticate(1)- Use DHCPv6 for subscriber authentication
           Block(2)- Discard DHCPv6
           Transparent(3)- Ignore DHCPv6
           Snoop(4)- Process DHCPv6 without performing authentication"
         ::= { adGenEthernetDslamFlowEntry 74}

     adGenEthernetDslamFlowDhcpPPPoEVendorIdInsert OBJECT-TYPE
       SYNTAX      INTEGER {
             enabled (1),
             disabled (2)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Vendor ID information insertion into DHCPv4 Option 82
            or DHCPv6 relay agent. Enabling this feature will insert the
            adGenEthernetDslamFlowDhcpPPPoEVendorNumber and
            adGenEthernetDslamFlowDhcpPPPoEVendorIdFormat into the sub-option 9
            location of the DHCP packet."
        DEFVAL  { disabled }
         ::= { adGenEthernetDslamFlowEntry 75}

     adGenEthernetDslamFlowMatchSourceMacList OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Contains a list of source MAC addresses and mask on which to match
            in the following format:

            Byte number(s)	Description
            1               Number of match source MAC address entries (N, 0 to M,
                            where M = contents of adGenEthernetFlowMatchSourceMacMaxAddresses OID)
            2 thru 7        Match source MAC address 1
            8               Match source MAC address mask 1 number of bits (1 to 48)
            9 thru 14       Match source MAC address 2
            15              Match source MAC address mask 2 number of bits (1 to 48)
            ...             ...
            7*N-5 thru 7*N  Match source MAC address N
            7*N+1           Match source MAC address mask N number of bits (1 to 48)"
         ::= { adGenEthernetDslamFlowEntry 76 }

     adGenEthernetDslamFlowMatchSourceMacLastErrorString OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS  current
      DESCRIPTION
        "Returns the reason for the last error when setting adGenEthernetDslamFlowMatchSourceMacList or
         adGenEthernetDslamFlowRev2MatchSourceLastErrorString."
      ::= { adGenEthernetDslamFlowEntry 77 }

  	 adGenEthernetDslamFlowMatchNonIp OBJECT-TYPE
      SYNTAX  TruthValue
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Enables/disables matching non-IP customer ingress traffic.
          True - enables match non-IP.
          False - disables match non-IP."
      DEFVAL { false }
      ::= { adGenEthernetDslamFlowEntry 78 }

-- ********************************************
-- Ethernet Dslam Flow Index Next Table
-- ********************************************
adGenEthernetDslamFlowIndexNextTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowIndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table is a read only table that has one row per slot. It returns the
     next available ethernet dslam flow index to be uses as the index for the
     EthernetDslamFlow table."
   ::= { adGenEthernetDslamFlow 3 }

adGenEthernetDslamFlowIndexNextEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowIndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowIndexNextTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowIndexNextTable 1 }


AdGenEthernetDslamFlowIndexNextEntry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowIndexNext                                Integer32
   }

   adGenEthernetDslamFlowIndexNext OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable returns the next available Ethernet Flow Index."
         ::= { adGenEthernetDslamFlowIndexNextEntry 1}

-- ********************************************
-- Policer Table
-- ********************************************
   adGenEthernetDslamFlowProfilesTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowProfilesEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Profile (i.e. Policer) provisioning table. Policers can be
         created and applied to multiple maps or Interfaces. If a policer
         is applied to a Interface then all maps applied to that Interface
         follow the Interface's policer."
      ::= { adGenEthernetDslamFlow 4 }

   adGenEthernetDslamFlowProfilesEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowProfilesEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Policer provisioning table."
      INDEX  { adGenSlotInfoIndex, adGenEthernetDslamFlowProfileIndex }
      ::= { adGenEthernetDslamFlowProfilesTable 1 }

   AdGenEthernetDslamFlowProfilesEntry ::=
      SEQUENCE {
         adGenEthernetDslamFlowProfileIndex               Integer32,
         adGenEthernetDslamFlowProfileAlias               DisplayString,
         adGenEthernetDslamFlowProfileCIR                 INTEGER,
         adGenEthernetDslamFlowProfileCBS                 INTEGER,
         adGenEthernetDslamFlowProfileEIR                 INTEGER,
         adGenEthernetDslamFlowProfileEBS                 INTEGER,
         adGenEthernetDslamFlowProfileLastErrorString     DisplayString,
         adGenEthernetDslamFlowProfileRowStatus           RowStatus,
         adGenEthernetDslamFlowProfileActualCIR           INTEGER,
         adGenEthernetDslamFlowProfileActualCBS           INTEGER,
         adGenEthernetDslamFlowProfileActualEIR           INTEGER,
         adGenEthernetDslamFlowProfileActualEBS           INTEGER
      }

      adGenEthernetDslamFlowProfileIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable is used as an index into the Policer table."
         ::= { adGenEthernetDslamFlowProfilesEntry 1}

      adGenEthernetDslamFlowProfileAlias OBJECT-TYPE
         SYNTAX  DisplayString  (SIZE(1..32))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable alias for the Policer.  Upon creation of
             the Policer, the associated alias will default to a unique value."
         ::= { adGenEthernetDslamFlowProfilesEntry 2}

      adGenEthernetDslamFlowProfileCIR OBJECT-TYPE
         SYNTAX  INTEGER  (0..100000)
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable is used to configure the CIR (in kbps)."
         ::= { adGenEthernetDslamFlowProfilesEntry 3}

      adGenEthernetDslamFlowProfileCBS OBJECT-TYPE
         SYNTAX  INTEGER  (0..999999)
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable is used to configure the CBS (in bytes)."
         ::= { adGenEthernetDslamFlowProfilesEntry 4}

      adGenEthernetDslamFlowProfileEIR OBJECT-TYPE
         SYNTAX  INTEGER  (0..100000)
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable is used to configure the EIR (in kbps).
            A null string is used to configure the EIR for no limit.
            The maximum CIR value is 100000."
         ::= { adGenEthernetDslamFlowProfilesEntry 5}

      adGenEthernetDslamFlowProfileEBS OBJECT-TYPE
         SYNTAX  INTEGER  (0..999999)
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable is used to configure the EBS (in bytes)."
         ::= { adGenEthernetDslamFlowProfilesEntry 6}

      adGenEthernetDslamFlowProfileLastErrorString OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-only
         STATUS  current
         DESCRIPTION
           "Returns the reason for the last error."
         ::= { adGenEthernetDslamFlowProfilesEntry 7}

      adGenEthernetDslamFlowProfileRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "This object is used to create
            a new row or modify or delete an
            existing row in this table."
         ::= { adGenEthernetDslamFlowProfilesEntry 8}

      adGenEthernetDslamFlowProfileActualCIR OBJECT-TYPE
         SYNTAX  INTEGER  (0..100000)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable shows the actual CIR (in kbps). Policer
             attributes are set to the closest possible value in
             hardware based on platform speed, which means the
             configured CIR may not be the same as the actual CIR."
         ::= { adGenEthernetDslamFlowProfilesEntry 9}

      adGenEthernetDslamFlowProfileActualCBS OBJECT-TYPE
         SYNTAX  INTEGER  (0..999999)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable shows the actual CBS (in bytes). Policer
             attributes are set to the closest possible value in
             hardware based on platform speed, which means the
             configured CBS may not be the same as the actual CBS."
         ::= { adGenEthernetDslamFlowProfilesEntry 10}

      adGenEthernetDslamFlowProfileActualEIR OBJECT-TYPE
         SYNTAX  INTEGER  (0..100000)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable shows the actual EIR (in kbps). Policer
             attributes are set to the closest possible value in
             hardware based on platform speed, which means the
             configured EIR may not be the same as the actual EIR."
         ::= { adGenEthernetDslamFlowProfilesEntry 11}

      adGenEthernetDslamFlowProfileActualEBS OBJECT-TYPE
         SYNTAX  INTEGER  (0..999999)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable shows the actual EBS (in bytes). Policer
             attributes are set to the closest possible value in
             hardware based on platform speed, which means the
             configured EBS may not be the same as the actual EBS."
         ::= { adGenEthernetDslamFlowProfilesEntry 12}

-- ********************************************
-- Name/Flow Index Lookup table
-- ********************************************
   adGenEthernetDslamFlowNameLookupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowNameLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "This read-only table allows a lookup from the flow's name and the
         flow's index."
      ::= { adGenEthernetDslamFlow 5}

   adGenEthernetDslamFlowNameLookupEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowNameLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Profile provisioning table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenEthernetDslamFlowNameLookupName }
      ::= { adGenEthernetDslamFlowNameLookupTable 1 }

   AdGenEthernetDslamFlowNameLookupEntry ::=
      SEQUENCE {
         adGenEthernetDslamFlowNameLookupName                DisplayString,
         adGenEthernetDslamFlowNameLookupIndex               Integer32
      }

      adGenEthernetDslamFlowNameLookupName OBJECT-TYPE
       	 SYNTAX  DisplayString (SIZE (1..32))
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "Specifies the name of the flow."
         ::= { adGenEthernetDslamFlowNameLookupEntry 1}

      adGenEthernetDslamFlowNameLookupIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the index of the flow given the name."
         ::= { adGenEthernetDslamFlowNameLookupEntry 2}

-- ******************************************************************************************
--  Shaper Provisioing Table
-- ******************************************************************************************
   adGenEthernetDslamFlowShaperTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowShaperEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "Defines egress shapers applied to ethernet interfaces."
      ::= { adGenEthernetDslamFlow 6 }

   adGenEthernetDslamFlowShaperEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowShaperEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "A shaper indexed by ethernet interface and the set of priorities on that
         ethernet interface to which it applies."
      INDEX  {  ifIndex, adGenEthernetDslamFlowShaperInterfaceLogicalIndex,  adGenEthernetDslamFlowShaperPrioritySet}
      ::= { adGenEthernetDslamFlowShaperTable 1 }

     AdGenEthernetDslamFlowShaperEntry ::=
      SEQUENCE {
           adGenEthernetDslamFlowShaperInterfaceLogicalIndex Integer32,
           adGenEthernetDslamFlowShaperPrioritySet           Integer32,
           adGenEthernetDslamFlowShaperRate                  Integer32,
           adGenEthernetDslamFlowShaperRowStatus             RowStatus,
           adGenEthernetDslamFlowShaperLastErrorString       DisplayString,
           adGenEthernetDslamFlowShaperAlias                 DisplayString,
           adGenEthernetDslamFlowShaperOperationalStatus     INTEGER,
           adGenEthernetDslamFlowShaperBurstSize             Integer32,
           adGenEthernetDslamFlowShaperFixedRate             Integer32,
           adGenEthernetDslamFlowShaperAssuredRate           Integer32,
           adGenEthernetDslamFlowShaperDownstreamMinRate     Integer32
      }

      adGenEthernetDslamFlowShaperInterfaceLogicalIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "The logical interface index of the ethernet interface to which this shaper applies"
         ::= { adGenEthernetDslamFlowShaperEntry 1}

       adGenEthernetDslamFlowShaperPrioritySet OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "A bit-mask of priorities to which this shaper applies. Bit 0 indicates queue 0."
         ::= { adGenEthernetDslamFlowShaperEntry 2}

       adGenEthernetDslamFlowShaperRate OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "The peak information rate in kbps of this shaper. Note that for a very short
           time the units were specified as bps. This was only implemented by a VDSL device,
           and will be corrected. It was quickly realized that kbps would be necessary and useful
           going forward."
         ::= { adGenEthernetDslamFlowShaperEntry 3}

       adGenEthernetDslamFlowShaperRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "This object is used to create
            a new row or modify or delete an
            existing row in this table."
         ::= { adGenEthernetDslamFlowShaperEntry 4}

        adGenEthernetDslamFlowShaperLastErrorString OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Returns the reason for the last error."
         ::= { adGenEthernetDslamFlowShaperEntry 5}

      adGenEthernetDslamFlowShaperAlias OBJECT-TYPE
         SYNTAX  DisplayString  (SIZE(1..32))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable alias for the Shaper.  Upon creation of
             the Shaper, the associated alias will default to a unique value."
         ::= { adGenEthernetDslamFlowShaperEntry 6}

    adGenEthernetDslamFlowShaperOperationalStatus OBJECT-TYPE
       SYNTAX      INTEGER {
           shaperNotRunning (1),
           shaperRunning (2)
           }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
           "Provides an indication if the shaper is actually running or not.  Provides notRunning if the shaper cannot start shaping, provides Running if the shaper is shaping on an interface"
         ::= { adGenEthernetDslamFlowShaperEntry 7}

       adGenEthernetDslamFlowShaperBurstSize OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "The burst size in bytes, specified for per-port shapers."
         ::= { adGenEthernetDslamFlowShaperEntry 8}

       adGenEthernetDslamFlowShaperFixedRate OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "The fixed rate in kbps of this shaper.  This rate is guaranteed, and the
           interface will generate idle frames to transmit if the rate is not met.  This
           means the bandwidth for fixed rates cannot be used by other sources."
         ::= { adGenEthernetDslamFlowShaperEntry 9}

       adGenEthernetDslamFlowShaperAssuredRate OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "The assured rate in kbps of this shaper.  This rate is guaranteed, but
           the interface will not generate idle frames if the rate is not met.  This
           means the bandwidth for assured rates can be used by other sources if the
           bandwidth is available."
         ::= { adGenEthernetDslamFlowShaperEntry 10}

       adGenEthernetDslamFlowShaperDownstreamMinRate OBJECT-TYPE
         SYNTAX      Integer32
         UNITS       "kbps"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
           "The downstream min-rate in kbps of this shaper."
         DEFVAL { 0 }
         ::= { adGenEthernetDslamFlowShaperEntry 11 }

-- ********************************************
-- Subscriber Access Static IP Table
-- ********************************************

   adGenSubscriberAccessStaticIpTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenSubscriberAccessStaticIpEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "Defines list of subscriber static ip addresses attached on the flow."
      ::= { adGenEthernetDslamFlow 7 }

   adGenSubscriberAccessStaticIpEntry OBJECT-TYPE
      SYNTAX  AdGenSubscriberAccessStaticIpEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "It is indexed by ip address and the flow to which it is attached."
      INDEX  {  adGenSlotInfoIndex, adGenEthernetDslamFlowIndex,  adGenSubscriberAccessStaticIpAddress }
      ::= { adGenSubscriberAccessStaticIpTable 1 }

     AdGenSubscriberAccessStaticIpEntry ::=
      SEQUENCE {
           adGenSubscriberAccessStaticIpAddress              IpAddress,
           adGenSubscriberAccessStaticIpMacAddress           PhysAddress,
           adGenSubscriberAccessStaticIpGatewayIp            IpAddress,
           adGenSubscriberAccessStaticIpGatewayMac           PhysAddress,
           adGenSubscriberAccessStaticIpLastErrorString      DisplayString,
           adGenSubscriberAccessStaticIpRowStatus            RowStatus
         }

      adGenSubscriberAccessStaticIpAddress OBJECT-TYPE
         SYNTAX  IpAddress
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "The value of the subscriber static ip"
         ::= { adGenSubscriberAccessStaticIpEntry 1}

       adGenSubscriberAccessStaticIpMacAddress OBJECT-TYPE
         SYNTAX  PhysAddress
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "The subscriber mac address that is associated with this static ip entry."
         ::= { adGenSubscriberAccessStaticIpEntry 2}

       adGenSubscriberAccessStaticIpGatewayIp OBJECT-TYPE
         SYNTAX  IpAddress
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "The subscriber gateway ip address that is associated with this static ip entry"
         ::= { adGenSubscriberAccessStaticIpEntry 3}

       adGenSubscriberAccessStaticIpGatewayMac OBJECT-TYPE
         SYNTAX  PhysAddress
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "The subscriber gateway mac address that is associated with this static ip entry."
         ::= { adGenSubscriberAccessStaticIpEntry 4}

       adGenSubscriberAccessStaticIpLastErrorString OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Returns the reason for the last error."
         ::= { adGenSubscriberAccessStaticIpEntry 5}

       adGenSubscriberAccessStaticIpRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "This object is used to create
            a new row or modify or delete an
            existing row in this table."
         ::= { adGenSubscriberAccessStaticIpEntry 6}

-- ********************************************
-- Policer Index Next Table
-- ********************************************
adGenEthernetDslamFlowProfilesIndexNextTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowProfilesIndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table is a read only table that has one row per slot. It returns the
     next available policer index to be used as the index for the
     Policer table."
   ::= { adGenEthernetDslamFlow 8 }

adGenEthernetDslamFlowProfilesIndexNextEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowProfilesIndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowProfilesIndexNextTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowProfilesIndexNextTable 1 }


AdGenEthernetDslamFlowProfilesIndexNextEntry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowProfilesIndexNext      Integer32
   }

   adGenEthernetDslamFlowProfilesIndexNext OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable returns the next available Policer Index."
         ::= { adGenEthernetDslamFlowProfilesIndexNextEntry 1}

-- ********************************************
-- Alias/Policer Index Lookup table
-- ********************************************
   adGenEthernetDslamFlowProfilesLookupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowProfilesLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "This read-only table allows a lookup from the policer's name and the
         policer's index."
      ::= { adGenEthernetDslamFlow 9}

   adGenEthernetDslamFlowProfilesLookupEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowProfilesLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the policer lookup table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenEthernetDslamFlowProfileLookupAlias }
      ::= { adGenEthernetDslamFlowProfilesLookupTable 1 }

   AdGenEthernetDslamFlowProfilesLookupEntry ::=
      SEQUENCE {
         adGenEthernetDslamFlowProfileLookupAlias               DisplayString,
         adGenEthernetDslamFlowProfileLookupIndex               Integer32
      }

      adGenEthernetDslamFlowProfileLookupAlias OBJECT-TYPE
       	 SYNTAX  DisplayString (SIZE (1..32))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the name of the policer."
         ::= { adGenEthernetDslamFlowProfilesLookupEntry 1}

      adGenEthernetDslamFlowProfileLookupIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the index of the policer given the name."
         ::= { adGenEthernetDslamFlowProfilesLookupEntry 2}

-- ********************************************
-- Alias/Shaper Index Lookup table
-- ********************************************
   adGenEthernetDslamFlowShaperLookupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowShaperLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "This read-only table allows a lookup from the shaper's name and the
         shaper's index."
      ::= { adGenEthernetDslamFlow 10}

   adGenEthernetDslamFlowShaperLookupEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowShaperLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the shaper lookup table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenEthernetDslamFlowShaperLookupAlias }
      ::= { adGenEthernetDslamFlowShaperLookupTable 1 }

   AdGenEthernetDslamFlowShaperLookupEntry ::=
      SEQUENCE {
         adGenEthernetDslamFlowShaperLookupAlias 	              DisplayString,
         adGenEthernetDslamFlowShaperLookupIfIndex                Integer32,
         adGenEthernetDslamFlowShaperLookupInterfaceLogicalIndex  Integer32,
         adGenEthernetDslamFlowShaperLookupPrioritySet        	  Integer32
      }

      adGenEthernetDslamFlowShaperLookupAlias OBJECT-TYPE
       	 SYNTAX  DisplayString (SIZE (1..32))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the name of the shaper."
         ::= { adGenEthernetDslamFlowShaperLookupEntry 1}

      adGenEthernetDslamFlowShaperLookupIfIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the ifIndex of the shaper given the name"
         ::= { adGenEthernetDslamFlowShaperLookupEntry 2}

      adGenEthernetDslamFlowShaperLookupInterfaceLogicalIndex  OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the logical interface index of the ethernet interface
            to which this shaper applies given the name"
         ::= { adGenEthernetDslamFlowShaperLookupEntry 3}

      adGenEthernetDslamFlowShaperLookupPrioritySet OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Given the shaper name, specifies a bit-mask of priorities to which
            this shaper applies. Bit 0 indicates queue 0."
         ::= { adGenEthernetDslamFlowShaperLookupEntry 4}




adGenEthernetDslamFlowRev2Table OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowRev2Entry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table consists of the mapping from a user ethernet interface
      into an S-Tag or S-Tag/C-Tag. This table returns all interfaces."
   ::= { adGenEthernetDslamFlow 11 }

adGenEthernetDslamFlowRev2Entry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowRev2Entry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowRev2Table. Each entry is an
      entry in a list of maps that can be applied to a user
      port."
   INDEX { adGenSlotInfoIndex, adGenEthernetDslamFlowRev2Index }
   ::= { adGenEthernetDslamFlowRev2Table 1 }


  AdGenEthernetDslamFlowRev2Entry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowRev2Index                               Integer32,
        adGenEthernetDslamFlowRev2Name                                DisplayString,
        adGenEthernetDslamFlowRev2TrafficDirection                    INTEGER,
        adGenEthernetDslamFlowRev2NetworkSTag                         INTEGER,
        adGenEthernetDslamFlowRev2NetworkCTag                         INTEGER,
        adGenEthernetDslamFlowRev2CEVlan                              INTEGER,
        adGenEthernetDslamFlowRev2DownstreamForwardingMode            Integer32,
        adGenEthernetDslamFlowRev2DownstreamPbitMethod                INTEGER,
        adGenEthernetDslamFlowRev2DownstreamPbitMarking               INTEGER,
        adGenEthernetDslamFlowRev2DownstreamPbitMapping               Integer32,
        adGenEthernetDslamFlowRev2NetworkIngressPbit                  INTEGER,
        adGenEthernetDslamFlowRev2NetworkIngressEtherType             Integer32,
        adGenEthernetDslamFlowRev2NetworkIngressDSCP                  INTEGER,
        adGenEthernetDslamFlowRev2NetworkIngressIPProtocolID          Integer32,
        adGenEthernetDslamFlowRev2UpstreamForwardingMode              Integer32,
        adGenEthernetDslamFlowRev2UpstreamSTagPbitMethod              INTEGER,
        adGenEthernetDslamFlowRev2UpstreamSTagPbitMarking             INTEGER,
        adGenEthernetDslamFlowRev2UpstreamSTagPbitMapping             Integer32,
        adGenEthernetDslamFlowRev2UpstreamCTagPbitMethod              INTEGER,
        adGenEthernetDslamFlowRev2UpstreamCTagPbitMarking             INTEGER,
        adGenEthernetDslamFlowRev2UpstreamCTagPbitMapping             Integer32,
        adGenEthernetDslamFlowRev2CustomerIngressPbit                 INTEGER,
        adGenEthernetDslamFlowRev2CustomerIngressEtherType            Integer32,
        adGenEthernetDslamFlowRev2CustomerIngressDSCP                 INTEGER,
        adGenEthernetDslamFlowRev2CustomerIngressIPProtocolID         Integer32,
        adGenEthernetDslamFlowRev2CustomerIngressBroadcast            INTEGER,
        adGenEthernetDslamFlowRev2CustomerIngressMulticast            INTEGER,
        adGenEthernetDslamFlowRev2CustomerIngressUnicast              INTEGER,
        adGenEthernetDslamFlowRev2CustomerIngressPolicer              Integer32,
        adGenEthernetDslamFlowRev2EncapsMode                          INTEGER,
        adGenEthernetDslamFlowRev2ManualAddrAging                     INTEGER,
        adGenEthernetDslamFlowRev2IntermedAgent                       INTEGER,
        adGenEthernetDslamFlowRev2DhcpRelay                           INTEGER,
        adGenEthernetDslamFlowRev2Option82Insert                      INTEGER,
        adGenEthernetDslamFlowRev2LearnedIpAddrAgingMethod            INTEGER,
        adGenEthernetDslamFlowRev2IgmpProcessing                      INTEGER,
        adGenEthernetDslamFlowRev2IgmpVersion                         INTEGER,
        adGenEthernetDslamFlowRev2LastMemberQueryInterval             INTEGER,
        adGenEthernetDslamFlowRev2LastMemberQueryCount                INTEGER,
        adGenEthernetDslamFlowRev2ImmediateLeave                      INTEGER,
        adGenEthernetDslamFlowRev2MaxAllowedMcastGroups               Integer32,
        adGenEthernetDslamFlowRev2DhcpPPPoERemoteId                   INTEGER,
        adGenEthernetDslamFlowRev2DhcpPPPoELoopCharacteristics        INTEGER,
        adGenEthernetDslamFlowRev2DhcpPPPoECircuitIdFormat            DisplayString,
        adGenEthernetDslamFlowRev2PPPoASessionTimeout                 Integer32,
        adGenEthernetDslamFlowRev2InterfaceIfIndex                    Integer32,
        adGenEthernetDslamFlowRev2InterfaceLogicalIndex               Integer32,
        adGenEthernetDslamFlowRev2LastErrorString                     DisplayString,
        adGenEthernetDslamFlowRev2RowStatus                           RowStatus,
        adGenEthernetDslamFlowRev2NetworkIngressPolicer               Integer32,
        adGenEthernetDslamFlowRev2UpstreamDiscard                     INTEGER,
        adGenEthernetDslamFlowRev2MaxAllowedMulticastBandwidth        Integer32,
        adGenEthernetDslamFlowRev2MaxAllowedMulticastBandwidthEnable  INTEGER,
        adGenEthernetDslamFlowRev2ProfileName                         DisplayString,
        adGenEthernetDslamFlowRev2MaxAllowedMcastGroupsEnable         INTEGER,
        adGenEthernetDslamFlowRev2NetworkIngressDSCPList              DisplayString,
        adGenEthernetDslamFlowRev2CustomerIngressDSCPList             DisplayString,
        adGenEthernetDslamFlowRev2IgmpRouterIP                        IpAddress,
        adGenEthernetDslamFlowRev2ActivationStatus                    INTEGER,
        adGenEthernetDslamFlowRev2ARPProcessing                       INTEGER,
        adGenEthernetDslamFlowRev2PPPoEProcessing                     INTEGER,
        adGenEthernetDslamFlowRev2SubscriberIpRowCreateError          DisplayString,
        adGenEthernetDslamFlowRev2DhcpPPPoEVendorNumber               Integer32,
        adGenEthernetDslamFlowRev2DhcpPPPoEVendorIdFormat             DisplayString,
        adGenEthernetDslamFlowRev2EvcName                             DisplayString,
        adGenEthernetDslamFlowRev2EvcRoot                             INTEGER,
        adGenEthernetDslamFlowRev2Dhcpv6Mode                          INTEGER,
        adGenEthernetDslamFlowRev2Dhcpv6RelayAgent                    INTEGER,
        adGenEthernetDslamFlowRev2Dhcpv6RelayAgentTrusted             INTEGER,
        adGenEthernetDslamFlowRev2DhcpPPPoERemoteIdFormat             DisplayString,
        adGenEthernetDslamFlowRev2DownstreamQosMapProfile             DisplayString,
        adGenEthernetDslamFlowRev2Dhcpv6CurrMode                      INTEGER,
        adGenEthernetDslamFlowRev2MatchSourceMacList                  OCTET STRING,
        adGenEthernetDslamFlowRev2MatchSourceMacLastErrorString       DisplayString,
        adGenEthernetDslamFlowRev2MatchNonIp      					  TruthValue
        }

   adGenEthernetDslamFlowRev2Index OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "Index that specifies an individual
          map."
      ::= { adGenEthernetDslamFlowRev2Entry 1}

   adGenEthernetDslamFlowRev2Name OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (1..32))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is provided so that the user can identify
           the ethernet flow uniquely. The profile will be stored in the EMS by
           name and applied to the user-specified flows.
           This profile name is NOT intended to be used in the same
           way as the ADSL profile names defined in the ADSL-LINE-MIB.
           However, it does borrow from characteristics of both the
           `dynamic' and`static' profiles defined in the ADSL-LINE-MIB.
           For instance, like those dynamic profiles, the profile name
           is user-specified. However these are static profiles, so
           there is a one-to-one relationship between each mapping
           and its profile. Furthermore, these profiles are indexed
           by the slot and ethernet flow index, which is completely
           unlike the profiles defined in the ADSL-LINE-MIB."
         ::= { adGenEthernetDslamFlowRev2Entry 2}

  adGenEthernetDslamFlowRev2TrafficDirection OBJECT-TYPE
      SYNTAX  INTEGER {
            upstream(1),
            downstream(2),
            bidirectional(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the traffic direction to which this
         map applies.
         Upstream:
            Customer C-Tag, Pbit, Ethertype,
            DSCP, and IP Protocol are used to classify traffic
            upstream.
            The Upstream Pbit Mode specifies how PBits are mapped
            or remapped from Customer traffic to Network traffic.
            The frames headed toward the network should be tagged
            with the network S-Tag and C-Tag.
         Downstream:
            Network S-Tag, C-Tag, PBit, Ethertype,
            DSCP, and IP Protocol are used to classify traffic.
            The Downstream Pbit Mode specifies how PBits are mapped
            or remapped from Network traffic to Customer traffic.
            The frames egressing the Interface should be tagged
            with the customer C-Tag.
         Bi-Directional:
            This map applies in both directions and follows both
            the downstream and upstream descriptions."
      ::= { adGenEthernetDslamFlowRev2Entry 3}

   --***********************************************************************
   --* The following is an explanation of the upstream and downstream
   --* VLAN tag manipulation behaviors given the different combinations
   --* of STag/CTag/CEVlan.
   --* *notes: -"2-4094" indicates a single VID in the range of 2-4094
   --*         -"Any" Indicates tagged or untagged traffic. An "*" indicates
   --*                only perform operation if tag is available
   --*         -"Vlan" Indicates only tagged traffic
   --*         -"None" Indicates only untagged traffic
   --*         -"Match" Indicates that the CTag should inherit the CEVlan
   --*
   --* Net STag | Net CTag | CEVlan ||     Upstream              | Downstream
   --* *********|**********|********||***************************|*************************
   --*  2-4094  |   None   |  None  ||  Add STag                 | Str STag
   --*  2-4094  |   None   |  2-4094||  Str CEVlan,Add STag      | Str STag,Add CEVlan
   --*  2-4094  |   None   |  Any   ||  Str CEVlan*,Add STag     | Str STag
   --*  2-4094  |   None   |  Vlan  ||  Str CEVlan,Add STag      | Str STag
   --*  2-4094  |   2-4094 |  None  ||  Add STag&CTag            | Str STag&CTag
   --*  2-4094  |   2-4094 |  2-4094||  Str CEVlan,Add STag&CTag | Str STag&CTag,Add CEVlan
   --*  2-4094  |   2-4094 |  Any   ||  Str CEVlan*,Add STag&CTag| Str STag&CTag
   --*  2-4094  |   2-4094 |  Vlan  ||  Str CEVlan,Add STag&CTag | Str STag&CTag
   --*  2-4094  |   2-4094 |  None  ||  Add STag&CTag            | Str STag&CTag
   --*  2-4094  |   Match  |  2-4094||  Add STag                 | Str STag
   --*  2-4094  |   Match  |  Any   ||  CTag Inh CEVlan*,Add STag| Str STag
   --*  2-4094  |   Match  |  Vlan  ||  CTag Inh CEVlan,Add STag | Str STag
   --*  2-4094  |   Match  |  None  ||   Invalid combination
   --***********************************************************************
   adGenEthernetDslamFlowRev2NetworkSTag OBJECT-TYPE
      SYNTAX  INTEGER (2..4094)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the STag seen on network traffic."
      ::= { adGenEthernetDslamFlowRev2Entry 4}

   adGenEthernetDslamFlowRev2NetworkCTag OBJECT-TYPE
      SYNTAX  INTEGER(2..4096)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the CTag seen on network ingress/egress traffic. A value of 4095
          indicates that no Network CTag is used.  A value of 4096 indicates that
          that the Network CTag should match the CEVlan in the upstream direction
          and that the CEVlan should match the Network CTag in the downstream
          direction."
      ::= { adGenEthernetDslamFlowRev2Entry 5}

    adGenEthernetDslamFlowRev2CEVlan OBJECT-TYPE
      SYNTAX  INTEGER(0..4097)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Specify the CEVlan seen on customer ingress/egress traffic. A value of 4095
          indicates that no CEVlan is present.  A value of 4097 indicates that customer traffic can
          be tagged or untagged. A value of 4098 indicates that customer traffic is tagged only."
      ::= { adGenEthernetDslamFlowRev2Entry 6}

    adGenEthernetDslamFlowRev2DownstreamForwardingMode OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify how ethernet frames on this flow are forwarded through the switch. This
         value is bitmasked so that forwarding modes can be combined.
         src (0x1) - Use the network port as the source for forwarding
         flow (0x2) - Use the parameters specified in the flow for forwarding decisions.
         mac (0x4) - The MAC will need to be added by some mechanism such as source address learning,
                         DHCPv4, PPPoE, etc."
      ::= { adGenEthernetDslamFlowRev2Entry 7}

   adGenEthernetDslamFlowRev2DownstreamPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the PBit mapping mode in from the
         network to customer.
         Inherit - downstream traffic should egress
            the Interface with the priority from the
            network.
         Marked - downstream traffic should always
            egress the Interface with the specified priority.
         Mapped - downstream traffic should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowRev2Entry 8}

   adGenEthernetDslamFlowRev2DownstreamPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the network Pbit mode is marked then this variable
         specifies the downstream pBit."
      ::= { adGenEthernetDslamFlowRev2Entry 9}

   adGenEthernetDslamFlowRev2DownstreamPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the network Pbit mode is mapped then this variable
         specifies the ingress/egress priority mapping index."
      ::= { adGenEthernetDslamFlowRev2Entry 10}

   adGenEthernetDslamFlowRev2NetworkIngressPbit OBJECT-TYPE
       SYNTAX  INTEGER(0..255)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This option is a bitmask used to specify a list of allowable P-bit values
         of the S-Tag ingressing from the network. A value of
         255 indicates that this value is not used to classify network ingress
         traffic."
      ::= { adGenEthernetDslamFlowRev2Entry 11}

   adGenEthernetDslamFlowRev2NetworkIngressEtherType OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the EtherType value that will be used to
         classify NetworkIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowRev2Entry 12}

   adGenEthernetDslamFlowRev2NetworkIngressDSCP OBJECT-TYPE
      SYNTAX  INTEGER(0..64)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify a single DSCP value that will be used to classify
         NetworkIngress traffic. A value of 64 indicates this filter
         is disabled.  If multiple DSCP values should be specified,
         use adGenEthernetDslamFlowRev2NetworkIngressDSCPList instead"
      ::= { adGenEthernetDslamFlowRev2Entry 13}

   adGenEthernetDslamFlowRev2NetworkIngressIPProtocolID OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the IP Protocol ID that will be used to
         classify NetworkIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowRev2Entry 14}

 adGenEthernetDslamFlowRev2UpstreamForwardingMode OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify how ethernet frames on this flow are forwarded through the switch. This
         value is bitmasked so that forwarding modes can be combined.
         src (0x1) - Use the ethernet interface as the source for forwarding
         flow (0x2) - Use the parameters specified in the flow for forwarding decisions.
         mac (0x4) - The MAC will need to be added by some mechanism such as source address learning,
                         DHCPv4, PPPoE, etc."
      ::= { adGenEthernetDslamFlowRev2Entry 15}

   adGenEthernetDslamFlowRev2UpstreamSTagPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the PBit mapping mode in from the
         Customer to Network STag.
         Inherit - upstream STags should egress
            with the priority from the customer.
         Marked - upstream STags should always
            egress with the specified priority.
         Mapped - upstream STags should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowRev2Entry 16}

   adGenEthernetDslamFlowRev2UpstreamSTagPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is marked then this variable
         specifies the upstream STag pBit."
      ::= { adGenEthernetDslamFlowRev2Entry 17}

   adGenEthernetDslamFlowRev2UpstreamSTagPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is mapped then this variable
         specifies the ingress/egress STag priority mapping index."
      ::= { adGenEthernetDslamFlowRev2Entry 18}

   adGenEthernetDslamFlowRev2UpstreamCTagPbitMethod OBJECT-TYPE
      SYNTAX  INTEGER{
            inherit(1),
            marked(2),
            mapped(3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the CTag PBit mapping mode in from the
         Customer to Network.
         Inherit - upstream traffic should egress
            with the priority from the customer.
         Marked - upstream traffic should always
            egress with the specified priority.
         Mapped - upstream traffic should use an
            ingress/egress priority mapping."
      ::= { adGenEthernetDslamFlowRev2Entry 19}

   adGenEthernetDslamFlowRev2UpstreamCTagPbitMarking OBJECT-TYPE
      SYNTAX  INTEGER(0..7)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is marked then this variable
         specifies the upstream CTag pBit."
      ::= { adGenEthernetDslamFlowRev2Entry 20}

   adGenEthernetDslamFlowRev2UpstreamCTagPbitMapping OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "If the Customer Pbit mode is mapped then this variable
         specifies the ingress/egress CTag priority mapping index."
      ::= { adGenEthernetDslamFlowRev2Entry 21}


   adGenEthernetDslamFlowRev2CustomerIngressPbit OBJECT-TYPE
      SYNTAX  INTEGER(0..255)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This option is a bitmask used to specify a list of allowable P-bit values
         of the CEVlan ingressing from the customer. A value of
         255 indicates that this value is not used to classify customer ingress
         traffic."
      ::= { adGenEthernetDslamFlowRev2Entry 22}

   adGenEthernetDslamFlowRev2CustomerIngressEtherType OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the EtherType value that will be used to
         classify CustomerIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowRev2Entry 23}

   adGenEthernetDslamFlowRev2CustomerIngressDSCP OBJECT-TYPE
      SYNTAX  INTEGER(0..64)
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify a single DSCP value that will be used to classify
         CustomerIngress traffic. A value of 64 indicates this filter
         is disabled.  If multiple DSCP values should be specified,
         use adGenEthernetDslamFlowRev2CustomerIngressDSCPList instead"
      ::= { adGenEthernetDslamFlowRev2Entry 24}

   adGenEthernetDslamFlowRev2CustomerIngressIPProtocolID OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the IP Protocol ID that will be used to
         classify CustomerIngress traffic. A value of 0x0000
         indicates this filter is disabled."
      ::= { adGenEthernetDslamFlowRev2Entry 25}

   adGenEthernetDslamFlowRev2CustomerIngressBroadcast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress broadcasts on this map."
      ::= { adGenEthernetDslamFlowRev2Entry 26}

   adGenEthernetDslamFlowRev2CustomerIngressMulticast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress multicasts on this map."
      ::= { adGenEthernetDslamFlowRev2Entry 27}

   adGenEthernetDslamFlowRev2CustomerIngressUnicast OBJECT-TYPE
      SYNTAX  INTEGER{
            enabled (1),
            disabled (2),
            notApplicable (3)
            }
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This variable specifies whether or not to
         drop CustomerIngress unicasts on this map."
      ::= { adGenEthernetDslamFlowRev2Entry 28}

   adGenEthernetDslamFlowRev2CustomerIngressPolicer OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Indicate which policer to on customer ingress traffic. A value of 0 means no
        policer is used on customer ingress traffic.  A non-zero value represents
        a row from the adGenEthernetDslamFlowRev2ProfilesTable."
      ::= { adGenEthernetDslamFlowRev2Entry 29}

   adGenEthernetDslamFlowRev2EncapsMode OBJECT-TYPE
       SYNTAX INTEGER {
           ipoe (1),
           pppoe (2),
           pppoa (3),
           notApplicable (4),
           atmoe (5),
           pppoaVcMux(6),
           autoDetect(7),
           ethernet(8)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Encapsulation mode/type if applicable; 'notApplicable' otherwise. IPoE and PPPoE
           specify a particular protocol over ethernet. 'Ethernet' specifies that any protocol over
           ethernet is applicable including IP and PPP."
         ::= { adGenEthernetDslamFlowRev2Entry 30}

    adGenEthernetDslamFlowRev2ManualAddrAging OBJECT-TYPE
       SYNTAX  INTEGER (1..1440)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Manual Address Aging in minutes for unicast MACs."
         ::= { adGenEthernetDslamFlowRev2Entry 31}

   adGenEthernetDslamFlowRev2IntermedAgent OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Intermediate Agent if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowRev2Entry 32}

    adGenEthernetDslamFlowRev2DhcpRelay OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3),
           transparent (4),
           snoop (5)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv4 processing mode:

           Enabled(1)- Use DHCPv4 for subscriber authentication
           Disabled(2)- Discard DHCPv4
           Not Applicable(3)- Unused
           Transparent(4)- Ignore DHCPv4
           Snoop(5)- Process DHCPv4 without performing authentication"
         ::= { adGenEthernetDslamFlowRev2Entry 33}

    adGenEthernetDslamFlowRev2Option82Insert OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Option 82 Insertion if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowRev2Entry 34}

    adGenEthernetDslamFlowRev2LearnedIpAddrAgingMethod OBJECT-TYPE
       SYNTAX  INTEGER {
           lease (1),
           fixed (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Method for Learned IP Address Aging if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowRev2Entry 35}

    adGenEthernetDslamFlowRev2IgmpProcessing OBJECT-TYPE
       SYNTAX  INTEGER {
           block (1),
           forward (2),
           snooping (3),
           proxy (4),
           notApplicable (5),
           transparent (6),
           forking (7)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Method for IGMP Processing if applicable; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowRev2Entry 36}

    adGenEthernetDslamFlowRev2IgmpVersion OBJECT-TYPE
       SYNTAX  INTEGER {
           v1 (1),
           v2 (2),
           v3 (3),
           notApplicable (4)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "IGMP Version if applicable: v3 implies v1, v2, and v3;
           v2 implies v1 and v2; v1 is v1 only; 'notApplicable' otherwise."
         ::= { adGenEthernetDslamFlowRev2Entry 37}

    adGenEthernetDslamFlowRev2LastMemberQueryInterval OBJECT-TYPE
       SYNTAX  INTEGER (100..65535)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Last Member Query Interval in milliseconds.
         This is the amount of time between Queries.  Low
         value results in faster detection of missed leaves."
         ::= { adGenEthernetDslamFlowRev2Entry 38}

    adGenEthernetDslamFlowRev2LastMemberQueryCount OBJECT-TYPE
       SYNTAX  INTEGER (1..255)
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Last Member Query Count. This is the number of
         queries before declaring no membership of a group
         (channel)."
         ::= { adGenEthernetDslamFlowRev2Entry 39}

    adGenEthernetDslamFlowRev2ImmediateLeave OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Immediate Leave if applicable; 'notApplicable' otherwise.
         Disable is the equivalent of setting Last Member Query Count to 0."
         ::= { adGenEthernetDslamFlowRev2Entry 40}

    adGenEthernetDslamFlowRev2MaxAllowedMcastGroups OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Maximum Allowed Non-Guaranteed Multicast Groups. This value is only
            considered if multicast groups are enabled."
         ::= { adGenEthernetDslamFlowRev2Entry 41}

    adGenEthernetDslamFlowRev2DhcpPPPoERemoteId OBJECT-TYPE
       SYNTAX      INTEGER {
             enabled (1),
             disabled (2),
             notApplicable (3)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable Remote ID insertion into DHCPv4 Option 82 or
            DHCPv6 relay agent in option 37 or PPPoE Vendor Specific tag
            if applicable."
         ::= { adGenEthernetDslamFlowRev2Entry 42}

    adGenEthernetDslamFlowRev2DhcpPPPoELoopCharacteristics OBJECT-TYPE
       SYNTAX      INTEGER {
             enabled (1),
             disabled (2),
             notApplicable (3)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable loop characteristics insertion into DHCPv4 Option 82 or
            DHCPv6 relay agent option 17 (vendor specific) loop characteristics or
            PPPoE Vendor Specific tag if applicable."
         ::= { adGenEthernetDslamFlowRev2Entry 43}

    adGenEthernetDslamFlowRev2DhcpPPPoECircuitIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the circuit ID string. This
            string is returned by the PPPoE intermediate agent and
            DHCP relay agent in v4 sub option 1 or in v6 option 18.
            TR-101 states that the format of the circuit ID should be
            user defineable. The string may contain both fixed static
            string elements specified by the user and also variable and
            fixed length elements which are populated by the network element.
            Variable length elements are specified by enclosing the names of
            the variables with a dollar sign '$'. For instance, a user could
            specify a circuit id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName. If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:
                Variable Name                Character Length
                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1


            If a user defined circuit ID is not desired, this object can
            be set to simply 'default' and the default format described in
            TR-101 will be used:

            access-node-id atm slot/port:vpi.vci
            or
            access-node-id eth slot/port[:vlan-id]"
         ::= { adGenEthernetDslamFlowRev2Entry 44}

    adGenEthernetDslamFlowRev2PPPoASessionTimeout OBJECT-TYPE
       SYNTAX          Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to set the PPPoA Session timeout when the
            mapping is provisioned for PPPoA encapsulation."
         ::= { adGenEthernetDslamFlowRev2Entry 45}

    adGenEthernetDslamFlowRev2InterfaceIfIndex OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS read-create
       STATUS          current
       DESCRIPTION
           "Specifies the IfIndex of the Interface this mapping is tied to.
           If the value is 0 then this map is not applied to a Interface. This
           value must be nonzero before the flow can be activated."
         ::= { adGenEthernetDslamFlowRev2Entry 46}

    adGenEthernetDslamFlowRev2InterfaceLogicalIndex OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Specifies the logical indes within the ifIndex of the ethernet interface."
         ::= { adGenEthernetDslamFlowRev2Entry 47}

  adGenEthernetDslamFlowRev2LastErrorString OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS  current
      DESCRIPTION
        "Returns the reason for the last error."
      ::= { adGenEthernetDslamFlowRev2Entry 48}

    adGenEthernetDslamFlowRev2RowStatus OBJECT-TYPE
      SYNTAX  RowStatus
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "This object is used to create
         a new row or modify or delete an
         existing map in this table. A row cannot be set to active
         until the ethernet interface ifIndex is set."
      ::= { adGenEthernetDslamFlowRev2Entry 49}

    adGenEthernetDslamFlowRev2NetworkIngressPolicer OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Indicate which policer to on network ingress traffic. A value of 0 means no
        policer is used on network ingress traffic.  A non-zero value represents
        a row from the adGenEthernetDslamFlowRev2ProfilesTable."
      ::= { adGenEthernetDslamFlowRev2Entry 50}

    adGenEthernetDslamFlowRev2UpstreamDiscard OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Indicate that any packets matching the upstream criteria will be discarded."
         ::= { adGenEthernetDslamFlowRev2Entry 51}

    adGenEthernetDslamFlowRev2MaxAllowedMulticastBandwidth OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
        "Specify the maximum downstream bandwidth(kbps) available for this flow.
        This value is only considered if multicast bandwidth is enabled."
      ::= { adGenEthernetDslamFlowRev2Entry 53}

    adGenEthernetDslamFlowRev2MaxAllowedMulticastBandwidthEnable OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "When enabled joins for multicast streams by the subscriber are checked to make
           sure that the maximum multicast bandwidth will not be exceeded by the join."
         ::= { adGenEthernetDslamFlowRev2Entry 54}

   adGenEthernetDslamFlowRev2ProfileName OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (1..32))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is provided so that the user can describe a particular flow by any
            means desired.  This is not related to  policers in the adGenEthernetDslamFlowRev2ProfilesTable."
         ::= { adGenEthernetDslamFlowRev2Entry 55}

    adGenEthernetDslamFlowRev2MaxAllowedMcastGroupsEnable OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "When enabled joins for multicast streams by the subscriber are checked to make
           sure that the maximum number of non-guarenteed multicast groups will not be
           exceeded by the join."
         ::= { adGenEthernetDslamFlowRev2Entry 56}

   adGenEthernetDslamFlowRev2NetworkIngressDSCPList OBJECT-TYPE
       SYNTAX          DisplayString
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is a string used to specify the DSCP values that will
            be used to classify NetworkIngress traffic.  The DSCP values can
            be specified using both list and range notation.  For example,
            to specify DSCP values 27, 32, and 49 through 63, use the
            following string:
            '27,32,49-63'.
            If this OID is used, adGenEthernetDslamFlowRev2NetworkIngressDSCP
            should not be used."
         ::= { adGenEthernetDslamFlowRev2Entry 57}

   adGenEthernetDslamFlowRev2CustomerIngressDSCPList OBJECT-TYPE
       SYNTAX          DisplayString
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This object is a string used to specify the DSCP values that will
            be used to classify CustomerIngress traffic.  The DSCP values can
            be specified using both list and range notation.  For example,
            to specify DSCP values 27, 32, and 49 through 63, use the
            following string:
            '27,32,49-63'.
            If this OID is used, adGenEthernetDslamFlowRev2CustomerIngressDSCP
            should not be used."
         ::= { adGenEthernetDslamFlowRev2Entry 58}

   adGenEthernetDslamFlowRev2IgmpRouterIP OBJECT-TYPE
       SYNTAX          IpAddress
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "The source IP address that the DSLAM places in IGMP messages destined
           for the subscriber. This value only applies when IGMP is in proxy mode."
         ::= { adGenEthernetDslamFlowRev2Entry 59 }

    adGenEthernetDslamFlowRev2ActivationStatus OBJECT-TYPE
       SYNTAX      INTEGER {
           notActivated (1),
           inProgress (2),
           active (3),
           error (4)
           }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
           "Provides an indication of whether the flow is actually activated.
            If adGenEthernetDslamFlowRev2RowStatus is not active, this object will
            return notActivated.  When rowStatus is successfully set to active,
            the flow begins attempting to activate.  If the module must acquire
            system information relating to the flow (such as provisioned VLANs,
            interfaces, etc.), this object will return inProgress.  If the
            module detects a provisioning conflict, it will return error.
            adGenEthernetDslamFlowRev2LastErrorString can be used to identify
            the source of any problems.  When the flow has activated
            successfully, this object will return active."
         ::= { adGenEthernetDslamFlowRev2Entry 60}


  adGenEthernetDslamFlowRev2ARPProcessing OBJECT-TYPE
       SYNTAX      INTEGER {
         	block (1),
	       proxy (2),
	       transparent (3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the ARP processing mode."
         ::= { adGenEthernetDslamFlowRev2Entry 61}

 adGenEthernetDslamFlowRev2PPPoEProcessing OBJECT-TYPE
       SYNTAX  INTEGER {
           enabled (1),
           disabled (2),
           notApplicable (3),
           transparent (4)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the PPPoE processing mode."
         ::= { adGenEthernetDslamFlowRev2Entry 62}


 adGenEthernetDslamFlowRev2SubscriberIpRowCreateError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS  current
       DESCRIPTION
           "Returns the reason for the last row create error
            on Subscriber Access Static IP Table."
       ::= { adGenEthernetDslamFlowRev2Entry 63}

    adGenEthernetDslamFlowRev2DhcpPPPoEVendorNumber OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the IANA Enterprise Number.
            This Number is returned by the PPPoE intermediate agent and
            DHCPv4 relay agent in sub option 9."
         ::= { adGenEthernetDslamFlowRev2Entry 64}



    adGenEthernetDslamFlowRev2DhcpPPPoEVendorIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the vendor ID string. This
            string is returned by the PPPoE intermediate agent and
            DHCPv4 relay agent in sub option 9. TR-101 states that the
            format of the vendor ID should be user defineable. The string
            may contain both fixed static string elements specified by the
            user and also variable and fixed length elements which are
            populated by the network element. Variable length elements
            are specified by enclosing the names of the variables with a
            dollar sign '$'. For instance, a user could specify
            a vendor id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName. If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:
                Variable Name                Character Length
                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1


            If a user defined vendor ID is not desired, this object can
            be set to simply 'default' and the default format described in
            TR-101 will be used:

            access-node-id atm slot/port:vpi.vci
            or
            access-node-id eth slot/port[:vlan-id]"
         ::= { adGenEthernetDslamFlowRev2Entry 65}

 adGenEthernetDslamFlowRev2EvcName OBJECT-TYPE
       SYNTAX DisplayString  (SIZE (1..50))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the name of the EVC that this flow is connected to.
            When this object is set, other objects that relate to
            EVC parameters (e.g. network S-tag, MAC switching, etc.)
            will be changed to match the named EVC parameters."
         ::= { adGenEthernetDslamFlowRev2Entry 66}

 adGenEthernetDslamFlowRev2EvcRoot OBJECT-TYPE
       SYNTAX      INTEGER {
             false (0),
             true (1)
             }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Indicates whether the mapped interface is connected to the
            EVC as a root or a leaf.  Root interfaces may forward to
            leaves and other roots; leaf interfaces may only forard to
            roots.  When enabled, the mapped interface is a root of the EVC."
         ::= { adGenEthernetDslamFlowRev2Entry 67}

	adGenEthernetDslamFlowRev2Dhcpv6Mode OBJECT-TYPE
       SYNTAX  INTEGER {
           authenticate (1),
           block (2),
           transparent (3),
           snoop (4),
           sameAsDhcpv4(5)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv6 processing mode:

           Authenticate(1)- Use DHCPv6 for subscriber authentication
           Block(2)- Discard DHCPv6
           Transparent(3)- Ignore DHCPv6
           Snoop(4)- Process DHCPv6 without performing authentication
           SameAsDhcpV4(5)- Use same mode on DHCPv6 as what is provisioned on DHCPv4"
         ::= { adGenEthernetDslamFlowRev2Entry 68}


	adGenEthernetDslamFlowRev2Dhcpv6RelayAgent OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2),
           sameAsDhcpv4(3)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Set the DHCPv6 Relay Agent Mode:
           enabled(1) - enable the relay agent
           disabled(2) - disable the relay agent
           sameAsDhcpv4(3) - use the same mode on DHCPv6 Relay Agent as what is provisioned on adGenEthernetDslamFlowOption82Insert"
         ::= { adGenEthernetDslamFlowRev2Entry 69}

    adGenEthernetDslamFlowRev2Dhcpv6RelayAgentTrusted OBJECT-TYPE
       SYNTAX INTEGER {
           enabled (1),
           disabled (2)
           }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable DHCPv6 relay agent trusted mode."
         ::= { adGenEthernetDslamFlowRev2Entry 70}

	 adGenEthernetDslamFlowRev2DhcpPPPoERemoteIdFormat OBJECT-TYPE
       SYNTAX          DisplayString (SIZE (0..63))
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Used to provision the format of the remote ID string. This
            string is returned by the DHCPv4 relay agent in option 82
            or DHCPv6 relay agent in option 37 or in PPPoE Vendor Specific tag.
            TR-101 states that the format of the remote ID
            should be user defineable. The string may contain both fixed
            static string elements specified by the user and also variable
            and fixed length elements which are populated by the network
            element. Variable length elements are specified by enclosing
            the names of the variables with a dollar sign '$'. For instance,
            a user could specify a circuit id string as follows:
            'TA1148-$accessnodeid$ Port: $port$ $vpi$/$vci$'

            which would expand to
            'TA1148-TID Port: 1 0/35'.

            In this implementation, the access-node-id is equivalent to the
            system's provisioned TID or SNMP sysName and map is equivalent
            to the ethernet flow name . If this string is
            provisioned zero-length, then the default format is used.
            The total length of the expanded string MUST NOT exceed
            63 characters.

            Variables include (but are not limited to) the following:

                Variable Name                Character Length

                accessnodeid                Varies
                chassis-id                  Varies
                shelf                       2
                slot                        3
                port                        3
                vpi                         4
                vci                         5
                q-vid                       4
                pbits                       1
                map                         varies

            If a user defined remote ID is not desired, this object can
            be set to simply 'default'."

         ::= { adGenEthernetDslamFlowRev2Entry 71}

    adGenEthernetDslamFlowRev2DownstreamQosMapProfile OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (1..80))
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
           "The attached QoS Map Profile from the adGenQosMapProfileProvisioningTable
           used to classify downstream traffic into egress queues.  An empty string
           signifies that the default system cos-map will be used instead of a
           custom profile.  A flow will not go running if it is attached to a profile
           that does not exist."
         ::= { adGenEthernetDslamFlowRev2Entry 72}

     adGenEthernetDslamFlowRev2Dhcpv6CurrMode OBJECT-TYPE
       SYNTAX  INTEGER {
           authenticate (1),
           block (2),
           transparent (3),
           snoop (4)
           }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
           "View the current DHCPv6 processing mode:

           Authenticate(1)- Use DHCPv6 for subscriber authentication
           Block(2)- Discard DHCPv6
           Transparent(3)- Ignore DHCPv6
           Snoop(4)- Process DHCPv6 without performing authentication"
         ::= { adGenEthernetDslamFlowRev2Entry 73}

     adGenEthernetDslamFlowRev2MatchSourceMacList OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Contains a list of source MAC addresses and mask on which to match
            in the following format:

            Byte number(s)	Description
            1               Number of match source MAC address entries (N, 0 to M,
                            where M = contents of adGenEthernetFlowMatchSourceMacMaxAddresses OID)
            2 thru 7        Match source MAC address 1
            8               Match source MAC address mask 1 number of bits (1 to 48)
            9 thru 14       Match source MAC address 2
            15              Match source MAC address mask 2 number of bits (1 to 48)
            ...             ...
            7*N-5 thru 7*N  Match source MAC address N
            7*N+1           Match source MAC address mask N number of bits (1 to 48)"
         ::= { adGenEthernetDslamFlowRev2Entry 74 }

     adGenEthernetDslamFlowRev2MatchSourceMacLastErrorString OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS  current
      DESCRIPTION
        "Returns the reason for the last error when setting adGenEthernetDslamFlowMatchSourceMacList or
         adGenEthernetDslamFlowRev2MatchSourceLastErrorString."
      ::= { adGenEthernetDslamFlowRev2Entry 75 }

	 adGenEthernetDslamFlowRev2MatchNonIp OBJECT-TYPE
      SYNTAX  TruthValue
      MAX-ACCESS  read-create
      STATUS  current
      DESCRIPTION
         "Enables/disables matching non-IP customer ingress traffic.
          True - enables match non-IP.
          False - disables match non-IP."
      DEFVAL { false }
      ::= { adGenEthernetDslamFlowRev2Entry 76 }

-- ********************************************
-- Name/Flow Index Lookup table
-- ********************************************
   adGenEthernetDslamFlowRev2NameLookupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenEthernetDslamFlowRev2NameLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "This read-only table allows a lookup from the flow's name and the
         flow's index."
      ::= { adGenEthernetDslamFlow 12}

   adGenEthernetDslamFlowRev2NameLookupEntry OBJECT-TYPE
      SYNTAX  AdGenEthernetDslamFlowRev2NameLookupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Profile provisioning table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenEthernetDslamFlowRev2NameLookupName }
      ::= { adGenEthernetDslamFlowRev2NameLookupTable 1 }

   AdGenEthernetDslamFlowRev2NameLookupEntry ::=
      SEQUENCE {
         adGenEthernetDslamFlowRev2NameLookupName                DisplayString,
         adGenEthernetDslamFlowRev2NameLookupIndex               Integer32
      }

      adGenEthernetDslamFlowRev2NameLookupName OBJECT-TYPE
       	 SYNTAX  DisplayString (SIZE (1..32))
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "Specifies the name of the flow."
         ::= { adGenEthernetDslamFlowRev2NameLookupEntry 1}

      adGenEthernetDslamFlowRev2NameLookupIndex OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Specifies the index of the flow given the name."
         ::= { adGenEthernetDslamFlowRev2NameLookupEntry 2}



-- ********************************************
-- Ethernet Dslam Flow Index Next Table
-- ********************************************
adGenEthernetDslamFlowRev2IndexNextTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowRev2IndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table is a read only table that has one row per slot. It returns the
     next available ethernet dslam flow index to be uses as the index for the
     EthernetDslamFlow table."
   ::= { adGenEthernetDslamFlow 13 }

adGenEthernetDslamFlowRev2IndexNextEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowRev2IndexNextEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowRev2IndexNextTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowRev2IndexNextTable 1 }


AdGenEthernetDslamFlowRev2IndexNextEntry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowRev2IndexNext                                Integer32
   }

   adGenEthernetDslamFlowRev2IndexNext OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable returns the next available Ethernet Flow Index."
         ::= { adGenEthernetDslamFlowRev2IndexNextEntry 1}

-- ********************************************
-- Ethernet Dslam Flow Queue Table
-- ********************************************
adGenEthernetDslamFlowQueueTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowQueueTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table is a read only table that has one row per slot. It returns the
     queue information for a slot."
   ::= { adGenEthernetDslamFlow 14 }

adGenEthernetDslamFlowQueueTableEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowQueueTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowQueueTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowQueueTable 1 }


AdGenEthernetDslamFlowQueueTableEntry ::=
   SEQUENCE
   {
        adGenEthernetDslamFlowHonorsSystemPbitCosMap                               TruthValue,
        adGenEthernetDslamFlowShaperQueuePriorityOrder                             INTEGER
   }

   adGenEthernetDslamFlowHonorsSystemPbitCosMap OBJECT-TYPE
         SYNTAX  TruthValue
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Indicates whether a slot is currently honoring the system's P-bit to CoS mapping."
         ::= { adGenEthernetDslamFlowQueueTableEntry 1 }

   adGenEthernetDslamFlowShaperQueuePriorityOrder OBJECT-TYPE
         SYNTAX INTEGER {
                    rightMostHighest(1),
                    leftMostHighest(2)
                }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Indicates for SNMP whether adGenEthernetDslamFlowShaperPrioritySet
             is represented with the left-most bit representing the highest priority queue
             or the right-most bit representing the highest priority queue.
             Example:  rightMostHighest for shaping on the lowest priority queue would be 0x80
                       leftMostHighest for shaping on the lowest priority queue would be 0x01 "
         ::= { adGenEthernetDslamFlowQueueTableEntry 2 }


-- ********************************************
-- Ethernet Dslam Flow Event Table
-- ********************************************
adGenEthernetDslamFlowAlarmsPrefix            OBJECT IDENTIFIER ::= {adGenEthernetDslamFlow 15}
adGenEthernetDslamFlowAlarms                  OBJECT IDENTIFIER ::= {adGenEthernetDslamFlowAlarmsPrefix 0}

-- ******************************************************************************************
-- Alarms
-- ******************************************************************************************
adGenEthernetDslamFlowDuplicateMacDetectedClr   NOTIFICATION-TYPE
	OBJECTS {
        adTrapInformSeqNum,
        sysName,
        adGenSlotInfoIndex,
        adGenPortInfoIndex,
        adTAeSCUTrapAlarmLevel,
        adGenMiniDslam3gMacAddress
	}

    STATUS          current
    DESCRIPTION     "Duplicate MAC address detected on the interface - Cleared."
    --#TYPE         "Status - Alarm"
    --#SUMMARY      "Duplicate MAC address was detected on the interface. - Cleared"
    --#SUMMARY      "cleared at shelf: %s, slot: %d, port: %d"
    --#ARGUMENTS    {2,3,4}
    --#SEVERITY     "WARNING"
    --#GENERIC      6
    --#CATEGORY     "Alarm Events"
    --#SOURCE_ID    "A"
    --#TIMEINDEX    0
    ::= {adGenEthernetDslamFlowAlarms 1}

adGenEthernetDslamFlowDuplicateMacDetectedAct   NOTIFICATION-TYPE
   	OBJECTS {
        adTrapInformSeqNum,
        sysName,
        adGenSlotInfoIndex,
        adGenPortInfoIndex,
        adTAeSCUTrapAlarmLevel,
        adGenMiniDslam3gMacAddress
	}
    STATUS          current
    DESCRIPTION     "Duplicate MAC address detected on the interface - Active."
    --#TYPE         "Status - Alarm"
    --#SUMMARY      "Duplicate MAC address was detected on the interface. - Active"
    --#SUMMARY      "detected at shelf: %s, slot: %d, port: %d"
    --#ARGUMENTS    {2,3,4}
    --#SEVERITY     "WARNING"
    --#GENERIC      6
    --#CATEGORY     "Alarm Events"
    --#SOURCE_ID    "A"
    --#TIMEINDEX    0
    ::= {adGenEthernetDslamFlowAlarms 2}

adGenEthernetDslamFlowMacAllocationAlarmClr   NOTIFICATION-TYPE
        OBJECTS {
        adTrapInformSeqNum,
        sysName,
        adGenSlotInfoIndex,
        adTAeSCUTrapAlarmLevel
        }

    STATUS          current
    DESCRIPTION     "Maximum MACs per Slot Allocated  - Cleared."
    --#TYPE         "Status - Alarm"
    --#SUMMARY      "Maximum MACs per Slot Allocated. - Cleared"
    --#SUMMARY      "cleared at shelf: %s, slot: %d"
    --#ARGUMENTS    {2,3}
    --#SEVERITY     "INFORMATIONAL"
    --#GENERIC      6
    --#CATEGORY     "Alarm Events"
    --#SOURCE_ID    "A"
    --#TIMEINDEX    0
    ::= {adGenEthernetDslamFlowAlarms 3}

adGenEthernetDslamFlowMacAllocationAlarmAct   NOTIFICATION-TYPE
        OBJECTS {
        adTrapInformSeqNum,
        sysName,
        adGenSlotInfoIndex,
        adTAeSCUTrapAlarmLevel
        }
    STATUS          current
    DESCRIPTION     "Maximum MACs per Slot Allocated - Active."
    --#TYPE         "Status - Alarm"
    --#SUMMARY      "Maximum MACs per Slot Allocated. - Active"
    --#SUMMARY      "detected at shelf: %s, slot: %d"
    --#ARGUMENTS    {2,3}
    --#SEVERITY     "INFORMATIONAL"
    --#GENERIC      6
    --#CATEGORY     "Alarm Events"
    --#SOURCE_ID    "A"
    --#TIMEINDEX    0
    ::= {adGenEthernetDslamFlowAlarms 4}

-- ********************************************
-- Ethernet Dslam Flow Scalar Table
-- ********************************************
adGenEthernetDslamFlowScalarTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowScalarTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table is a read only table that has one row per slot. It returns the
     scalar information for a slot."
   ::= { adGenEthernetDslamFlow 16 }

adGenEthernetDslamFlowScalarTableEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowScalarTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenEthernetDslamFlowScalarTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowScalarTable 1 }


AdGenEthernetDslamFlowScalarTableEntry ::=
   SEQUENCE
   {
        adGenEthernetFlowMatchSourceMacMaxAddresses                   Integer32
   }

   adGenEthernetFlowMatchSourceMacMaxAddresses OBJECT-TYPE
         SYNTAX  Integer32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "Indicates the maximum number of match source MAC addresses allowed."
         ::= { adGenEthernetDslamFlowScalarTableEntry 1 }

-- ********************************************
-- Ethernet Dslam Flow Logging Table
-- ******************************************** 
adGenEthernetDslamFlowLoggingTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowLoggingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table is for enabling/disabling DHCP and PPPoE debug from event log and has one row per slot."
   ::= { adGenEthernetDslamFlow 17 }

adGenEthernetDslamFlowLoggingEntry OBJECT-TYPE
   SYNTAX      AdGenEthernetDslamFlowLoggingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "An entry in the adGenEthernetDslamFlowLoggingTable."
   INDEX { adGenSlotInfoIndex }
   ::= { adGenEthernetDslamFlowLoggingTable 1 }

AdGenEthernetDslamFlowLoggingEntry ::=
   SEQUENCE
   {
      adGenEthernetDslamFlowDhcpPppoeEventDebug                   INTEGER
   }

   adGenEthernetDslamFlowDhcpPppoeEventDebug OBJECT-TYPE
     SYNTAX INTEGER {
         enabled (1),
         disabled (2)
         }
      ACCESS read-create
      STATUS current
      DESCRIPTION
         "Enables/disables extraneous DHCP and PPPoE debug from event log.
           1 = Enabled
           2 = Disabled "
      DEFVAL  { disabled }
      ::= { adGenEthernetDslamFlowLoggingEntry 1 } 

-- ********************************************
-- Filter Table
-- ********************************************
--    adGenEthernetFilterTable OBJECT-TYPE
--       SYNTAX      SEQUENCE OF AdGenEthernetFilterEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "This table consists of filters that can be placed on a Interface
--          to allow or reject traffic based upon destination or source
--          MAC address."
--       ::= { adGenEthernetDslamFlow 4 }
--
--    adGenEthernetFilterEntry OBJECT-TYPE
--       SYNTAX      AdGenEthernetFilterEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "An entry in the adGenEthernetFilterTable."
--       INDEX { adGenEthernetFilterListIndex, adGenEthernetFilterIndex }
--       ::= { adGenEthernetFilterTable 1 }
--
--
--    AdGenEthernetFilterEntry ::=
--       SEQUENCE
--       {
--            adGenEthernetFilterListIndex
--                INTEGER,
--            adGenEthernetFilterIndex
--                INTEGER,
--             adGenEthernetFilterRowStatus
--                RowStatus,
--            adGenEthernetFilterType
--                INTEGER,
--            adGenEthernetFilterMACAddress
--                OCTET STRING,
--            adGenEthernetFilterLastErrorString
--                DisplayString
--       }
--
--       adGenEthernetFilterListIndex OBJECT-TYPE
--          SYNTAX  INTEGER
--          MAX-ACCESS  read-only
--          STATUS  current
--          DESCRIPTION
--             "Index for a list of filters that are grouped together."
--          ::= { adGenEthernetFilterEntry 1}
--
--       adGenEthernetFilterIndex OBJECT-TYPE
--          SYNTAX  INTEGER
--          MAX-ACCESS  read-only
--          STATUS  current
--          DESCRIPTION
--             "Index within a filter list that specifies an individual
--              filter."
--          ::= { adGenEthernetFilterEntry 2}
--
--       adGenEthernetFilterRowStatus OBJECT-TYPE
--          SYNTAX  RowStatus
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--            "This object is used to create
--             a new row or modify or delete an
--             existing filter in this table."
--          ::= { adGenEthernetFilterEntry 3}
--
--       adGenEthernetFilterType OBJECT-TYPE
--          SYNTAX  INTEGER{
--                   allowSourceAddress(1),
--                   denySourceAddress(2),
--                   allowDestinationAddress(3),
--                   denyDestinationAddress(4) }
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the type of MAC filter."
--          ::= { adGenEthernetFilterEntry 4}
--
--       adGenEthernetFilterMACAddress OBJECT-TYPE
--          SYNTAX  OCTET STRING
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--            "This object indicates the MAC address used
--             by this filter."
--          ::= { adGenEthernetFilterEntry 5}
--
--       adGenEthernetFilterLastErrorString OBJECT-TYPE
--          SYNTAX DisplayString
--          MAX-ACCESS read-only
--          STATUS  current
--          DESCRIPTION
--            "Returns the reason for the last error."
--          ::= { adGenEthernetFilterEntry 6}
--
--    ********************************************
--    Ingress/Egress Priority Mapping Table
--    ********************************************
--    adGenEthernetDslamFlowIngressEgressPriorityTable OBJECT-TYPE
--       SYNTAX      SEQUENCE OF AdGenEthernetDslamFlowIngressEgressPriorityEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "Each row in this table specifies the customer ingress
--          p-Bit map to the egress p-Bit."
--       ::= { adGenEthernetDslamFlow 5 }
--
--    AdGenEthernetDslamFlowIngressEgressPriorityEntry OBJECT-TYPE
--       SYNTAX      AdGenEthernetDslamFlowIngressEgressPriorityEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "An entry in the adGenEthernetDslamFlowIngressEgressPriorityTable."
--       INDEX { adGenEthernetDslamFlowIngressEgressPriorityMapIndex }
--       ::= { adGenEthernetDslamFlowIngressEgressPriorityTable 1 }
--
--
--    AdGenEthernetDslamFlowIngressEgressPriorityEntry ::=
--       SEQUENCE
--       {
--          adGenEthernetDslamFlowIngressEgressPriorityMapIndex
--             INTEGER,
--          adGenEthernetDslamFlowIngressEgressPriorityMapRowStatus
--             RowStatus,
--          adGenEthernetDslamFlowIngressPBit0
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit1
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit2
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit3
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit4
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit5
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit6
--             INTEGER,
--          adGenEthernetDslamFlowIngressPBit7
--             INTEGER,
--          adGenEthernetDslamFlowIngressEgressPriorityLastErrorString
--             DisplayString
--       }
--
--       adGenEthernetDslamFlowIngressEgressPriorityMapIndex OBJECT-TYPE
--          SYNTAX  INTEGER
--          MAX-ACCESS  read-only
--          STATUS  current
--          DESCRIPTION
--             "Index for a list of filters that are grouped together."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 1}
--
--       adGenEthernetDslamFlowIngressEgressPriorityMapRowStatus OBJECT-TYPE
--          SYNTAX  RowStatus
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--            "This object is used to create
--             a new row or modify or delete an
--             existing ingress/egress priority mapping."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 2}
--
--       adGenEthernetDslamFlowIngressPBit0 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 0 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 3}
--
--       adGenEthernetDslamFlowIngressPBit1 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 1 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 4}
--
--       adGenEthernetDslamFlowIngressPBit2 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 2 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 5}
--
--       adGenEthernetDslamFlowIngressPBit3 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 3 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 6}
--
--       adGenEthernetDslamFlowIngressPBit4 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 4 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 7}
--
--       adGenEthernetDslamFlowIngressPBit5 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 5 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 8}
--
--       adGenEthernetDslamFlowIngressPBit6 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 6 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 9}
--
--       adGenEthernetDslamFlowIngressPBit7 OBJECT-TYPE
--          SYNTAX  INTEGER (0..7)
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specify the egress pBit value that ingress
--              traffic on pBit 7 should use."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 10}
--
--       adGenEthernetDslamFlowIngressEgressPriorityLastErrorString OBJECT-TYPE
--          SYNTAX DisplayString
--          MAX-ACCESS read-only
--          STATUS  current
--          DESCRIPTION
--            "Returns the reason for the last error."
--          ::= { adGenEthernetDslamFlowIngressEgressPriorityEntry 11}
--
--
--
--    ********************************************
--    MAC Table
--    ********************************************
--    adGenEthernetVlanMACTable OBJECT-TYPE
--       SYNTAX      SEQUENCE OF AdGenTR101MACTableEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "This table displays the MAC addresses added through the
--         Mapping table."
--       ::= { adGenEthernetDslamFlow 7 }
--
--    adGenEthernetVlanMACTableEntry OBJECT-TYPE
--       SYNTAX      AdGenTR101MACTableEntry
--       MAX-ACCESS  not-accessible
--       STATUS      current
--       DESCRIPTION
--         "An entry in the adGenEthernetVlanMACTableTable."
--       INDEX { adGenEthernetVlanMACVid, adGenEthernetVlanMACTableAddress }
--       ::= { adGenEthernetVlanMACTableTable 1 }
--
--    AdGenTR101MACTableEntry ::=
--       SEQUENCE
--       {
--            adGenEthernetVlanMACVid,
--                INTEGER,
--            adGenEthernetVlanMACTableEntryAddress
--                OCTET STRING,
--            adGenEthernetVlanMACTableEntryType
--                INTEGER,
--            adGenEthernetVlanMACTableEntryMaps
--                DisplayString,
--            adGenEthernetVlanMACTableDirection
--                INTEGER
--       }
--
--       adGenEthernetVlanMACVid OBJECT-TYPE
--           SYNTAX  INTEGER
--           MAX-ACCESS  read-create
--           STATUS  current
--           DESCRIPTION
--             "VLAN ID associated with this MAC address. A value of 4095 indicates
--             that there is no VLAN associated with this MAC."
--           ::= { adGenEthernetVlanMACTableEntry 1}
--
--       adGenEthernetVlanMACTableEntryAddress OBJECT-TYPE
--          SYNTAX  OCTET STRING
--          MAX-ACCESS  not-accessible
--          STATUS  current
--          DESCRIPTION
--            "This object indicates the MAC address used
--             by this row."
--          ::= { adGenEthernetVlanMACTableEntry 2}
--
--        adGenEthernetVlanMACTableEntryType OBJECT-TYPE
--           SYNTAX  INTEGER{
--                   unicast(1),
--                   multicast(2),
--                   broadcast(3)}
--           MAX-ACCESS  read-create
--           STATUS  current
--           DESCRIPTION
--             "This object specifies if the current MAC address should be treated
--              as unicast, multicast, or broadcast."
--           ::= { adGenEthernetVlanMACTableEntry 3}
--
--       adGenEthernetVlanMACTableEntryMaps OBJECT-TYPE
--          SYNTAX DisplayString
--          MAX-ACCESS read-only
--          STATUS  current
--          DESCRIPTION
--            "Displays the list of map indices that us this MAC address."
--          ::= { adGenEthernetVlanMACTableEntry 4}
--
--       adGenEthernetVlanMACTableDirection OBJECT-TYPE
--          SYNTAX  INTEGER{
--                      upstream(1),
--                      downstream(2),
--                      bidirectional(3)}
--          MAX-ACCESS  read-create
--          STATUS  current
--          DESCRIPTION
--             "Specifies if the address applies in upstream, downstream, or both directions."
--          ::= { adGenEthernetVlanMACTableEntry 5}

-- ******************************************************************************************

END
