   FRAMEWORK-PIB PIB-DEFINITIONS ::= BEGIN 
    
   IMPORTS 
       Unsigned32, Integer32, MODULE-IDENTITY, 
       MODULE-COMPLIANCE, OBJECT-TYPE, OBJECT-GROUP, pib 
               FROM COPS-PR-SPPI 
       InstanceId, Prid 
               FROM COPS-PR-SPPI-TC  
       RoleCombination, PrcIdentifier, AttrIdentifier,  
       ClientType, ClientHandle  
               FROM FRAMEWORK-TC-PIB 
       InetAddress, InetAddressType,  
       InetAddressPrefixLength, InetPortNumber 
               FROM INET-ADDRESS-MIB 
       InterfaceIndex 
               FROM IF-MIB 
       DscpOrAny  
               FROM DIFFSERV-DSCP-TC 
       TruthValue, PhysAddress 
               FROM SNMPv2-TC            
       SnmpAdminString 
               FROM SNMP-FRAMEWORK-MIB; 
    
   frameworkPib  MODULE-IDENTITY 
       SUBJECT-CATEGORIES { all } 
       LAST-UPDATED "200201280400Z"            
       ORGANIZATION "IETF RAP WG" 
       CONTACT-INFO " 
                     Michael Fine 
                     Cisco Systems, Inc.  
                     170 West Tasman Drive 
                     San Jose, CA  95134-1706 USA 
                     Phone: +1 408 527 8218 
                     Email: mfine@cisco.com 
    
                     Keith McCloghrie 
                     Cisco Systems, Inc. 
                     170 West Tasman Drive, 
                     San Jose, CA 95134-1706 USA 
                     Phone: +1 408 526 5260 
                     Email: kzm@cisco.com 
    
                     John Seligson 
                     Nortel Networks, Inc. 
                     4401 Great America Parkway 
                     Santa Clara, CA 95054 USA 
                     Phone: +1 408 495 2992 
                     Email: jseligso@nortelnetworks.com" 
    
       DESCRIPTION 
               "A PIB module containing the base set of provisioning  
               classes that are required for support of policies for  
               all subject-categories." 
    
       ::= { pib tbd } -- tbd to be assigned by IANA 
    
    
   -- 
   -- The root OID for PRCs in the Framework PIB 
   -- 
    
   frwkBasePibClasses 
                OBJECT IDENTIFIER ::= { frameworkPib 1 } 
 
   -- 
   -- Textual Conventions 
   -- 
    
   -- 
   -- PRC Support Table 
   -- 
    
   frwkPrcSupportTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkPrcSupportEntry 
       PIB-ACCESS     notify  
       STATUS         current 
       DESCRIPTION 
           "Each instance of this class specifies a PRC that the device 
           supports and a bit string to indicate the attributes of the 
           class that are supported.  These PRIs are sent to the PDP to 
           indicate to the PDP which PRCs, and which attributes of  
           these PRCs, the device supports. This table can also be  
           downloaded by a network manager when static configuration is  
           used. 
    
           All install and install-notify PRCs supported by the device 
           must be represented in this table. Notify PRCs may be  
           represented for informational purposes." 
 
       ::= { frwkBasePibClasses 1 } 
    
    
   frwkPrcSupportEntry OBJECT-TYPE 
       SYNTAX         FrwkPrcSupportEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkPrcSupport class that identifies a 
           specific PRC and associated attributes as supported 
           by the device." 
    
       PIB-INDEX { frwkPrcSupportPrid } 
       UNIQUENESS { frwkPrcSupportSupportedPrc }   
    
       ::= { frwkPrcSupportTable 1 } 
    
   FrwkPrcSupportEntry ::= SEQUENCE { 
           frwkPrcSupportPrid           InstanceId, 
           frwkPrcSupportSupportedPrc   PrcIdentifier, 
           frwkPrcSupportSupportedAttrs OCTET STRING         
   } 
    
    
   frwkPrcSupportPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies an 
           instance of the frwkPrcSupport class." 
    
       ::= { frwkPrcSupportEntry 1 } 
    
    
   frwkPrcSupportSupportedPrc OBJECT-TYPE 
       SYNTAX         PrcIdentifier 
       STATUS         current 
       DESCRIPTION 
           "The object identifier of a supported PRC. The value is the 
           OID of the table entry. There may not be more than one 
           instance of the frwkPrcSupport class with the same value of 
           frwkPrcSupportSupportedPrc." 
    
       ::= { frwkPrcSupportEntry 2 } 
    
    
   frwkPrcSupportSupportedAttrs OBJECT-TYPE 
       SYNTAX         OCTET STRING 
       STATUS         current 
       DESCRIPTION 
           "A bit string representing the supported attributes of the 
           class that is identified by the frwkPrcSupportSupportedPrc 
           object. 
    
           Each bit of this bit string corresponds to a class  
           attribute, with the most significant bit of the i-th octet  
           of this octet string corresponding to the (8*i - 7)-th  
           attribute, and the least significant bit of the i-th octet  
           corresponding to the (8*i)-th class attribute. Each bit   
           specifies whether or not the corresponding class attribute  
           is currently supported, with a '1' indicating support and a  
           '0' indicating no support. If the value of this bit string  
           is N bits long and there are more than N class attributes 
           then the bit string is logically extended with 0's to the  
           required length." 
    
       ::= { frwkPrcSupportEntry 3 } 
    
    
   -- 
   -- PIB Incarnation Table 
   -- 
    
   frwkPibIncarnationTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkPibIncarnationEntry 
       PIB-ACCESS     install-notify  
       STATUS         current 
       DESCRIPTION 
           "This class contains a single provisioning instance per   
           installed context that identifies the current incarnation  
           of the PIB and the PDP or network manager that installed  
           this incarnation.  The instance of this class is reported to  
           the PDP in the REQ message so that the PDP can (attempt to)  
           ascertain the current state of the PIB. A network manager   
           may use the instance to determine the state of the device." 
    
       ::= { frwkBasePibClasses 2 } 
    
   frwkPibIncarnationEntry OBJECT-TYPE 
       SYNTAX         FrwkPibIncarnationEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkPibIncarnation class. Only 
           one instance of this provisioning class is ever  
           instantiated per context" 
    
       PIB-INDEX { frwkPibIncarnationPrid } 
        
    
       ::= { frwkPibIncarnationTable 1 } 
    
   FrwkPibIncarnationEntry ::= SEQUENCE { 
           frwkPibIncarnationPrid                InstanceId, 
           frwkPibIncarnationName                SnmpAdminString, 
           frwkPibIncarnationId                  OCTET STRING, 
           frwkPibIncarnationLongevity           Unsigned32, 
           frwkPibIncarnationTtl                 Unsigned32, 
           frwkPibIncarnationInCtxtSet           TruthValue, 
           frwkPibIncarnationActive              TruthValue, 
           frwkPibIncarnationFullState           TruthValue               
   } 
 
   frwkPibIncarnationPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An index to uniquely identify an instance of this 
           provisioning class." 
    
       ::= { frwkPibIncarnationEntry 1 } 
    
    
   frwkPibIncarnationName OBJECT-TYPE 
       SYNTAX         SnmpAdminString 
       STATUS         current 
       DESCRIPTION 
           "The name of the PDP that installed the current incarnation  
           of the PIB into the device.  By default, it is the zero  
           length string." 
    
       ::= { frwkPibIncarnationEntry 2 } 
    
   frwkPibIncarnationId OBJECT-TYPE 
       SYNTAX         OCTET STRING 
       STATUS         current 
       DESCRIPTION 
           "An ID to identify the current incarnation.  It has meaning 
           to the PDP/manager that installed the PIB and perhaps its 
           standby PDPs/managers. By default, it is the zero-length 
           string." 
    
       ::= { frwkPibIncarnationEntry 3 } 
    
   frwkPibIncarnationLongevity OBJECT-TYPE 
       SYNTAX         Unsigned32 { 
                           expireNever(1), 
                           expireImmediate(2), 
                           expireOnTimeout(3) 
                      } 
       STATUS         current 
       DESCRIPTION 
           "This attribute controls what the PEP does with the 
           downloaded policy on a Client Close message or a loss of 
           connection to the PDP. 
    
           If set to expireNever, the PEP continues to operate with the 
           installed policy indefinitely.  If set to expireImmediate,  
           the PEP immediately expires the policy obtained from the PDP  
           and installs policy from local configuration.  If set to 
           expireOnTimeout, the PEP continues to operate with the 
           policy installed by the PDP for a period of time specified  
           by frwkPibIncarnationTtl.  After this time (and it has not 
           reconnected to the original or new PDP) the PEP expires this 
           policy and reverts to local configuration. 
    
           For all cases, it is the responsibility of the PDP to check 
           the incarnation and download new policy, if necessary, on a 
           reconnect. On receiving a Remove-State [COPS-PR] for the  
           active context, this attribute value MUST be ignored and the  
           PEP should expire the policy in that active context  
           immediately. 
           Policy enforcement timing only applies to policies that have 
           been installed dynamically (e.g., by a PDP via COPS)." 
    
       ::= { frwkPibIncarnationEntry 4 } 
    
   frwkPibIncarnationTtl OBJECT-TYPE 
       SYNTAX         Unsigned32 
       UNITS          "seconds" 
       STATUS         current 
       DESCRIPTION 
           "The number of seconds after a Client Close or TCP timeout 
           for which the PEP continues to enforce the policy in the  
           PIB. After this interval, the PIB is considered expired and 
           the device no longer enforces the policy installed in the 
           PIB. 
    
           This attribute is only meaningful if 
           frwkPibIncarnationLongevity is set to expireOnTimeout." 
    
       ::= { frwkPibIncarnationEntry 5 } 
    
    
   frwkPibIncarnationInCtxtSet OBJECT-TYPE 
        SYNTAX        TruthValue 
       STATUS         current 
       DESCRIPTION    
           "When the PDP installs a PRI with this flag set to 'true' it  
           implies this context belongs to the set of contexts out of  
           which at the most one context can be active at a given time.  
           If this attribute is set to false this context is one of the  
           outsourcing (simultaneous active) contexts on the PEP." 
       ::= { frwkPibIncarnationEntry 6 } 
 
       
   frwkPibIncarnationActive OBJECT-TYPE 
       SYNTAX         TruthValue 
       STATUS         current 
       DESCRIPTION 
           "When the PDP installs a PRI on the PEP with this attribute  
           set to 'true', then the PIB instance to which this PRI  
           belongs must become the active PIB instance if this context  
           belongs to the 'configuration contexts' set. In this case,  
           the previous active instance from this set  MUST become  
           inactive and the frwkPibIncarnationActive attribute in that  
           PIB instance MUST be set to 'false'. 
    
           When the PDP installs an attribute frwkPibIncarnationActive  
           on the PEP  that is 'true' in one PIB instance and if the  
           context belongs to the 'configuration contexts' set, the PEP  
           must ensure, re-setting the attribute if necessary, that the  
           frwkPibIncarnationActive attribute is  'false' in all other  
           contexts which belong to the 'configuration contexts' set." 
    
       ::= { frwkPibIncarnationEntry 7 } 
 
    
    
   frwkPibIncarnationFullState OBJECT-TYPE 
       SYNTAX         TruthValue 
       STATUS         current 
       DESCRIPTION 
           "This attribute is interpreted only when sent in a COPS  
           request message from the PEP to the PDP. It does not have  
           any meaning when sent from the PDP to the PDP.  
 
           If this attribute is set to TRUE by the PEP, then the  
           request that the PEP sends to the PDP must be interpreted as  
           the complete configuration request for the PEP. The PDP must  
           in this case refresh the request information for that  
           handle. If this attribute is set to FALSE, then the request  
           PRIs sent in the request must be interpreted as updates to  
           the previous request PRIs sent for that handle. See section  
           3.3 for details on updating request state information." 
    
       ::= { frwkPibIncarnationEntry 8 } 
    
   -- 
   -- Device Identification Table 
   -- 
    
   -- This table supports the ability to export general 
   -- purpose device information to facilitate efficient 
   -- communication between the device and a PDP 
    
   frwkDeviceIdTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkDeviceIdEntry 
       PIB-ACCESS     notify  
       STATUS         current 
       DESCRIPTION 
           "This class contains a single provisioning instance that 
           contains device-specific information that is used to 
           facilitate efficient policy installation by a PDP. The 
           instance of this class is reported to the PDP in a COPS  
           request message so that the PDP can take into account  
           certain device characteristics during policy installation." 
    
       ::= { frwkBasePibClasses 3 } 
 
    
   frwkDeviceIdEntry OBJECT-TYPE 
       SYNTAX         FrwkDeviceIdEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkDeviceId class. Only one instance of 
           this provisioning class is ever instantiated." 
    
       PIB-INDEX { frwkDeviceIdPrid } 
        
 
       ::= { frwkDeviceIdTable 1 } 
    
   FrwkDeviceIdEntry ::= SEQUENCE { 
           frwkDeviceIdPrid        InstanceId, 
           frwkDeviceIdDescr       SnmpAdminString, 
           frwkDeviceIdMaxMsg      Unsigned32, 
           frwkDeviceIdMaxContexts Unsigned32 
   } 
    
    
   frwkDeviceIdPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An index to uniquely identify an instance of this 
           provisioning class." 
    
       ::= { frwkDeviceIdEntry 1 } 
    
    
   frwkDeviceIdDescr OBJECT-TYPE 
       SYNTAX         SnmpAdminString 
       STATUS         current 
       DESCRIPTION 
           "A textual description of the PEP. This value should include  
           the name and version identification of the PEP's hardware  
           and software." 
    
       ::= { frwkDeviceIdEntry 2 } 
    
    
   frwkDeviceIdMaxMsg OBJECT-TYPE 
       SYNTAX         Unsigned32 
       UNITS          "octets" 
       STATUS         current 
       DESCRIPTION 
           "The maximum message size, in octets, that the device 
           is capable of processing. Received messages with a 
           size in excess of this value must cause the PEP to return an 
           error to the PDP containing the global error code 
           'maxMsgSizeExceeded'. This is an additional error-avoidance 
           mechanism to allow the administrator to have the ability to 
           control the message size of messages sent to the device. The 
           device should send the MAX value for Unsigned32 for  
           this attribute if it not defined." 
            
       ::= { frwkDeviceIdEntry 3 } 
    
    
   frwkDeviceIdMaxContexts OBJECT-TYPE 
      SYNTAX         Unsigned32 
      UNITS          "contexts" 
      STATUS         current 
      DESCRIPTION 
          "The maximum number of unique contexts supported by 
           the device. This is an additional error-avoidance mechanism  
           to allow the administrators to have the ability to control  
           the number of contexts installed on the device. The 
           device should send the MAX value for Unsigned32 for  
           this attribute if it not defined." 
    
      ::= { frwkDeviceIdEntry 4 } 
    
   -- 
   -- Component Limitations Table 
   -- 
    
   -- This table supports the ability to export information 
   -- detailing provisioning class/attribute implementation limitations 
   -- to the policy management system. Instances of this PRC apply only 
   -- for PRCs with access type 'install' or 'install-notify'. 
    
   frwkCompLimitsTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkCompLimitsEntry 
       PIB-ACCESS     notify  
       STATUS         current 
       DESCRIPTION 
           "Each instance of this class identifies a provisioning class  
           or attribute and a limitation related to the implementation  
           of the class/attribute in the device. Additional information 
           providing guidance related to the limitation may also be 
           present. These PRIs are sent to the PDP to indicate which 
           PRCs or PRC attributes the device supports in a restricted 
           manner." 
    
       ::= { frwkBasePibClasses 4 } 
    
   frwkCompLimitsEntry OBJECT-TYPE 
       SYNTAX         FrwkCompLimitsEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkCompLimits class that identifies 
           a PRC or PRC attribute and a limitation related to the PRC 
           or PRC attribute implementation supported by the device. 
           [COPS-PR] lists the error codes that MUST be returned (if  
           applicable)for policy installation that don't abide by the  
           restrictions indicated by the limitations exported. [SPPI]  
           defines an INSTALL-ERRORS clause that allows PIB designers  
           to define PRC specific error codes that can be returned for  
           policy installation. This allows efficient debugging of PIB  
           implementations." 
    
       PIB-INDEX { frwkCompLimitsPrid } 
       UNIQUENESS { frwkCompLimitsComponent, 
                    frwkCompLimitsAttrPos, 
                    frwkCompLimitsNegation, 
                    frwkCompLimitsType, 
                    frwkCompLimitsSubType, 
                    frwkCompLimitsGuidance }  
    
       ::= { frwkCompLimitsTable 1 } 
    
   FrwkCompLimitsEntry ::= SEQUENCE { 
           frwkCompLimitsPrid           InstanceId, 
           frwkCompLimitsComponent      PrcIdentifier, 
           frwkCompLimitsAttrPos        AttrIdentifier, 
           frwkCompLimitsNegation       TruthValue, 
           frwkCompLimitsType           Unsigned32, 
           frwkCompLimitsSubType        Unsigned32, 
           frwkCompLimitsGuidance       OCTET STRING 
   } 
    
   frwkCompLimitsPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies an 
           instance of the frwkCompLimits class." 
    
       ::= { frwkCompLimitsEntry 1 } 
    
    
   frwkCompLimitsComponent OBJECT-TYPE 
       SYNTAX         PrcIdentifier 
       STATUS         current 
       DESCRIPTION 
           "The value is the OID of a PRC (the table entry) which is 
           supported in some limited fashion or contains an attribute 
           that is supported in some limited fashion with regard to 
           it's definition in the associated PIB module. The same OID 
           may appear in the table several times, once for each 
           implementation limitation acknowledged by the device." 
    
       ::= { frwkCompLimitsEntry 2 } 
    
    
   frwkCompLimitsAttrPos OBJECT-TYPE 
       SYNTAX         AttrIdentifier 
       STATUS         current 
       DESCRIPTION 
           "The relative position of the attribute within the PRC 
           specified by the frwkCompLimitsComponent. A value of 1 would 
           represent the first columnar object in the PRC and a value 
           of N would represent the Nth columnar object in the PRC. A 
           NULL value indicates that the limit applies to the PRC 
           itself and not to a specific attribute." 
    
       ::= { frwkCompLimitsEntry 3 } 
 
    
   frwkCompLimitsNegation OBJECT-TYPE 
       SYNTAX        TruthValue 
       STATUS        current 
       DESCRIPTION 
            "A boolean value ,if TRUE, negates the component limit 
            exported." 
    
       ::= { frwkCompLimitsEntry 4 } 
    
    
   frwkCompLimitsType OBJECT-TYPE 
       SYNTAX    Unsigned32 { 
                              priSpaceLimited(1), 
                              attrValueSupLimited(2), 
                              attrEnumSupLimited(3), 
                              attrLengthLimited(4), 
                              prcLimitedNotify(5) 
                             } 
       STATUS   current 
       DESCRIPTION 
           "A value describing an implementation limitation for the 
           device related to the PRC or PRC attribute identified by 
           the frwkCompLimitsComponent and the frwkCompLimitsAttrPos  
           attributes in this class instance. 
    
           Values for this object are one of the following: 
                  
           priSpaceLimited(1) - No more instances than that specified  
           by the guidance value may be installed in the given class.  
           The component identified MUST be a valid PRC. The SubType  
           used MUST be valueOnly(9). 
    
           attrValueSupLimited(2) - Limited values are acceptable for  
           the identified component. The component identified MUST be a  
           valid PRC attribute. The guidance OCTET STRING will be  
           decoded according to the attribute type. 
    
           attrEnumSupLimited(3) - Limited enumeration values are legal  
           for the identified component. The attribute identified MUST  
           be a valid enum type. 
        
           attrLengthLimited(4) - The length of the specified  
           value for the identified component is limited. The component  
           identified MUST be a valid PRC attribute of base-type OCTET  
           STRING. 
    
           prcLimitedNotify (5) - The component is currently limited  
           for use by request or report messages prohibiting decision  
           installation. The component identified must be a valid PRC." 
 
       ::= { frwkCompLimitsEntry 5 } 
    
    
      frwkCompLimitsSubType OBJECT-TYPE 
       SYNTAX         Unsigned32 { 
                                   none(1), 
                                   lengthMin(2), 
                                   lengthMax(3), 
                                   rangeMin(4), 
                                   rangeMax(5), 
                                   enumMin(6), 
                                   enumMax(7), 
                                   enumOnly(8), 
                                   valueOnly(9), 
                                   bitMask(10) 
                                  } 
       STATUS         current 
       DESCRIPTION 
           "This object indicates the type of guidance related 
           to the noted limitation (as indicated by the 
           frwkCompLimitsType attribute) that is provided 
           in the frwkCompLimitsGuidance attribute. 
     
           A value of 'none(1)' means that no additional 
           guidance is provided for the noted limitation type. 
    
           A value of 'lengthMin(2)' means that the guidance 
           attribute provides data related to the minimum 
           acceptable length for the value of the identified 
           component. A corresponding class instance 
           specifying the 'lengthMax(3)' value is required 
           in conjunction with this sub-type. 
    
           A value of 'lengthMax(3)' means that the guidance 
           attribute provides data related to the maximum 
           acceptable length for the value of the identified 
           component. A corresponding class instance 
           specifying the 'lengthMin(2)' value is required 
           in conjunction with this sub-type. 
    
           A value of 'rangeMin(4)' means that the guidance 
           attribute provides data related to the lower bound 
           of the range for the value of the identified 
           component. A corresponding class instance 
           specifying the 'rangeMax(5)' value is required 
           in conjunction with this sub-type. 
    
           A value of 'rangeMax(5)' means that the guidance 
           attribute provides data related to the upper bound 
           of the range for the value of the identified 
           component. A corresponding class instance 
           specifying the 'rangeMin(4)' value is required 
           in conjunction with this sub-type. 
    
           A value of 'enumMin(6)' means that the guidance 
           attribute provides data related to the lowest 
           enumeration acceptable for the value of the  
           identified component. A corresponding  
           class instance specifying the 'enumMax(7)'  
           value is required in conjunction with this sub-type. 
    
           A value of 'enumMax(7)' means that the guidance 
           attribute provides data related to the largest 
           enumeration acceptable for the value of the  
           identified component. A corresponding  
           class instance specifying the 'enumMin(6)'  
           value is required in conjunction with this sub-type. 
    
           A value of 'enumOnly(8)' means that the guidance 
           attribute provides data related to a single
           enumeration acceptable for the value of the  
           identified component.  
    
           A value of 'valueOnly(9)' means that the guidance 
           attribute provides data related to a single 
           value that is acceptable for the identified  
           component.  
            
           A value of 'bitMask(10)' means that the guidance 
           attribute is a bit mask such that all the combinations of  
           bits set in the bitmask are acceptable values for the  
           identified component which should be an attribute of type  
           'BITS'.  
    
           For example, an implementation of the frwkIpFilter class may 
           be limited in several ways, such as address mask, protocol 
           and Layer 4 port options. These limitations could be 
           exported using this table with the following instances: 
    
           Component        Type                 Sub-Type   Guidance 
           ------------------------------------------------------------ 
           DstPrefixLength  attrValueSupLimited  valueOnly   24 
           SrcPrefixLength  attrValueSupLimited  valueOnly   24 
           Protocol         attrValueSupLimited  rangeMin    10 
           Protocol         attrValueSupLimited  rangeMax    20 
                    
           The above entries describe a number of limitations that 
           may be in effect for the frwkIpFilter class on a given  
           device. The limitations include restrictions on acceptable  
           values for certain attributes. 
    
           Also, an implementation of a PRC may be limited in the ways 
           it can be accessed. For instance, for a fictitious PRC  
           dscpMapEntry, which has a PIB-ACCESS of 'install-notify': 
    
           Component    Type              SubType  Guidance 
           ------------------------------------------------------------ 
           dscpMapEntry prcLimitedNotify  none     zero-length string."  
    
          ::= { frwkCompLimitsEntry 6 } 
      
    frwkCompLimitsGuidance OBJECT-TYPE 
          SYNTAX         OCTET STRING 
          STATUS         current 
          DESCRIPTION 
              "A value used to convey additional information related 
              to the implementation limitation. Note that a guidance  
              value will not necessarily be provided for all exported  
              limitations. If a guidance value is not provided, the  
              value must be a zero-length string. 
 
              The format of the guidance value, if one is present as 
              indicated by the frwkCompLimitsSubType attribute, 
              is described by the following table. Note that the 
              type of guidance value is dictated by the type of the 
              component whose limitation is being exported, interpreted  
              in the context of the frwkCompLimitsType and  
              frwkCompLimitsSubType values. 
    
              Note that numbers are encoded in network byte order. 
    
              Base Type              Value 
              ---------              ----- 
              Unsigned32/Integer32   32-bit value. 
              Unsigned64/Integer64   64-bit Value. 
              OCTET STRING           octets of data. 
              OID                    32-bit OID components. 
              BITS                   Binary octets of length same as  
                                     Component specified." 
 
          ::= { frwkCompLimitsEntry 7 } 
    
 
 
 
   -- 
   -- Complete Reference specification table 
   -- 
    
   frwkReferenceTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkReferenceEntry 
       PIB-ACCESS     install-notify  
       STATUS         current 
       DESCRIPTION 
           "Each instance of this class specifies a reference to a PRI  
           in a specific PIB context (handle) for a specific client- 
           type." 
 
       ::= { frwkBasePibClasses 5 } 
    
    
    
   frwkReferenceEntry OBJECT-TYPE 
       SYNTAX         FrwkReferenceEntry 
       STATUS         current 
       DESCRIPTION 
           "Entry specification for the frwkReferenceTable." 
    
       PIB-INDEX { frwkReferencePrid } 
       UNIQUENESS { }   
    
       ::= { frwkReferenceTable 1 } 
    
    
   FrwkReferenceEntry ::= SEQUENCE { 
           frwkReferencePrid           InstanceId, 
           frwkReferenceClientType     ClientType, 
           frwkReferenceClientHandle   ClientHandle, 
           frwkReferenceInstance       Prid 
   } 
    
   frwkReferencePrid  OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies an 
           instance of the frwkReference class." 
    
       ::= { frwkReferenceEntry 1 } 
    
    
   frwkReferenceClientType OBJECT-TYPE 
       SYNTAX         ClientType 
       STATUS         current 
       DESCRIPTION 
           "Is unused if set to zero else specifies a client-type for  
            which the reference is to be interpreted. This non-zero  
            client-type must be activated explicitly via a separate  
            COPS client-open else this attribute is not valid." 
    
       ::= { frwkReferenceEntry 2 } 
    
    
   frwkReferenceClientHandle OBJECT-TYPE 
       SYNTAX         ClientHandle 
       STATUS         current 
       DESCRIPTION 
           "Must be set to specify a valid client-handle in the scope  
           of the client-type specified." 
    
       ::= { frwkReferenceEntry 3 } 
 
 
 
 
   frwkReferenceInstance OBJECT-TYPE 
       SYNTAX         Prid 
       STATUS         current 
       DESCRIPTION 
           "References a PRI in the context identified by  
            frwkReferenceClientHandle for client-type identified by  
            frwkReferenceClientType." 
    
       ::= { frwkReferenceEntry 4 } 
    
   -- 
   -- Error specification table 
   -- 
    
   frwkErrorTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkErrorEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "Each instance of this class specifies a class specific  
           error object. Instances of this table are transient." 
 
       ::= { frwkBasePibClasses 6 } 
    
    
   frwkErrorEntry OBJECT-TYPE 
       SYNTAX         FrwkErrorEntry 
       STATUS         current 
       DESCRIPTION 
           "Entry specification for the frwkErrorTable." 
    
       PIB-INDEX { frwkErrorPrid } 
       UNIQUENESS { }   
    
       ::= { frwkErrorTable 1 } 
    
    
   FrwkErrorEntry ::= SEQUENCE { 
           frwkErrorPrid        InstanceId, 
           frwkErrorCode        Unsigned32, 
           frwkErrorSubCode     Unsigned32, 
           frwkErrorPrc         PrcIdentifier, 
           frwkErrorInstance    InstanceId 
   } 
    
   frwkErrorPrid  OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies an 
           instance of the frwkError class." 
    
       ::= { frwkErrorEntry 1 } 
    
   frwkErrorCode OBJECT-TYPE 
       SYNTAX         Unsigned32 (0..65535) 
       STATUS         current 
       DESCRIPTION 
           "Error code defined in [COPS-PR] CPERR object." 
    
       ::= { frwkErrorEntry 2 } 
    
    
   frwkErrorSubCode OBJECT-TYPE 
       SYNTAX         Unsigned32 (0..65535) 
       STATUS         current 
       DESCRIPTION 
           "The class-specific error object is used to communicate   
           errors relating to specific PRCs." 
    
       ::= { frwkErrorEntry 3 } 
 
 
   frwkErrorPrc OBJECT-TYPE 
       SYNTAX         PrcIdentifier 
       STATUS         current 
       DESCRIPTION 
           "The PRC due to which the error specified by codes  
           (frwkErrorCode , frwkErrorSubCode) occurred." 
    
       ::= { frwkErrorEntry 4 } 
    
    
   frwkErrorInstance OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "The PRI of the identified PRC (frwkErrorPrc) due to which  
           the error specified by codes (frwkErrorCode ,  
           frwkErrorSubCode) occurred. Must be set to zero if unused." 
    
       ::= { frwkErrorEntry 5 } 
    
 
   -- 
   -- The device interface capabilities and role combo classes group 
   -- 
    
   frwkDeviceCapClasses  
               OBJECT IDENTIFIER ::= { frameworkPib 2 } 
    
    
    
    
    
    
   -- 
   -- Interface Capability Set Table 
   -- 
    
   frwkIfCapSetTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkIfCapSetEntry 
       PIB-ACCESS     notify  
       STATUS         current 
       DESCRIPTION 
           "This class describes the  interfaces that exist on the 
           device. Associated with each interface is a set of 
           capabilities. The capability set is given a unique name that 
           identifies the interface type. These capabilities are used 
           by the PDP to determine policy information to be associated 
           with interfaces of this type." 
    
       ::= { frwkDeviceCapClasses 1 } 
    
   frwkIfCapSetEntry OBJECT-TYPE 
       SYNTAX         FrwkIfCapSetEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of this class describes the characteristics 
           of a type of an interface." 
    
       PIB-INDEX { frwkIfCapSetPrid } 
       UNIQUENESS { frwkIfCapSetName, 
                    frwkIfCapSetCapability }  
    
       ::= { frwkIfCapSetTable 1 } 
 
    
   FrwkIfCapSetEntry ::= SEQUENCE { 
           frwkIfCapSetPrid           InstanceId, 
           frwkIfCapSetName           SnmpAdminString, 
           frwkIfCapSetCapability     Prid 
   } 
    
    
   frwkIfCapSetPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies a 
           instance of the class." 
    
       ::= { frwkIfCapSetEntry 1 } 
    
    
   frwkIfCapSetName OBJECT-TYPE 
       SYNTAX         SnmpAdminString 
       STATUS         current 
       DESCRIPTION 
           "The name for the capability set.  The capability set name 
           is the unique identifier of an interface type." 
    
       ::= { frwkIfCapSetEntry 2 } 
    
   frwkIfCapSetCapability OBJECT-TYPE 
       SYNTAX      Prid 
       STATUS      current 
       DESCRIPTION 
           "The complete PRC OID and instance identifier specifying the    
           capability PRC instance for the interface." 
    
       ::= { frwkIfCapSetEntry 3 } 
    
    
    
   -- 
   -- Interface and Role Combination Tables 
   -- 
    
   frwkRoleComboTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkRoleComboEntry 
       PIB-ACCESS     install-notify  
       STATUS         current 
       DESCRIPTION 
           "This is an abstract PRC that may be extended or referenced  
           to enumerate the role combinations, capability set names   
           assigned to any interface on a PEP. The identification of  
           the interface is to be defined by its extensions or  
           referencing PRCs." 
    
       ::= { frwkDeviceCapClasses 2 } 
 
    
   frwkRoleComboEntry OBJECT-TYPE 
       SYNTAX         FrwkRoleComboEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of this class describes one association of an  
           interface to a role-combination and capability set name .  
           Note that an interface can have multiple associations. This  
           constraint is controlled by the extending or referencing  
           PRC's uniqueness clause." 
    
       PIB-INDEX { frwkRoleComboPrid } 
       UNIQUENESS { }  
        
       ::= { frwkRoleComboTable 1 } 
    
    
    
   FrwkRoleComboEntry ::= SEQUENCE { 
           frwkRoleComboPrid         InstanceId, 
           frwkRoleComboRoles        RoleCombination, 
           frwkRoleComboCapSetName   SnmpAdminString 
   } 
    
 
   frwkRoleComboPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An arbitrary integer index that uniquely identifies an 
           instance of the class." 
    
       ::= { frwkRoleComboEntry 1 } 
    
 
   frwkRoleComboRoles OBJECT-TYPE 
       SYNTAX         RoleCombination 
       STATUS         current 
       DESCRIPTION 
           "The role combination assigned to a specific interface." 
    
       ::= { frwkRoleComboEntry 2 } 
 
   frwkRoleComboCapSetName OBJECT-TYPE 
       SYNTAX         SnmpAdminString 
       STATUS         current 
       DESCRIPTION 
           "The name of the interface capability set associated with  
           the Role Combination specified in frwkRoleComboRoles.   
           This name must exist in frwkIfCapSetTable." 
    
       ::= { frwkRoleComboEntry 3 } 
    
    
   -- 
   -- Interface, Role Combinatrion association via IfIndex 
   -- 
    
   frwkIfRoleComboTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkIfRoleComboEntry 
       PIB-ACCESS     install-notify  
       STATUS         current 
       DESCRIPTION 
           "This table enumerates the interface to role combination and  
           IfCapSetName mapping for all policy managed interfaces of a  
           device. Policy for an interface depends not only on the  
           capability set of an interface but also on its roles.  This 
           table specifies all the <interface index, interface  
           capability set name, role combination> tuples currently on  
           the device" 
    
       ::= { frwkDeviceCapClasses 3 } 
 
    
   frwkIfRoleComboEntry OBJECT-TYPE 
       SYNTAX         FrwkIfRoleComboEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of this class describes the association of  
           a interface to an IfCapSetName and a role combination.  
           Note that a IfCapSetName can have multiple role combinations  
           assigned to it, but an IfIndex can have only one role  
           combination associated." 
    
       EXTENDS { frwkRoleComboEntry } 
       UNIQUENESS { frwkIfRoleComboIfIndex, 
                    frwkRoleComboCapSetName   }  
        
       ::= { frwkIfRoleComboTable 1 } 
    
    

   FrwkIfRoleComboEntry ::= SEQUENCE { 
           frwkIfRoleComboIfIndex      InterfaceIndex 
   } 
    
 
    
    
   frwkIfRoleComboIfIndex OBJECT-TYPE 
       SYNTAX         InterfaceIndex 
       STATUS         current 
       DESCRIPTION 
           "The ifIndex value for which this conceptual row provides 
           policy information via the use of role combination." 
    
       ::= { frwkIfRoleComboEntry 1 } 
    
    
 
    
   -- 
   -- The Classification classes group 
   -- 
    
   frwkClassifierClasses 
              OBJECT IDENTIFIER ::= { frameworkPib 3 } 
   -- 
   -- The Base Filter Table 
   -- 
    
   frwkBaseFilterTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkBaseFilterEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "The Base Filter class.  A packet has to match all  
           fields in an Filter.  Wildcards may be specified for those  
           fields that are not relevant." 
    
   ::= { frwkClassifierClasses 1 } 
    
    
   frwkBaseFilterEntry OBJECT-TYPE 
       SYNTAX         FrwkBaseFilterEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkBaseFilter class." 
    
       PIB-INDEX { frwkBaseFilterPrid } 
 
       ::= { frwkBaseFilterTable 1 } 
    
   FrwkBaseFilterEntry ::= SEQUENCE { 
           frwkBaseFilterPrid         InstanceId, 
           frwkBaseFilterNegation     TruthValue 
   } 
    
    
   frwkBaseFilterPrid OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An integer index to uniquely identify this Filter among all   
           the Filters." 
    
       ::= { frwkBaseFilterEntry 1 } 
    
    
   frwkBaseFilterNegation OBJECT-TYPE 
       SYNTAX         TruthValue 
       STATUS         current 
       DESCRIPTION 
           "This attribute behaves like a logical NOT for the filter. 
           If the packet matches this filter and the value of this 
           attribute is true, the action associated with this filter 
           is not applied to the packet.  If the value of this 
           attribute is false, then the action is applied to the 
           packet." 
    
       ::= { frwkBaseFilterEntry 2 } 
    
    
   -- 
   -- The IP Filter Table 
   -- 
    
   frwkIpFilterTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkIpFilterEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "Filter definitions.  A packet has to match all fields in a 
           filter.  Wildcards may be specified for those fields that  
           are not relevant." 
    
       INSTALL-ERRORS { 
           invalidDstL4PortData(1), 
           invalidSrcL4PortData(2) 
           } 
       ::= { frwkClassifierClasses 2 } 
    
   frwkIpFilterEntry OBJECT-TYPE 
       SYNTAX         FrwkIpFilterEntry 
       STATUS         current 
       DESCRIPTION 
           "An instance of the frwkIpFilter class." 
    
       EXTENDS { frwkBaseFilterEntry } 
       UNIQUENESS { frwkBaseFilterNegation, 
                    frwkIpFilterAddrType, 
                    frwkIpFilterDstAddr, 
                    frwkIpFilterDstPrefixLength, 
                    frwkIpFilterSrcAddr, 
                    frwkIpFilterSrcPrefixLength, 
                    frwkIpFilterDscp, 
                    frwkIpFilterFlowId, 
                    frwkIpFilterProtocol, 
                    frwkIpFilterDstL4PortMin, 
                    frwkIpFilterDstL4PortMax, 
                    frwkIpFilterSrcL4PortMin, 
                    frwkIpFilterSrcL4PortMax }  
    
       ::= { frwkIpFilterTable 1 } 
    
    
    
   FrwkIpFilterEntry ::= SEQUENCE { 
           frwkIpFilterAddrType         InetAddressType, 
           frwkIpFilterDstAddr          InetAddress,  
           frwkIpFilterDstPrefixLength  InetAddressPrefixLength, 
           frwkIpFilterSrcAddr          InetAddress,  
           frwkIpFilterSrcPrefixLength  InetAddressPrefixLength, 
           frwkIpFilterDscp             DscpOrAny, 
           frwkIpFilterFlowId           Unsigned32, 
           frwkIpFilterProtocol         Integer32, 
           frwkIpFilterDstL4PortMin     InetPortNumber, 
           frwkIpFilterDstL4PortMax     InetPortNumber, 
           frwkIpFilterSrcL4PortMin     InetPortNumber, 
           frwkIpFilterSrcL4PortMax     InetPortNumber 
   } 
    
   frwkIpFilterAddrType OBJECT-TYPE 
    
       SYNTAX         InetAddressType 
       STATUS         current 
       DESCRIPTION 
           "The address type enumeration value [INETADDR] to specify  
            the type of the packet's IP address." 
    
       ::= { frwkIpFilterEntry 1 } 
    
   frwkIpFilterDstAddr OBJECT-TYPE 
    
       SYNTAX         InetAddress 
       STATUS         current 
       DESCRIPTION 
           "The IP address [INETADDR] to match against the packet's  
            destination IP address. frwkIpFilterDstPrefixLength  
            indicates the number of bits that are relevant. " 
    
       ::= { frwkIpFilterEntry 2 } 
    
    
   frwkIpFilterDstPrefixLength OBJECT-TYPE 
       SYNTAX         InetAddressPrefixLength  
       STATUS         current 
       DESCRIPTION 
           "The length of a mask for the matching of the destination   
            IP address.  Masks are constructed by setting bits in  
            sequence from the most-significant bit downwards for  
            frwkIpFilterDstPrefixLength bits length. All other bits in  
            the mask, up to the  number needed to fill the length of  
            the address frwkIpFilterDstAddr are cleared to zero. A zero  
            bit in the mask then means that the corresponding bit in  
            the address always matches." 
    
       ::= { frwkIpFilterEntry 3 } 
    
    
    
   frwkIpFilterSrcAddr OBJECT-TYPE 
       SYNTAX         InetAddress 
       STATUS         current 
       DESCRIPTION 
           "The IP address to match against the packet's source IP 
           address. frwkIpFilterSrcPrefixLength indicates the 
          number of bits that are relevant. " 
    
       ::= { frwkIpFilterEntry 4 } 
 
   frwkIpFilterSrcPrefixLength OBJECT-TYPE 
       SYNTAX         InetAddressPrefixLength  
       UNITS          "bits" 
       STATUS         current 
       DESCRIPTION 
           "The length of a mask for the matching of the source IP  
            address. Masks are constructed by setting bits in sequence  
            from the most-significant bit downwards for   
            frwkIpFilterSrcPrefixLength bits length. All other bits in  
            the mask, up to the  number needed to fill the length of  
            the address frwkIpFilterSrcAddr are cleared to zero.  A  
            zero bit in the mask then means that the corresponding bit  
            in the address always matches." 
    
       ::= { frwkIpFilterEntry 5 } 
    
   frwkIpFilterDscp OBJECT-TYPE 
       SYNTAX         DscpOrAny      
       STATUS         current 
       DESCRIPTION 
           "The value that the DSCP in the packet can have and 
            match this filter. A value of -1 indicates that a specific 
            DSCP value has not been defined and thus all DSCP values 
            are considered a match." 
    
       ::= { frwkIpFilterEntry 6 } 
    
   frwkIpFilterFlowId OBJECT-TYPE 
       SYNTAX         Unsigned32 (0..1048575) 
       STATUS         current 
       DESCRIPTION 
          "The flow identifier in an IPv6 header." 
       ::= { frwkIpFilterEntry 7 } 
    
   frwkIpFilterProtocol OBJECT-TYPE 
       SYNTAX         Integer32 (-1 | 0..255) 
       STATUS         current 
       DESCRIPTION 
           "The IP protocol to match against the packet's protocol. 
           A value of -1 means match all." 
    
       ::= { frwkIpFilterEntry 8 } 
    
   frwkIpFilterDstL4PortMin OBJECT-TYPE 
       SYNTAX         InetPortNumber 
       STATUS         current 
       DESCRIPTION 
           "The minimum value that the packet's layer 4 destination 
           port number can have and match this filter. This value must  
           be equal to or lesser that the value specified for this  
           filter in frwkIpFilterDstL4PortMax." 
    
       ::= { frwkIpFilterEntry 9 } 
    
    
   frwkIpFilterDstL4PortMax OBJECT-TYPE 
       SYNTAX         InetPortNumber 
       STATUS         current 
       DESCRIPTION 
           "The maximum value that the packet's layer 4 destination 
           port number can have and match this filter. This value must  
           be equal to or greater that the value specified for this  
           filter in frwkIpFilterDstL4PortMin." 
    
       ::= { frwkIpFilterEntry 10 } 
    
    
   frwkIpFilterSrcL4PortMin OBJECT-TYPE 
       SYNTAX         InetPortNumber  
       STATUS         current 
       DESCRIPTION 
           "The minimum value that the packet's layer 4 source port 
           number can have and match this filter. This value must  
           be equal to or lesser that the value specified for this  
           filter in frwkIpFilterSrcL4PortMax." 
    
       ::= { frwkIpFilterEntry 11 } 
    
    
   frwkIpFilterSrcL4PortMax OBJECT-TYPE 
       SYNTAX         InetPortNumber  
       STATUS         current 
       DESCRIPTION 
           "The maximum value that the packet's layer 4 source port 
           number can have and match this filter.  This value must be  
           equal to or greater that the value specified for this filter  
           in frwkIpFilterSrcL4PortMin." 
    
       ::= { frwkIpFilterEntry 12 } 
    
    
    
   -- 
   -- The IEEE 802 Filter Table 
   -- 
    
   -- The IEEE 802 Filter Table supports the specification of IEEE 
   -- 802-based [802] (e.g., 802.3) information that is used to perform 
   -- traffic classification. 
   -- 
    
   frwk802FilterTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF Frwk802FilterEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "IEEE 802-based filter definitions. A class that contains 
           attributes of IEEE 802 (e.g., 802.3) traffic that form 
           filters that are used to perform traffic classification." 
    
       ::= { frwkClassifierClasses 3 } 
    
    
   frwk802FilterEntry OBJECT-TYPE 
       SYNTAX         Frwk802FilterEntry 
       STATUS         current 
       DESCRIPTION 
           "IEEE 802-based filter definitions.  An entry specifies 
           (potentially) several distinct matching components. Each 
           component is tested against the data in a frame 
           individually. An overall match occurs when all of the 
           individual components match the data they are compared 
           against in the frame being processed. A failure of any 
           one test causes the overall match to fail. 
    
           Wildcards may be specified for those fields that are not 
           relevant." 
    
       EXTENDS { frwkBaseFilterEntry } 
       UNIQUENESS { frwkBaseFilterNegation, 
                    frwk802FilterDstAddr, 
                    frwk802FilterDstAddrMask, 
                    frwk802FilterSrcAddr, 
                    frwk802FilterSrcAddrMask, 
                    frwk802FilterVlanId, 
                    frwk802FilterVlanTagRequired, 
                    frwk802FilterEtherType, 
                    frwk802FilterUserPriority }  
    
       ::= { frwk802FilterTable 1 } 
    
    
    
   Frwk802FilterEntry ::= SEQUENCE { 
           frwk802FilterDstAddr         PhysAddress, 
           frwk802FilterDstAddrMask     PhysAddress, 
           frwk802FilterSrcAddr         PhysAddress, 
           frwk802FilterSrcAddrMask     PhysAddress, 
           frwk802FilterVlanId          Integer32, 
           frwk802FilterVlanTagRequired Unsigned32, 
           frwk802FilterEtherType       Integer32, 
           frwk802FilterUserPriority    BITS  
   } 
    
   frwk802FilterDstAddr OBJECT-TYPE 
       SYNTAX         PhysAddress 
       STATUS         current 
    
       DESCRIPTION 
           "The 802 address against which the 802 DA of incoming  
           traffic streams will be compared. Frames whose 802 DA  
           matches the physical address specified by this object,  
           taking into account address wildcarding as specified by the  
           frwk802FilterDstAddrMask object, are potentially subject to  
           the processing guidelines that are associated with this  
           entry through the related action class." 
    
       ::= { frwk802FilterEntry 1 } 
    
    
   frwk802FilterDstAddrMask OBJECT-TYPE 
       SYNTAX         PhysAddress 
       STATUS         current 
       DESCRIPTION 
           "This object specifies the bits in a 802 destination address 
           that should be considered when performing a 802 DA  
           comparison against the address specified in the  
           frwk802FilterDstAddr object. 
    
           The value of this object represents a mask that is logically 
           and'ed with the 802 DA in received frames to derive the  
           value to be compared against the frwk802FilterDstAddr  
           address. A zero bit in the mask thus means that the  
           corresponding bit in the address always matches. The  
           frwk802FilterDstAddr value must also be masked using this  
           value prior to any comparisons. 
    
           The length of this object in octets must equal the length in 
           octets of the frwk802FilterDstAddr. Note that a mask with no  
           bits set (i.e., all zeroes) effectively wildcards the 
           frwk802FilterDstAddr object." 
    
       ::= { frwk802FilterEntry 2 } 
    
    
   frwk802FilterSrcAddr OBJECT-TYPE 
       SYNTAX         PhysAddress 
       STATUS         current 
       DESCRIPTION 
           "The 802 MAC address against which the 802 MAC SA of  
           incoming traffic streams will be compared. Frames whose 802  
           MAC SA matches the physical address specified by this  
           object, taking into account address wildcarding as specified  
           by the frwk802FilterSrcAddrMask object, are potentially  
           subject to the processing guidelines that are associated  
           with this entry through the related action class." 
    
       ::= { frwk802FilterEntry 3 } 
    
   frwk802FilterSrcAddrMask OBJECT-TYPE 
       SYNTAX         PhysAddress 
       STATUS         current 
       DESCRIPTION 
           "This object specifies the bits in a 802 MAC source address 
           that should be considered when performing a 802 MAC SA 
           comparison against the address specified in the 
           frwk802FilterSrcAddr object. 
    
           The value of this object represents a mask that is logically 
           and'ed with the 802 MAC SA in received frames to derive the 
           value to be compared against the frwk802FilterSrcAddr  
           address. A zero bit in the mask thus means that the  
           corresponding bit in the address always matches. The  
           frwk802FilterSrcAddr value must also be masked using this  
           value prior to any comparisons. 
    
           The length of this object in octets must equal the length in 
           octets of the frwk802FilterSrcAddr. Note that a mask with no  
           bits set (i.e., all zeroes) effectively wildcards the 
           frwk802FilterSrcAddr object." 
    
       ::= { frwk802FilterEntry 4 } 
    
   frwk802FilterVlanId OBJECT-TYPE 
       SYNTAX         Integer32 (-1 | 1..4094) 
       STATUS         current 
       DESCRIPTION 
           "The VLAN ID (VID) that uniquely identifies a VLAN 
           within the device. This VLAN may be known or unknown 
           (i.e., traffic associated with this VID has not yet 
           been seen by the device) at the time this entry 
           is instantiated. 
    
           Setting the frwk802FilterVlanId object to -1 indicates that 
           VLAN data should not be considered during traffic 
           classification." 
    
       ::= { frwk802FilterEntry 5 } 
    
   frwk802FilterVlanTagRequired OBJECT-TYPE 
       SYNTAX         Unsigned32 { 
                          taggedOnly(1), 
                          priorityTaggedPlus(2), 
                          untaggedOnly(3), 
                          ignoreTag(4) 
                      } 
       STATUS         current 
       DESCRIPTION 
           "This object indicates whether the presence of an 
           IEEE 802.1Q VLAN tag in data link layer frames must 
           be considered when determining if a given frame 
           matches this 802 filter entry. 
    
           A value of 'taggedOnly(1)' means that only frames 
           containing a VLAN tag with a non-Null VID (i.e., a 
           VID in the range 1..4094) will be considered a match. 
    
           A value of 'priorityTaggedPlus(2)' means that only 
           frames containing a VLAN tag, regardless of the value 
           of the VID, will be considered a match. 
    
           A value of 'untaggedOnly(3)' indicates that only 
           untagged frames will match this filter component. 
    
           The presence of a VLAN tag is not taken into 
           consideration in terms of a match if the value is 
           'ignoreTag(4)'." 
    
       ::= { frwk802FilterEntry 6 } 
    
    
   frwk802FilterEtherType OBJECT-TYPE 
       SYNTAX         Integer32 (-1 | 0..'ffff'h) 
       STATUS         current 
       DESCRIPTION 
           "This object specifies the value that will be compared 
           against the value contained in the EtherType field of an 
           IEEE 802 frame. Example settings would include 'IP' 
           (0x0800), 'ARP' (0x0806) and 'IPX' (0x8137). 
    
           Setting the frwk802FilterEtherTypeMin object to -1 indicates 
           that EtherType data should not be considered during traffic 
           classification. 
    
           Note that the position of the EtherType field depends on 
           the underlying frame format. For Ethernet-II encapsulation, 
           the EtherType field follows the 802 MAC source address. For 
           802.2 LLC/SNAP encapsulation, the EtherType value follows  
           the Organization Code field in the 802.2 SNAP header. The  
           value that is tested with regard to this filter component  
           therefore depends on the data link layer frame format being  
           used. If this 802 filter component is active when there is  
           no EtherType field in a frame (e.g., 802.2 LLC), a match is  
           implied." 
    
       ::= { frwk802FilterEntry 7 } 
    
    
   frwk802FilterUserPriority OBJECT-TYPE 
       SYNTAX         BITS { 
                           matchPriority0(0), 
                           matchPriority1(1), 
                           matchPriority2(2), 
                           matchPriority3(3), 
                           matchPriority4(4), 
                           matchPriority5(5), 
                           matchPriority6(6), 
                           matchPriority7(7)  
                      } 
       STATUS         current 
       DESCRIPTION 
           "The set of values, representing the potential range 
           of user priority values, against which the value contained 
           in the user priority field of a tagged 802.1 frame is 
           compared. A test for equality is performed when determining 
           if a match exists between the data in a data link layer 
           frame and the value of this 802 filter component. Multiple 
           values may be set at one time such that potentially several 
           different user priority values may match this 802 filter 
           component. 
           
           Setting all of the bits that are associated with this 
           object causes all user priority values to match this 
           attribute. This essentially makes any comparisons 
           with regard to user priority values unnecessary. Untagged 
           frames are treated as an implicit match." 
    
       ::= { frwk802FilterEntry 8 } 
    
   -- 
   -- The Internal label filter extension 
   -- 
    
   frwkILabelFilterTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkILabelFilterEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "Internal label filter Table. This PRC is used to achieve   
            classification based on the internal flow label set by the  
            PEP possibly after ingress classification to avoid  
            re-classification at the egress interface on the same PEP." 
    
       ::= { frwkClassifierClasses 4 } 
    
   frwkILabelFilterEntry OBJECT-TYPE 
       SYNTAX         FrwkILabelFilterEntry 
       STATUS         current 
       DESCRIPTION 
           "Internal label filter entry definition." 
    
       EXTENDS { frwkBaseFilterEntry } 
       UNIQUENESS { frwkBaseFilterNegation, 
                    frwkILabelFilterILabel } 
    
       ::= { frwkILabelFilterTable 1 } 
    
    
   FrwkILabelFilterEntry ::= SEQUENCE { 
      frwkILabelFilterILabel      OCTET STRING  
   } 
    
   frwkILabelFilterILabel      OBJECT-TYPE 
       SYNTAX       OCTET STRING 
       STATUS       current 
       DESCRIPTION 
          "The Label that this flow uses for differentiating traffic  
           flows.  The flow labeling is meant for network device 
          internal usage. A value of zero length string matches all  
          internal labels." 
       ::= { frwkILabelFilterEntry 1 } 
    
    
    
   -- 
   -- The Marker classes group 
   -- 
    
   frwkMarkerClasses 
              OBJECT IDENTIFIER ::= { frameworkPib 4 } 
   -- 
   -- The 802 Marker Table 
   -- 
    
   frwk802MarkerTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF Frwk802MarkerEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "The 802 Marker class. An 802 packet can be marked with the  
            specified VLAN id, priority level." 
    
   ::= { frwkMarkerClasses 1 } 
    
    
    
    
   frwk802MarkerEntry OBJECT-TYPE 
       SYNTAX         Frwk802MarkerEntry 
       STATUS         current 
       DESCRIPTION 
           "frwk802Marker entry definition." 
    
       PIB-INDEX { frwk802MarkerPrid } 
       UNIQUENESS { frwk802MarkerVlanId, 
                    frwk802MarkerPriority } 
 
       ::= { frwk802MarkerTable 1 } 
    
   Frwk802MarkerEntry::= SEQUENCE { 
           frwk802MarkerPrid          InstanceId, 
           frwk802MarkerVlanId        Unsigned32, 
           frwk802MarkerPriority      Unsigned32 
   } 
    
    
   frwk802MarkerPrid  OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An integer index to uniquely identify this 802 Marker." 
    
       ::= { frwk802MarkerEntry 1 } 
    
    
   frwk802MarkerVlanId  OBJECT-TYPE 
       SYNTAX         Unsigned32 (1..4094) 
       STATUS         current 
       DESCRIPTION 
           "The VLAN ID (VID) that uniquely identifies a VLAN within  
            the device." 
    
       ::= { frwk802MarkerEntry 2 } 
    
   frwk802MarkerPriority  OBJECT-TYPE 
       SYNTAX         Unsigned32 (0..7) 
       STATUS         current 
       DESCRIPTION 
           "The user priority field of a tagged 802.1 frame." 
    
       ::= { frwk802MarkerEntry 3 } 
    
    
    
   -- 
   -- The Internal Label Marker Table 
   -- 
    
   frwkILabelMarkerTable OBJECT-TYPE 
       SYNTAX         SEQUENCE OF FrwkILabelMarkerEntry 
       PIB-ACCESS     install  
       STATUS         current 
       DESCRIPTION 
           "The Internal Label Marker class. A flow in a PEP can be  
           marked with an internal label using this PRC." 
    
   ::= { frwkMarkerClasses 2 } 
    
    
   frwkILabelMarkerEntry OBJECT-TYPE 
       SYNTAX         FrwkILabelMarkerEntry 
       STATUS         current 
       DESCRIPTION 
           "frwkILabelkMarker entry definition." 
    
       PIB-INDEX { frwkILabelMarkerPrid } 
       UNIQUENESS { frwkILabelMarkerILabel } 
 
       ::= { frwkILabelMarkerEntry 1 } 
    
   FrwkILabelMarkerEntry::= SEQUENCE { 
           frwkILabelMarkerPrid          InstanceId, 
           frwkILabelMarkerILabel        OCTET STRING 
   } 
 
    
   frwkILabelMarkerPrid  OBJECT-TYPE 
       SYNTAX         InstanceId 
       STATUS         current 
       DESCRIPTION 
           "An integer index to uniquely identify this Label Marker." 
    
       ::= { frwkILabelMarkerEntry 1 } 
    
    
   frwkILabelMarkerILabel  OBJECT-TYPE 
       SYNTAX         OCTET STRING 
       STATUS         current 
       DESCRIPTION 
           "This internal label is implementation specific and may be  
            used for other policy related functions like flow  
            accounting purposes and/or other data path treatments." 
    
       ::= { frwkILabelMarkerEntry 2 } 
    
    
    
   -- 
   -- Conformance Section 
   -- 
    
   frwkBasePibConformance 
                   OBJECT IDENTIFIER ::= { frameworkPib 4 } 
    
   frwkBasePibCompliances 
                   OBJECT IDENTIFIER ::= { frwkBasePibConformance 1 } 
    
   frwkBasePibGroups 
                   OBJECT IDENTIFIER ::= { frwkBasePibConformance 2 } 
    
    
   frwkBasePibCompliance MODULE-COMPLIANCE 
       STATUS  current 
       DESCRIPTION 
               "Describes the requirements for conformance to the 
               Framework PIB." 
    
       MODULE  -- this module 
           MANDATORY-GROUPS { frwkPrcSupportGroup, 
                              frwkPibIncarnationGroup, 
                              frwkDeviceIdGroup, 
                              frwkCompLimitsGroup,  
                              frwkIfCapSetGroup, 
                              frwkRoleComboGroup, 
                              frwkIfRoleComboGroup } 
    
           OBJECT          frwkPibIncarnationLongevity 
           PIB-MIN-ACCESS  notify 
           DESCRIPTION     "Install support is not required." 
    
           OBJECT          frwkPibIncarnationTtl 
           PIB-MIN-ACCESS  notify 
           DESCRIPTION     "Install support is not required." 
    
           OBJECT          frwkPibIncarnationInCtxtSet 
           PIB-MIN-ACCESS  notify 
           DESCRIPTION     "Install support is not required." 
    
    
           OBJECT          frwkPibIncarnationFullState 
           PIB-MIN-ACCESS  notify 
           DESCRIPTION     "Install support is not required." 
    
       GROUP   frwkReferenceGroup 
           DESCRIPTION  
               "The frwkReferenceGroup is mandatory if referencing  
               across PIB contexts for specific client-types is  
               supported." 
    
       GROUP   frwkErrorGroup 
           DESCRIPTION  
               "The frwkErrorGroup is mandatory sending errors in  
                decisions is required." 
    
       GROUP   frwkBaseFilterGroup 
           DESCRIPTION 
               "The frwkBaseFilterGroup is mandatory if filtering 
                based on traffic components is supported." 
    
       GROUP   frwkIpFilterGroup 
           DESCRIPTION 
               "The frwkIpFilterGroup is mandatory if filtering 
                based on IP traffic components is supported." 
    
       GROUP   frwk802FilterGroup 
           DESCRIPTION 
               "The frwk802FilterGroup is mandatory if filtering 
               based on 802 traffic criteria is supported." 
    
       GROUP   frwkILabelFilterGroup 
           DESCRIPTION  
               "The frwkILabelFilterGroup is mandatory if filtering 
               based on PEP internal label is supported." 
    
       GROUP   frwk802MarkerGroup 
           DESCRIPTION 
               "The frwk802MarkerGroup is mandatory if marking a packet 
               with 802 traffic criteria is supported." 
    
       GROUP   frwkILabelMarkerGroup 
           DESCRIPTION 
               "The frwkILabelMarkerGroup is mandatory if marking a  
               flow with internal labels is supported." 
    
       ::= { frwkBasePibCompliances 1 } 
    
   frwkPrcSupportGroup OBJECT-GROUP 
       OBJECTS { 
                frwkPrcSupportSupportedPrc, 
                frwkPrcSupportSupportedAttrs } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkPrcSupportTable." 
    
       ::= { frwkBasePibGroups 1 } 
    
    
   frwkPibIncarnationGroup OBJECT-GROUP 
       OBJECTS { 
                frwkPibIncarnationName, 
                frwkPibIncarnationId, 
                frwkPibIncarnationLongevity, 
                frwkPibIncarnationTtl, 
                frwkPibIncarnationActive,  
                frwkPibIncarnationFullState 
               } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkDevicePibIncarnationTable." 
    
       ::= { frwkBasePibGroups 2 } 
    
   frwkDeviceIdGroup OBJECT-GROUP 
       OBJECTS { 
                frwkDeviceIdDescr, 
                frwkDeviceIdMaxMsg, 
                frwkDeviceIdMaxContexts } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkDeviceIdTable." 
    
       ::= { frwkBasePibGroups 3 } 
    
   frwkCompLimitsGroup OBJECT-GROUP 
       OBJECTS { 
                frwkCompLimitsComponent, 
                frwkCompLimitsAttrPos, 
                frwkCompLimitsNegation, 
                frwkCompLimitsType, 
                frwkCompLimitsSubType, 
                frwkCompLimitsGuidance } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkCompLimitsTable." 
    
       ::= { frwkBasePibGroups 4 } 
    
   frwkReferenceGroup OBJECT-GROUP 
       OBJECTS { 
                frwkReferenceClientType,  
                frwkReferenceClientHandle,  
                frwkReferencePrid, } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkReferenceTable." 
    
       ::= { frwkBasePibGroups 5 } 
    
   frwkErrorGroup OBJECT-GROUP 
       OBJECTS { 
                frwkErrorCode,  
                frwkErrorSubCode,  
                frwkErrorPrc, 
                frwkErrorInstance } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkErrorTable." 
    
       ::= { frwkBasePibGroups 6 } 
    
    
   frwkIfCapSetGroup OBJECT-GROUP 
       OBJECTS { 
                frwkIfCapSetName, 
                frwkIfCapSetCapability } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkIfCapSetTable." 
    
       ::= { frwkBasePibGroups 7 } 
    
    
   frwkRoleComboGroup OBJECT-GROUP 
       OBJECTS { 
                frwkRoleComboRoles, 
                frwkRoleComboCapSetName } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkRoleComboTable." 
    
       ::= { frwkBasePibGroups 8 } 
    
    
   frwkIfRoleComboGroup OBJECT-GROUP 
       OBJECTS { 
   frwkIfRoleComboIfIndex } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkIfRoleComboTable." 
    
       ::= { frwkBasePibGroups 9 } 
    
    
   frwkBaseFilterGroup OBJECT-GROUP 
       OBJECTS { 
                frwkBaseFilterNegation } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkBaseFilterTable." 
    
       ::= { frwkBasePibGroups 10 } 
    
    
   frwkIpFilterGroup OBJECT-GROUP 
       OBJECTS { 
                frwkIpFilterAddrType, 
                frwkIpFilterDstAddr, 
                frwkIpFilterDstPrefixLength,  
                frwkIpFilterSrcAddr,  
                frwkIpFilterSrcPrefixLength, 
                frwkIpFilterDscp, 
                frwkIpFilterFlowId 
                frwkIpFilterProtocol, 
                frwkIpFilterDstL4PortMin, 
                frwkIpFilterDstL4PortMax, 
                frwkIpFilterSrcL4PortMin, 
                frwkIpFilterSrcL4PortMax } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkIpFilterTable." 
    
       ::= { frwkBasePibGroups 11 } 
    
   frwk802FilterGroup OBJECT-GROUP 
       OBJECTS { 
                frwk802FilterDstAddr, 
                frwk802FilterDstAddrMask, 
                frwk802FilterSrcAddr, 
                frwk802FilterSrcAddrMask, 
                frwk802FilterVlanId, 
                frwk802FilterVlanTagRequired, 
                frwk802FilterEtherType, 
                frwk802FilterUserPriority } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwk802FilterTable." 
    
       ::= { frwkBasePibGroups 12 } 
    
   frwkILabelFilterGroup OBJECT-GROUP 
       OBJECTS { 
                FrwkILabelFilterILabel } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkILabelFilterTable." 
    
       ::= { frwkBasePibGroups 13 } 
    
   frwk802MarkerGroup OBJECT-GROUP 
       OBJECTS { 
                frwk802MarkerVlanId, 
                frwk802MarkerPriority } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwk802MarkerTable." 
    
       ::= { frwkBasePibGroups 14 } 
    
   frwkILabelMarkerGroup OBJECT-GROUP 
       OBJECTS { 
                FrwkILabelMarkerILabel } 
       STATUS  current 
       DESCRIPTION 
               "Objects from the frwkILabelMarkerTable." 
    
       ::= { frwkBasePibGroups 15 } 
    
   END 
