PROM-LAYER3-MIB DEFINITIONS ::= BEGIN

IMPORTS
   OBJECT-TYPE
      FROM RFC-1212
   Counter
      FROM RFC1155-SMI
   promSwitching, MacAddress 
      FROM PROMINET-MIB;


-- Layer 3 switching group to be added to cajun/mib/prominet.mib

-- SWITCHING

-- promSwitching OBJECT IDENTIFIER ::= { prominet 5 }

-- Begin L3 group

-- LAYER III SWITCHING

   promSwitchingLayerIII OBJECT IDENTIFIER ::= { promSwitching 6 }

   promL3AddrFwdMgmt OBJECT IDENTIFIER ::= { promSwitchingLayerIII 1 }

-- Some types

   IPIPXNetNumber ::= OCTET STRING (SIZE(4))

   PromL3AddrFwdTblType ::= 
      INTEGER {
         ipunicast(1),
         ipmulticast(2),
         ipx(3)
      }

-- Address Forwarding Database

   promL3AddrFwdDataBaseMgmt OBJECT IDENTIFIER ::= { promL3AddrFwdMgmt 1 }

   -- The IP Unicast table attributes

   promL3AddrFwdIPUnicastStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipunicastEnabled(1),
                 ipunicastDisabled(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The operational state for the IP unicast forwarding table.
                 ipunicastEnabled(1)  - Table forwarding is enabled.
                 ipunicastDisabled(2) - Table forwarding is disabled."
      ::= { promL3AddrFwdDataBaseMgmt 1 }

   promL3AddrFwdIPUnicastMode OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipunicastDA(1),
                 ipunicastSADA(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The table hash lookup mode for the IP unicast forwarding 
              table.
                 ipunicastDA(1)    - Hash into table using protocol destination address
                                     only.
                 ipunicastSADA(2)  - Hash into table using protocol destination and
                                     source address only."
     DEFVAL {1}
      ::= { promL3AddrFwdDataBaseMgmt 2 }

   promL3AddrFwdIPUnicastHash OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipunicast8bit(1),
                 ipunicast10bit(2),
                 ipunicast12bit(3)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The hashing lookup key size for the IP unicast forwarding table.
                 ipunicast8bit(1)   - 8 bit hash key.
                 ipunicast10bit(2)  - 10 bit hash key.
                 ipunicast12bit(3)  - 12 bit hash key."
      DEFVAL {3}
      ::= { promL3AddrFwdDataBaseMgmt 3 }

   promL3AddrFwdIPUnicastAgeStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipunicastAgeEnabled(1),
                 ipunicastAgeDisabled(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IP unicast forwarding table entry aging status.
                 ipunicastAgeEnabled(1)   - Table aging is enabled.
                 ipunicastAgeDisabled(2)  - Table aging is disabled."
      DEFVAL {1}
      ::= { promL3AddrFwdDataBaseMgmt 4 }

   promL3AddrFwdIPUnicastAgePeriod OBJECT-TYPE
      SYNTAX  INTEGER (20..360)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IP unicast forwarding table entry aging period in seconds."
      DEFVAL {120}
      ::= { promL3AddrFwdDataBaseMgmt 5 }

   promL3AddrFwdIPUnicastMaxEntries OBJECT-TYPE
      SYNTAX  INTEGER (1..99999)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The maximum cache entries for IP unicast (Cajun1 1 - 43007, Cajun2 1 - 82174)."
      DEFVAL {15000}
      ::= { promL3AddrFwdDataBaseMgmt 6 }


   promL3AddrFwdIPUnicastActiveEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries in the IP unicast forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 7 }

   promL3AddrFwdIPUnicastAddedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been added to the IP unicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 8 }

   promL3AddrFwdIPUnicastRemovedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been removed from the IP unicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 9 }

   promL3AddrFwdIPUnicastAgedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have aged away in the IP unicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 10 }

   -- The IP Multicast table attributes

   promL3AddrFwdIPMulticastStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipmulticastEnabled(1),
                 ipmulticastDisabled(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The operational state for the IP multicast forwarding table.
                 ipmulticastEnabled(1)   - Table forwarding is enabled.
                 ipmulticastDisabled(2)  - Table forwarding is disabled."
      ::= { promL3AddrFwdDataBaseMgmt 11 }

   promL3AddrFwdIPMulticastMode OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipmulticastDA(1),
                 ipmulticastSADA(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The table hash lookup mode for the IP multicast forwarding 
              table.
                 ipmulticastDA(1)   - Hash into table using protocol destination address
                                      only.
                 ipmulticastSADA(2) - Hash into table using protocol destination and
                                      source address only."
      DEFVAL {2}
      ::= { promL3AddrFwdDataBaseMgmt 12 }

   promL3AddrFwdIPMulticastHash OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipmulticast8bit(1),
                 ipmulticast10bit(2),
                 ipmulticast12bit(3)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The hashing lookup key size for the IP multicast forwarding table.
                 ipmulticast8bit(1)   - 8 bit hash key.
                 ipmulticast10bit(2)  - 10 bit hash key.
                 ipmulticast12bit(3)  - 12 bit hash key."
      DEFVAL {3}
      ::= { promL3AddrFwdDataBaseMgmt 13 }

   promL3AddrFwdIPMulticastAgeStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipmulticastAgeEnabled(1),
                 ipmulticastAgeDisabled(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IP multicast forwarding table entry aging status.
                 ipmulticastAgeEnabled(1)   - Table aging enabled.
                 ipmulticastAgeDisabled(2)  - Table aging disabled."
      DEFVAL {1}
      ::= { promL3AddrFwdDataBaseMgmt 14 }

   promL3AddrFwdIPMulticastAgePeriod OBJECT-TYPE
      SYNTAX  INTEGER (20..360)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IP multicast forwarding table entry aging period in seconds."
      DEFVAL {120}
      ::= { promL3AddrFwdDataBaseMgmt 15 }

   promL3AddrFwdIPMulticastMaxEntries OBJECT-TYPE
      SYNTAX  INTEGER (1..99999)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The maximum cache entries for IP multicast (Cajun1 1 - 43007, Cajun2 1 - 82174)."
      DEFVAL {15000}
      ::= { promL3AddrFwdDataBaseMgmt 16 }

   promL3AddrFwdIPMulticastActiveEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries in the IP multicast forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 17 }

   promL3AddrFwdIPMulticastAddedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been added to the IP multicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 18 }

   promL3AddrFwdIPMulticastRemovedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been removed from the IP multicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 19 }

   promL3AddrFwdIPMulticastAgedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have aged away in the IP Multicast 
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 20 }

   -- The IPX table attributes

   promL3AddrFwdIPXStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipxEnabled(1),
                 ipxDisabled(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The operational state for the IPX forwarding table.
                 ipxEnabled(1)   - Table forwarding is enabled.
                 ipxDisabled(2)  - Table forwarding is disabled."
      ::= { promL3AddrFwdDataBaseMgmt 21 }

   promL3AddrFwdIPXMode OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipxDA(1),
                 ipxSADA(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The table hashing lookup mode for the IPX forwarding 
              table.
                 ipxDA(1)   - Hash into table using protocol destination address
                              only.
                 ipxSADA(2) - Hash into table using protocol destination and
                              source address only."
      DEFVAL {1}
      ::= { promL3AddrFwdDataBaseMgmt 22 }

   promL3AddrFwdIPXHash OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipx8bit(1),
                 ipx10bit(2),
                 ipx12bit(3)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The hashing lookup key size for the IPX forwarding table.
                 ipx8bit(1)   - 8 bit hash key.
                 ipx10bit(2)  - 10 bit hash key.
                 ipx12bit(3)  - 12 bit hash key."
      DEFVAL {3}
      ::= { promL3AddrFwdDataBaseMgmt 23 }

   promL3AddrFwdIPXAgeStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 ipxAgeEnabled(1),
                 ipxAgeDisabled(2)
              }
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IPX forwarding table entry aging status.
                 ipxAgeEnabled(1)   - Table aging is enabled.
                 ipxAgeDisabled(2)  - Table aging is disabled."
      DEFVAL {1}
      ::= { promL3AddrFwdDataBaseMgmt 24 }

   promL3AddrFwdIPXAgePeriod OBJECT-TYPE
      SYNTAX  INTEGER (20..360)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The IPX forwarding table entry aging period in seconds."
      DEFVAL {120}
      ::= { promL3AddrFwdDataBaseMgmt 25 }

   promL3AddrFwdIPXMaxEntries OBJECT-TYPE
      SYNTAX  INTEGER (1..99999)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The maximum cache entries for IPX (Cajun1 1 - 43007, Cajun2 1 - 82174)."
      DEFVAL {15000}
      ::= { promL3AddrFwdDataBaseMgmt 26 }

   promL3AddrFwdIPXActiveEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries in the IPX forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 27 }

   promL3AddrFwdIPXAddedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been added to the IPX
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 28 }

   promL3AddrFwdIPXRemovedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have been removed from the IPX
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 29 }

   promL3AddrFwdIPXAgedEntries OBJECT-TYPE
      SYNTAX  Counter
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The count of active entries which have aged away in the IPX
              forwarding table."
      ::= { promL3AddrFwdDataBaseMgmt 30 }

   promL3AddrFwdSysMaxEntries OBJECT-TYPE
      SYNTAX  INTEGER (1..999999)
      ACCESS  read-write
      STATUS  mandatory
      DESCRIPTION
              "The maximum number of system forwarding cache entries."
      DEFVAL {130000}
      ::= { promL3AddrFwdDataBaseMgmt 31 }


   -- The forwarding table definition

   promL3AddrFwdCacheTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF PromL3AddrFwdCacheEntry
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
              "A table of L3 address forwarding entries.  The address table is used by the 
              routing function to perform forwarding and filtering decisions.

              Each of the three tables are indexed by the table type, IP unicast, IP multicast
              or IPX." 
      ::= { promL3AddrFwdDataBaseMgmt 32 }

   promL3AddrFwdCacheEntry OBJECT-TYPE
      SYNTAX  PromL3AddrFwdCacheEntry
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
              "A particular address table entry. Each entry is indexed by concatenating
               some, not all, of the variables found in the forwarding entry."
      INDEX   { promL3AddrFwdCacheFabricPortID, promL3AddrFwdCacheTblType, 
                promL3AddrFwdCacheDstAddr, promL3AddrFwdCacheSrcAddr, 
                promL3AddrFwdCacheDstVlanID, promL3AddrFwdCacheSrcVlanID, 
                promL3AddrFwdCacheDstPort, promL3AddrFwdCacheSrcPort, promL3AddrFwdCacheComp }
      ::= { promL3AddrFwdCacheTable 1 }

   PromL3AddrFwdCacheEntry ::=
      SEQUENCE {
         promL3AddrFwdCacheFabricPortID
            INTEGER,
         promL3AddrFwdCacheTblType
            PromL3AddrFwdTblType,
         promL3AddrFwdCacheDstAddr
            IPIPXNetNumber,
         promL3AddrFwdCacheSrcAddr
            IPIPXNetNumber,
         promL3AddrFwdCacheDstVlanID
            INTEGER,
         promL3AddrFwdCacheSrcVlanID
            INTEGER,
         promL3AddrFwdCacheDstPort
            INTEGER,
         promL3AddrFwdCacheSrcPort
            INTEGER,
         promL3AddrFwdCacheComp
            INTEGER,
         promL3AddrFwdCacheNxtHopMac
            MacAddress,
         promL3AddrFwdCacheIPXUse
            INTEGER,
         promL3AddrFwdCacheFormat
            INTEGER,
         promL3AddrFwdCacheTTL
            INTEGER,
         promL3AddrFwdCacheFilter
            INTEGER,
         promL3AddrFwdCachePriority
            INTEGER,
         promL3AddrFwdCachePersistence
            INTEGER,
         promL3AddrFwdCacheStatus
            INTEGER
      }

   promL3AddrFwdCacheFabricPortID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION ""
      ::= { promL3AddrFwdCacheEntry 1 }

   promL3AddrFwdCacheTblType OBJECT-TYPE
      SYNTAX  PromL3AddrFwdTblType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION ""
      ::= { promL3AddrFwdCacheEntry 2 } 

   promL3AddrFwdCacheDstAddr OBJECT-TYPE
      SYNTAX  IPIPXNetNumber
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow protocol host or network address."
      ::= { promL3AddrFwdCacheEntry 3 }

   promL3AddrFwdCacheSrcAddr OBJECT-TYPE
      SYNTAX  IPIPXNetNumber
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow protocol host or network address."
      ::= { promL3AddrFwdCacheEntry 4 }

   promL3AddrFwdCacheDstVlanID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow VLAN ID."
      ::= { promL3AddrFwdCacheEntry 5 }

   promL3AddrFwdCacheSrcVlanID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow VLAN ID."
      ::= { promL3AddrFwdCacheEntry 6 }

   promL3AddrFwdCacheDstPort OBJECT-TYPE
      SYNTAX  INTEGER (0..65535)
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow TCP/UDP port or IPX socket number."
      ::= { promL3AddrFwdCacheEntry 7 }

   promL3AddrFwdCacheSrcPort OBJECT-TYPE
      SYNTAX  INTEGER (0..65535)
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow TCP/UDP port or IPX socket number."
      ::= { promL3AddrFwdCacheEntry 8 }

    promL3AddrFwdCacheComp OBJECT-TYPE
      SYNTAX  INTEGER {
                 da(1),
                 da-sa(2),
                 da-prot(3),
                 da-dp(4),
                 da-sa-prot(5),
                 da-sa-dp-sp(6)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Describes outbound frame format.
                 da(1)             - DA compare.
                 da-sa(2)          - DA and SA compare.
                 da-prot(3)        - DA and protocol type compare.
                 da-dp(4)          - DA and destination port compare.
                 da-sa-prot(5)     - DA and SA and protocol compare.
                 da-sa-dp-sp(6)    - DA and SA and destination and source port compare."
      ::= { promL3AddrFwdCacheEntry 9 }

   promL3AddrFwdCacheNxtHopMac OBJECT-TYPE
      SYNTAX  MacAddress
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound next hop MAC address."
      ::= { promL3AddrFwdCacheEntry 10 }

   promL3AddrFwdCacheIPXUse OBJECT-TYPE
      SYNTAX  INTEGER {
                 usePDUhost(1),
                 useFWDhost(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "USE IPX PDU host address (DNODE) as next hop MAC.
                 usePDUhost(1) - Use the host DNODE address as next hop MAC address.
                 useFWDhost(2) - Use the forwarding entry next hop MAC address as next hop."
      ::= { promL3AddrFwdCacheEntry 11 }

   promL3AddrFwdCacheFormat OBJECT-TYPE
      SYNTAX  INTEGER {
                 etherV2(1),
                 etherIPXDSAP(2),
                 etherSNAP(3),
                 etherIPXRAW(4)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Describes network outbound frame format.
                 etherV2(1)       - Ethernet version 2 - IP and IPX.
                 etherIPXDSAP(2)  - DSAP and SSAP = 0xE0, IPX only. 
                 etherSNAP(3)     - SAP/SNAP - IP and IPX.
                 etherIPXRAW(4)   - DSAP and SSAP = 0xFF, IPX only."
      ::= { promL3AddrFwdCacheEntry 12 }

   promL3AddrFwdCacheTTL OBJECT-TYPE
      SYNTAX  INTEGER {
                 ttl-IGNORE(1),
                 ttl-GT32(2),
                 ttl-GT64(3),
                 ttl-GT128(4)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "IP multicast TTL scope ranges.
                 ttl-IGNORE(1)  - ignore TTL checks for ip multicast. 
                 ttl-GT32(2)    - forward if TTL greater than 32 decimal.
                 ttl-GT64(3)    - forward if TTL greater than 64 decimal.
                 ttl-GT128(4)   - forward if TTL greater than 128 decimal."
      ::= { promL3AddrFwdCacheEntry 13 }

   promL3AddrFwdCacheFilter OBJECT-TYPE
      SYNTAX  INTEGER {
                 filterON(1),
                 filterOFF(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Filter flow(s) based on entry.
                 filterON(1)   - Filter is enabled.
                 filterOFF(2)  - Filter is disabled."
      ::= { promL3AddrFwdCacheEntry 14 }

  promL3AddrFwdCachePriority OBJECT-TYPE
      SYNTAX  INTEGER ( 0..7 )
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Flow priority."
      DEFVAL {0}
      ::= { promL3AddrFwdCacheEntry 15 }

   promL3AddrFwdCachePersistence OBJECT-TYPE
      SYNTAX  INTEGER {
                 invalid(1),
                 permanent(2),
                 deleteOnTimeout(3)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "This object indicates the persistence of this entry:
                   invalid(1) - Writing this value to the object deletes the 
                   entry from the table.

                   permanent(2) -  Address is not aged out. 

                   deleteOnTimeout(3) - Typically, address entries are learned dynamically by
                   the switch.  These entries are aged out of the table if they are not 
                   active on the network."
      ::= { promL3AddrFwdCacheEntry 16 }

   promL3AddrFwdCacheStatus OBJECT-TYPE
      SYNTAX  INTEGER {
                 learned(1),
                 mgmt(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "This object indicates the status of the entry:
                   learned(1) - This entry was learned dynamically.
                   mgmt(2) - This entry was added or modified by management.  Entries
                   that have been added by management and made permanent"
      ::= { promL3AddrFwdCacheEntry 17 }

-- Address Forwarding Static Entry Table

   promL3AddrFwdControlTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF PromL3AddrFwdControlEntry
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
              "A table of L3 address forwarding entries.  The address table is used by the 
              routing function to perform forwarding and filtering decisions.

              Each of the three tables are indexed by the table type, IP unicast, IP multicast
              or IPX." 
      ::= { promL3AddrFwdDataBaseMgmt 33 }

   promL3AddrFwdControlEntry OBJECT-TYPE
      SYNTAX  PromL3AddrFwdControlEntry
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
              "A particular address table entry. Each entry is indexed by concatenating
               some, not all, of the variables found in the forwarding entry."
      INDEX   { promL3AddrFwdControlFabricPortID, promL3AddrFwdControlTblType, 
                promL3AddrFwdControlDstAddr, promL3AddrFwdControlSrcAddr, 
                promL3AddrFwdControlDstVlanID, promL3AddrFwdControlSrcVlanID, 
                promL3AddrFwdControlDstPort, promL3AddrFwdControlSrcPort, promL3AddrFwdControlComp }
      ::= { promL3AddrFwdControlTable 1 }

   PromL3AddrFwdControlEntry ::=
      SEQUENCE {
         promL3AddrFwdControlFabricPortID
            INTEGER,
         promL3AddrFwdControlTblType
            PromL3AddrFwdTblType,
         promL3AddrFwdControlDstAddr
            IPIPXNetNumber,
         promL3AddrFwdControlSrcAddr
            IPIPXNetNumber,
         promL3AddrFwdControlDstVlanID
            INTEGER,
         promL3AddrFwdControlSrcVlanID
            INTEGER,
         promL3AddrFwdControlDstPort
            INTEGER,
         promL3AddrFwdControlSrcPort
            INTEGER,
         promL3AddrFwdControlComp
            INTEGER,
         promL3AddrFwdControlNxtHopMac
            MacAddress,
         promL3AddrFwdControlIPXUse
            INTEGER,
         promL3AddrFwdControlFormat
            INTEGER,
         promL3AddrFwdControlTTL
            INTEGER,
         promL3AddrFwdControlFilter
            INTEGER,
         promL3AddrFwdControlPriority
            INTEGER,
         promL3AddrFwdControlPersistence
            INTEGER
      }

   promL3AddrFwdControlFabricPortID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION ""
      ::= { promL3AddrFwdControlEntry 1 }

   promL3AddrFwdControlTblType OBJECT-TYPE
      SYNTAX  PromL3AddrFwdTblType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION ""
      ::= { promL3AddrFwdControlEntry 2 } 

   promL3AddrFwdControlDstAddr OBJECT-TYPE
      SYNTAX  IPIPXNetNumber
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow protocol host or network address."
      ::= { promL3AddrFwdControlEntry 3 }

   promL3AddrFwdControlSrcAddr OBJECT-TYPE
      SYNTAX  IPIPXNetNumber
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow protocol host or network address."
      ::= { promL3AddrFwdControlEntry 4 }

   promL3AddrFwdControlDstVlanID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow VLAN ID."
      ::= { promL3AddrFwdControlEntry 5 }

   promL3AddrFwdControlSrcVlanID OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow VLAN ID."
      ::= { promL3AddrFwdControlEntry 6 }

   promL3AddrFwdControlDstPort OBJECT-TYPE
      SYNTAX  INTEGER (0..65535)
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound flow TCP/UDP port or IPX socket number."
      ::= { promL3AddrFwdControlEntry 7 }

   promL3AddrFwdControlSrcPort OBJECT-TYPE
      SYNTAX  INTEGER (0..65535)
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The source inbound flow TCP/UDP port or IPX socket number."
      ::= { promL3AddrFwdControlEntry 8 }

    promL3AddrFwdControlComp OBJECT-TYPE
      SYNTAX  INTEGER {
                 da(1),
                 da-sa(2),
                 da-prot(3),
                 da-dp(4),
                 da-sa-prot(5),
                 da-sa-dp-sp(6)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Describes outbound frame format.
                 da(1)             - DA compare.
                 da-sa(2)          - DA and SA compare.
                 da-prot(3)        - DA and protocol type compare.
                 da-dp(4)          - DA and destination port compare.
                 da-sa-prot(5)     - DA and SA and protocol compare.
                 da-sa-dp-sp(6)    - DA and SA and destination and source port compare."
      ::= { promL3AddrFwdControlEntry 9 }

   promL3AddrFwdControlNxtHopMac OBJECT-TYPE
      SYNTAX  MacAddress
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "The destination outbound next hop MAC address."
      ::= { promL3AddrFwdControlEntry 10 }

   promL3AddrFwdControlIPXUse OBJECT-TYPE
      SYNTAX  INTEGER {
                 usePDUhost(1),
                 useFWDhost(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "USE IPX PDU host address (DNODE) as next hop MAC.
                 usePDUhost(1) - Use the host DNODE address as next hop MAC address.
                 useFWDhost(2) - Use the forwarding entry next hop MAC address as next hop."
      ::= { promL3AddrFwdControlEntry 11 }

   promL3AddrFwdControlFormat OBJECT-TYPE
      SYNTAX  INTEGER {
                 etherV2(1),
                 etherIPXDSAP(2),
                 etherSNAP(3),
                 etherIPXRAW(4)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Describes network outbound frame format.
                 etherV2(1)       - Ethernet version 2 - IP and IPX.
                 etherIPXDSAP(2)  - DSAP and SSAP = 0xE0, IPX only. 
                 etherSNAP(3)     - SAP/SNAP - IP and IPX.
                 etherIPXRAW(4)   - DSAP and SSAP = 0xFF, IPX only."
      ::= { promL3AddrFwdControlEntry 12 }

   promL3AddrFwdControlTTL OBJECT-TYPE
      SYNTAX  INTEGER {
                 ttl-IGNORE(1),
                 ttl-GT32(2),
                 ttl-GT64(3),
                 ttl-GT128(4)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "IP multicast TTL scope ranges.
                 ttl-IGNORE(1)  - ignore TTL checks for ip multicast. 
                 ttl-GT32(2)    - forward if TTL greater than 32 decimal.
                 ttl-GT64(3)    - forward if TTL greater than 64 decimal.
                 ttl-GT128(4)   - forward if TTL greater than 128 decimal."
      ::= { promL3AddrFwdControlEntry 13 }

   promL3AddrFwdControlFilter OBJECT-TYPE
      SYNTAX  INTEGER {
                 filterON(1),
                 filterOFF(2)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Filter flow(s) based on entry.
                 filterON(1)   - Filter is enabled.
                 filterOFF(2)  - Filter is disabled."
      ::= { promL3AddrFwdControlEntry 14 }

  promL3AddrFwdControlPriority OBJECT-TYPE
      SYNTAX  INTEGER ( 0..7 )
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "Flow priority."
      DEFVAL {0} 
      ::= { promL3AddrFwdControlEntry 15 }

   promL3AddrFwdControlPersistence OBJECT-TYPE
      SYNTAX  INTEGER {
                 invalid(1),
                 permanent(2),
                 deleteOnTimeout(3)
              }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
              "This object indicates the persistence of this entry:
                   invalid(1) - Writing this value to the object deletes the 
                   entry from the table.

                   permanent(2) -  Address is not aged out. 

                   deleteOnTimeout(3) - Typically, address entries are learned dynamically by
                   the switch.  These entries are aged out of the table if they are not 
                   active on the network."
      ::= { promL3AddrFwdControlEntry 16 }

END
